Creator of Streaks and Full-Time Indie iOS Dev: A Top Dev Interview With Quentin Zervaas
Check out our interview with full-time indie iOS developer Quentin Zervaas: the creator of Streaks, and Apple App Design Award winner! By Adam Rush.
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Contents
Creator of Streaks and Full-Time Indie iOS Dev: A Top Dev Interview With Quentin Zervaas
15 mins
Streaks
I am such a fan of the Streaks app. Can you tell me the story and how it all began?
I realized there were a few specific things I needed to do each and every day in running my business. I wanted a repeating todo list just for a handful of tasks. I was kind of inspired by the activity graph on GitHub and wanted to make it kind of work like that. In other words, the more often you did something, the better it would look.
One of the huge advantages app developers have over anybody else who “has an app idea” is that we can build it. I build a ton of prototypes for things I think may be useful. With Streaks, I built the prototype, and it was useful, so incrementally improved it, until we realized there was a product and then refined the vision further and turned it into a real app.
You recently won an Apple design award. Can you explain the design process for the Streaks app?
One of the key things in the front of mind with Streaks is restraint. Does that new feature really need to be added? The second thing is simplicity: is there an easier way to achieve this? Is there a clearer way to explain this to the user?
Also, since it’s available in 25+ languages, sometimes you really need to think about how to explain something with as few words as possible, since some of those long German words just won’t fit no matter how hard you try.
Streaks is a very successful app. What advice do you have for fellow app developers?
I heard something recently about what they do at Amazon (I’m not sure if this is true, but I like the idea of it). Before a new product is released, the product manager needs to write a press release explaining why the project ultimately failed.
It forces you to think about and face head-on whatever the biggest problem is with the project. If it’s insurmountable, that’s a pretty good indicator to move on to the next thing. It’s one step ahead of “fail fast”!
As far as specifics go: make your app available to as many people in your target audience as possible. Translate your apps into as many relevant languages as possible. Test for accessibility (VoiceOver). Build an Apple Watch app.
Try and use as many new SDKs and APIs as possible. One of the things that will help Indies on the App Store more than most other things is being featured by Apple. Give them a reason to feature you!
I think it’s successful because;
- It works
- It looks nice
- It feels good to use.
The number of times I’ve found myself running up and the down the hallway at 11 pm just because I have to get a few hundred more steps to complete my Streaks!
Also, people love to customize things. Since you can create any task, we wanted a ton of images to choose from and also dark themes are popular now since people use their devices while in bed at night, so we added dark themes.
Streaks is a really personal app for everybody who uses it since it’s about forming their own habits, so we wanted to let people make it their own.
Streaks is a paid app, can you explain the thought process for a paid app model versus a subscription model or an in-app purchase model?
I try to price apps based on how I want to buy other apps. I like the idea of pay once, get the full app. There are obviously problems with this model, as it can be hard to build a sustainable income.
For Streaks though, neither IAPs nor subscriptions felt right. We also didn’t want it to be too cheap; users will give something much more of a chance if they’ve invested money into it. If Streaks was free, people wouldn’t be as successful with it since they likely wouldn’t try as hard.
Focus
As well as building Streaks, you also currently run the CocoaHeads Adelaide. Why did you decide to run a CocoaHeads chapter, and how do you manage to find time contributing alongside running as an indie developer?
I’m based in Adelaide, Australia – there are a number of app developers based here, but there’s no regular meet up. There have been a few attempts in the past, so figured it was time to make something more regular.
It’s a fairly small group currently, and they’re all supportive and reliable with attendance and spreading the word, so the biggest challenge each time is finding a speaker. Not a lot of time is required currently, but hopefully, it will grow in the next year and then perhaps ask me again! :]
How do you manage the wearing of multiple hats, for example, Product Owner, Developer, Tester, Marketeer?
You just need to know what you’re capable of. If you’re not, get somebody who is capable. Also, there’s a ton of online services to help with things. I used to roll everything myself (for example, server monitoring). Now it’s a much better use of time to spend a few dollars on a third-party service.
For example, I use I Can Localize for translations rather than trying to translate everything myself (or retaining my own translators), I use GitHub to host git repositories. I could run my own server with Gitlab and do it that way, but that’s a distraction. I could write my own server monitoring code, but I use a service that specializes in it. Sometimes it’s fine to not reinvent the wheel.
Procrastination is a real problem for many indie developers. How do you avoid this?
At the start of each week (and each day) I try to get a sense of what I need to achieve. If I’m really overwhelmed or have a ton of things to do, I’ll plan the day ahead, allocating blocks of time to specific projects. Without doing this you can easily spend all of your days on the one thing that really excites you, rather than that other thing you really need to get done.
I normally run over on the allocated chunks of time, but then I readjust them, but it seems to work.
Don’t get distracted by the fun of starting new projects: try to actually ship stuff. This can be pretty hard, so do it in manageable chunks. Your version 1 doesn’t need all the bells and whistles. Maybe just 1 bell and 1 whistle to begin with ;]
Even if the project fails and doesn’t go anywhere, you will have learned something for the next thing.