Welcome to another installment of our Top App Dev Interview series. Each interview in this series focuses on a successful mobile app or game developer and the path they took to get where they are today. Today’s special guest is Marco Arment.
Marco is a prolific technologist, technology writer and podcaster. He is best known for being lead developer and CTO of Tumblr, the sole creator of Instapaper and most recently the sole creator of Overcast, his popular podcast app for iOS.
Marco, you’re known for more than one successful project. What criteria do you use when coming up with ideas for projects or businesses?
There’s no reliable method to coming up with successful new projects — I have far more failures and abandoned projects than successes. The only way I know to increase my odds of finding success is to try more ideas.
Knowing when to move on is a tricky balance that I still haven’t mastered, but a good rule is to move on once you’re no longer motivated or able to do great work for a project.
You’re a prolific writer, podcaster and developer. What helps you prioritize what to do and what not to do?
I’m also a father and a lazy procrastinator, so my schedule is all over the place, and I don’t balance the time demands of my projects very well. (Most notably, I’ve barely written anything recently.)
I work in erratic bursts. I’ll accomplish relatively little for maybe a week, then have an incredible marathon in which I accomplish a week’s worth of work in a few hours. In reality, this is how I’ve always worked, even when employed full-time in regular jobs — I just tried to hide it, and my bosses seemed happy enough with the results of the productive bursts to overlook my useless periods.
Nobody should take time-management advice from me. I work this way because it’s the only way I can, not because it’s a good idea. If you have a better work ethic, use it.
If you want to tackle something completely new that you’ve never done before (for example implementing the “Smart Speed” and “Voice Boost” features in Overcast), how do you go about it?
I often have crazy ideas like those, and I usually just build basic implementations to see if they’re any good, then try using them myself for a while. I’ve always taken a just-build-it approach to design and feature experimentation (rather than formal prototyping or image mockups).
Most of these ideas never see the light of day — not even to beta testers — either because I couldn’t get them to work well, or more often, because they end up being terrible ideas.
But occasionally, they end up being awesome, making it all worth it. This experimentation is by far my favorite part of development. One or two of these crazy ideas can define a product or set it apart from the competition for years.
You’re much more than a developer. You’re also your own product manager, project manager and businessman. How did you develop the non-technical skills you have now?
In today’s hyper-competitive market for people’s attention, every independent developer needs all of those skills, plus more. You can make a fantastic app, technically, but if there are big flaws in its design, marketing, or business model, you won’t get far.
I developed my relatively minimal skills in these areas over time the same way I developed most of my technical skills: out of necessity, at the last minute, while stumbling through, trying to gain as much wisdom as possible from more experienced people along the way.
I’ve been lucky to work with or near many people much smarter than me, from whom I’ve drawn incalculable value. And I practically live in my RSS reader (Remember those? Not dead!), voraciously reading blog posts from people in these fields for over a decade.
For the most part it seems like you are a one-man operation. What do you outsource and what do you keep in-house?
I outsource most icon design, since I’m generally terrible at it, and I hire an accountant for taxes. That’s it.
I’ve outsourced support before, but it’s very difficult to do well, and it’s hard to justify at App Store price levels. So, somewhat controversially, I currently don’t offer technical support and I don’t respond to most email. I set expectations accordingly in the app, and almost everyone is completely fine with that. The percentage of angry people now seems about the same (maybe lower!) than when I had expensive support staff.
What are some of the biggest mistakes to avoid as an indie developer?
By far, the biggest mistake I see indies make is having unrealistic expectations of how much the market will value what they’re making, assuming they can indulge themselves in months or years of fancy construction and consumers will pay for it.
It’s easy to look at successful, painstakingly crafted, impeccably designed apps from well-known developers like Panic or Omni and attribute their success to their craftsmanship, design, and delightful details. Far too many developers believe that if they polish an app to a similar level, they’ll be successful, too. And then they pour months or years of effort into an app that, more often than not, never takes off and can’t sustain that level of effort.
These high-profile success stories didn’t become successful because they invested tons of time or had world-class designs — they became successful because they solved common needs, that people were willing to pay good money for, in areas with relatively little competition. In short, they fit well and were well-timed in the market.
The craftsmanship and design were indulgent luxuries that their successful market fits enabled them to do, not the other way around. Most people buy these apps because they’re useful and necessary, not because they’re pretty.
It’s not enough to make something fancy — it needs to have sufficient value to the market first, which can then fund the fancy design and technical extravagance you want to do if it takes off.
In the past you’ve talked about design being about “how it works”, not just “how it looks” (like Steve Jobs used to say). What apps, other than your own, do you use that also take on this philosophy?
I love little delightful details and features. I’m always looking at apps for these, but I’ve found that looking into the world of other well-designed and luxury products is far more inspirational, since they’ve been doing it for much longer and are usually much better at it.
Cars are a great source, full of automated features, luxurious accents, lighting techniques, and control affordances. You don’t even need to go high-end to see them — a Honda Accord has more little niceties than most apps.
I’ve also recently gotten into mechanical watches, another solid source of delightful details. For instance, I recently learned that some manually-wound watches, upon running out of power, will stop the second hand at zero every time to make it easier to set them when they’re next used.
That’s exactly the kind of delightful little detail that I love: some potentially tricky engineering to achieve something that most people won’t even notice, but that makes the product nicer for everyone, and will really impress and delight the few that do notice it.
Who do you look up to? Who do you consider a success, either in our industry or otherwise?
I try to absorb as much wisdom as possible from people who do similar work, but in different ways or in different markets than me, like Brent Simmons, David Smith, Jason Snell, John Gruber, and CGP Grey.
I also look outside my immediate industry for potentially useful knowledge and wisdom — always finding tons — from people like David Karp, Seth Godin, Howard Stern, Trey Anastasio, and the late George Carlin.
What would you say to folks who want to make a living like you do?
Break the common assumption that you can painstakingly hand-craft one amazing app and make a full-time living exclusively from that app for years. That’s extremely rare, it’s not what I do, and I don’t think I can even name anyone who does that anymore.
Recognize that indie development is flooded with competition. This isn’t to discourage anyone from entering it, but should be considered when deciding what to do (and not do): keep your costs as low as possible, and get ideas to market quickly before assuming they’ll be successful. If they are, *then* invest more time. If not, move on and try something else. It’s hard to give up on an idea that you think is great, but when the market speaks, listen to it.
And as much as possible, diversify your income. Make multiple apps. Consulting is always a good option that can help fund other development. If you can write or podcast, do that, too. Not only can those bring in extra income, but they can build an audience to help promote your apps or consulting, no matter how big or small the audience is. It doesn’t take a huge audience to make a difference in an App Store full of undifferentiated alternatives.
Finally, don’t listen too much to me or any other single person. All I know is what worked for me, which won’t exactly work for anyone else because you can’t turn back time. Absorb as much as you can from a diverse pool of people. There’s tons of great wisdom out there if you look and listen.
Where to go from here?
And that concludes our Top App Dev Interview with Marco Arment. A huge thanks to Marco for sharing his journey with the iOS community :]
We hope you enjoyed this interview and that you take Marco’s advice to heart when it comes to becoming an indie app developer. In the end, working towards a successful app in the App Store takes more than good programming and good design.
There are also other things to consider such as building an audience, marketing and finding the right product-market fit. The good news is that these are all skills that you can learn, just like Marco did.
If you are an app developer with a hit app or game in the top 100 in the App store, we’d love to hear from you. Please drop us a line anytime.
If you have a request for any particular developer you’d like to hear from, please join the discussion in the forum below!