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.

Leave a rating/review
Save for later
Share

Contents

Hide contents

Creator of Streaks and Full-Time Indie iOS Dev: A Top Dev Interview With Quentin Zervaas

15 mins

Welcome to another installment of our Top App Dev Interview series!

Each interview in this series focuses on a successful mobile app or developer and the path they took to get where they are today. Today’s special guest is Quentin Zervaas.

Quentin is one of the few indie developers still left standing in our community. He’s also an Apple Design Award winner, which is something we all aspire to. So, we’re really keen to hear how he’s found success as a full-time indie iOS app developer.

Quentin is the Founder and creator of the Streaks app and is a hot developer in Australia running CocoaHeads Adelaide.

Indie Developer

Going full-time indie developer can be a struggle for many developers. Can you tell me how you became successful as a full-time indie developer?

It is hard. I’ve actually been self-employed for most of my professional career. It actually began while I was doing some freelancing out of hours, then the company I was working for shut down. I didn’t actively make the decision to quit a full-time steady income, so I can imagine that would be extremely difficult for most people.

To become successful is really just a matter of persistence: you keep trying things, many will fail, eventually, some things succeed. These things won’t last forever either, then it’s on to the next thing.

The best piece of advice somebody gave me while I was working on something that was going quite well: “This won’t be your last business”. He was right.

You should always be on the lookout for new opportunities. Starting new things doesn’t necessarily mean abandoning current things. You’ll know when the time is right. I have a bunch of prototype apps I build – ideas or potential businesses I explore while working on my main apps. Most of them go nowhere. It’s just a matter of trying and failing.

Can you tell me what a typical day looks like for you?

  • 6:30: Wake up
  • 6:30 – 7:00: Read Twitter / Email / Hacker News
  • 7:00: Drive to the office
  • 7:30 – 5:00: Jump between lots of different projects. Mostly depending on what is pressing or what I’m motivated to work on. This changes often though, depending on what comes up.

In the evening I try to detach from it all, but this doesn’t really work – I often keep an eye on emails & Twitter. Which is maybe a bit sad, but I like it!

I work in an office away from home. I’ve worked from home in the past, but I personally don’t really like it, as it’s hard to detach yourself from “non-work”. I wake up pretty early, mainly to beat traffic.

Quentin’s current workspace.

What I’m working on really changes depending on the time of year. For instance, right now I’m getting my app updates ready for iOS 11 and adding new features using new iOS 11 features. This results in a lot of coding, a lot of uploading builds to TestFlight, handling feedback from testers.

Since I try and translate my apps into as many languages as possible, I spend a lot of time managing the translations and localisations in the app. This involves dealing with translation services, testing in foreign languages, all that kind of stuff.

On that note your app supports many languages. Can you tell me how you localized the app and how you thoroughly tested this?

I use a service called I Can Localize to actually translate the text. You can pretty much just upload your Localizable.strings file, it’ll import all of the strings, then assign them to translators. Once complete, you can download a separate Localizable.string file for each language. I have a workflow where I can automate downloading and merging the translations back into my projects.

Quentin uses Fastlane to automate his screenshot process.

I highly recommend translating apps as much as possible. One of the great things about doing so is that it forces you to think about the structure and design of your app early on. For me, adding a new sentence to 25 languages can be quite expensive, so my first thought would be “is there an easier way to explain this”, such as making the functionality more obvious, or using an image instead of text to explain things.

The translation service provides a review service, since some strings may not make sense in a given context. For this, I upload screenshots.

The best thing you can do to test your translations is to use the iOS UI testing along with Fastlane’s Snapshot. Once set up, I can generate a screenshot for every screen, device, and language and then review them myself for layout issues, or upload them for the translators to review. If you have 20 screens, 5 devices (e.g. iPhone X, 8 Plus, 8, SE, iPad), 25 languages, this could be thousands of screenshots, so you need to automate this. Plus you can generate your iTunes Connect screenshots, then automate their upload with Fastlane’s Deliver.

What tools do you use for your day to day business?

  • XcodeBuild your iOS / watchOS / tvOS apps
  • Visual Studio EditorGeneral purpose text editor
  • Photoshop/SketchI do most of my graphics editing here, but there are things I’m unable to do well. For example, I find foreign language support (such as Arabic or Thai) is really difficult to do, or even things like using SVG files.
  • TweetbotWe get a ton of a customer feedback and interaction for our apps on Twitter
  • FastMailThis is a great email service if you’re trying to avoid Gmail
  • I Can Localize/Google TranslateExcellent translation service
  • PhpStormFor building web sites / APIs / backend services
  • FastlaneTools like Snapshot and Deliver are huge time savers for building screenshots and interacting with iTunes Connect.
  • CocoaPodsExternal open-source libraries that easily integrate with your Xcode projects

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.

Quentin is always creating prototypes!

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.