A Candid Look at the Financial Side of Building Mac Apps on Your Own

To the extent that my wife is comfortable with, I’d like to share my own financial situation as another data point – but from the perspective of someone who has experienced slow and steady growth developing Mac – not iOS – applications since 2007.

If I were a betting man, I’d wager that Jared’s post was inspired by Brent Simmons’ blog post from last week. In it, Brent asks

Who at the Table is an Indie iOS Developer?

There are a ton of Mac and iOS developers in the Seattle area — and almost all the iOS developers are making money either via a paycheck (they have a job) or through contracting.

The only local indie iOS-only developer I could think of was me — and even that won’t be true for much longer, as we’re working on Vesper for Mac.

There probably are other local indie iOS-only developers, but I just can’t think of them at the moment. At any rate, they’re rare.

Looking at my own developer friends, I can’t think of anyone who is surviving solely on revenue from their own iOS (not Mac) apps other than Jared. Like Brent says, everyone I know is either employed full-time or relies on contract work to get by.

However, for two wonderful years in 2012 and 2013, I was living “the dream” – albeit by taking a slightly different route towards indie-hood. But before we get to the financial details, first, a bit of history.

I started building Windows desktop apps with Visual Basic when I was eleven. As I grew older, I became frustrated with the inability to get my software in front of people. This was the mid-90’s and there were certainly no app stores and very few people ever thought to download software from the internet. And, even if they did, how would they pay for it?

This frustration eventually led me to web development where I fell in love with the freedom of publishing a site and having it instantly available to anyone with the URL. The relationships I built with my visitors and customers sustained my interest in web development through college and turned into a profitable career. But I always missed the physicality of shipping desktop apps.

In 2003, when I switched to Mac full-time, I quickly fell in love with writing desktop apps again – this time with Carbon and Cocoa. I built tons of toy apps, but it wasn’t until 2006 that I finally began working on a real idea with the intention of selling the software. The internet had come of age and people were downloading and buying Mac apps from independent developers – and I wanted so badly to be one of them.

The app I chose to build was VirtualHostX. It’s a Mac app that gives you a graphical way to manage the Apache virtual hosts on your Mac. Version 1.0 shipped on August 27, 2007. Since then, the app has grown in scope, gained a companion subscription web service, and reached version 5.0. In between those releases, I’ve also published a number of other Mac apps and one iOS app. A few have been discontinued, a few are still around, but none have thrived the way VirtualHostX has.

I’m getting closer to sharing my financials, which is why you’re probably reading this, but before I do that I’d like to say that I’ve truly poured my heart and soul into this app. It started out small. So small, that my original goal was to earn $7,000 over the LIFETIME of the app so my wife and I could afford to refinish the wood floors in our house. As you’ll see, it’s gone way beyond that. And for the seven years of its life, I’ve spent many thousands of hours building the app, tweaking the website, and – perhaps most importantly – giving the utmost care and high quality customer service I can manage.

While VirtualHostX may be simple on the surface, it does mess with your Apache system configuration files. Novice users can easily mess things up despite the app’s best efforts to eliminate any risk to their system. I have, on hundreds of occasions, done deep dives with users over email, phone, and chat into their system files to figure out problems. Quite often the error is tracked down to a typo they cut and pasted from a 2005 linux admin forum post when they were trying to do things themselves without my software. Seriously. But, I always keep a cheerful tone and do my best to help them out. All of that customer service work has led to a loyal following that I know is the engine of my success. But, more on that later. Now for some charts.

So, how has my little business done? Here is my yearly revenue each year since I started selling my first app in August 2007.

In 2008, my first full year, I made $2,288. Since then, sales have slowly and steadily grown primarily through word-of-mouth as I’ve done virtually no advertising. I’ve been fortunate to have quite a few smart people recommend the app on their blogs and through Twitter. With their help and my constant attention to improving the app, last year I brought in $58,093. Over the lifetime of the app I’ve earned roughly $200k – the majority of that coming in the last few years.

With the exception of 2012 and 2013, I always had other full-time jobs. My software company, Click On Tyler, was purely a side venture. However, as my revenue increased in 2011, I felt like I was nearing a tipping point where, along with my wife’s full-time income, I could take my side business and make it my only business. In 2012 I took that leap and went full-time indie.

For the most part, I believe my jump into indie-hood was successful. I credit my rise in sales in 2012 to the extra time I was able to spend working on VirtualHostX and my other (much smaller) apps. 2013 was equally as successful and I expect 2014 to be as well. However, with the birth of our first child in early 2014, my wife has decided to be a full-time mom and quit her job. So I’ve gone back to a salaried position and am relying on that – plus my app income – to support our growing family. While my app business is technically back to being a side project as it has been in the past, I’m no longer treating it as such. It’s now a full-time second income which replaces my wife’s previous job. We’re as dependent on it as we were her salary.

So, that’s the history of my software company and my development efforts. What have I learned and how is my business a better business than selling in the App Store?

Well, for starters, it takes a lot of patience. My sales didn’t appear overnight. It took five years for me to gain semi-stable financial independence. That’s something that I worry most iOS developers with indie dreams don’t appreciate. I’m not singling out Jared, but I think the “gold rush” mentality of the App Store leads many people to expect either instant success or epic failure. They lose sight that there might be a middle ground where you can grow your business slowly over time into something substantial.

I think part of that mentality comes from the relatively quick half-life of App Store apps. Most apps are launched feature complete on or near day one. They rarely continue to grow and gain additional features over time. Likely to blame for this is the severely restricted product focus that iOS apps demand. Apps on OS X are typically more complex. I’d wager iOS’s intense focus lead to users disappearing once the app has solved their initial problem. Mac apps, with their extra complexity and larger feature set, keep users coming back.

And speaking of customers, when you’re developing for the App Store, who are they? The truth is, you have no idea. All sales are completely anonymous unless they specifically reach out to the developer with feedback or support requests. Compare that to my situation selling directly to the customer. I have the full name and email address of everyone I’ve ever done business with. I can market to them when there are significant app updates, and I can see their purchase history when they contact me with questions.

Unlike the App Store, I’m also able to sell upgrades to my customers whenever a major new version is released. Take a look at this chart of my revenue per month.

Like the first chart, you can see my sales have grown over time. But the monthly breakdown lets you see a few significantly larger sales spikes every 12 – 18 months. Those are the months where I release a major new version and market to my existing customers. Every year, that is my largest sales month by far. I’m not sure I could survive without that added boost. Sure, on the App Store you can release an upgrade as a new SKU, but you lose all of your existing customers and have no way to market to them. And there’s no way to offer them an incentivized upgrade price. Further, think back and remember the shit storm Loren Brichter created when he dared to charge a few bucks for version 2.0 of Tweetie.

And that leads me to another difference between developing for iOS and Mac. On the App Store, the price for apps has bottomed out. There are countless stories of developers, Jared included, failing to gain traction by setting an upfront paid price. Apps can require thousands of hours of work and yet can’t command a price of even $0.99. The only apps making money that I’m aware of are littered with scummy in-app purchases. For developers who take pride in what they build and don’t want to lower themselves to that level, there doesn’t seem to be a route to profitability.

With VirtualHostX, the opposite is true. In 2007, I priced the app at $7. Over time I raised the price to $9, $12, $14, $19, $24, $29, $34, $39, and, now, $49. With each price increase my total sales and revenue have only gone up. And, as an extra bonus, the quality of my customers has increased as well. I never received as many angry emails from customers as I did when the app was priced cheaply. Now that VirtualHostX costs “real money”, I weed out those users who aren’t willing to make a financial commitment to the app and my company.

On the App Store, it’s unheard of to charge what would have been a fair price pre-App Store. Very few companies are able to get away with such things. Those who do, (Omni, Panic, Day One), create complex apps that grow over time and are balanced by their Mac counterparts. They don’t go for the one-shot $0.99 apps. Instead, they build real apps of value and price them accordingly. Jared alludes to this in his post. He says

Unread launched at an introductory price of $2.99 USD. I rose the price to $4.99 two weeks later. In retrospect, I think I left a lot of money on the table.

I think he should have gone even further. If Unread truly is the premium app he believes it to be, which I tend to agree with, why not charge a more sustaining $19.99? Better yet, build a Mac counterpart and sell it to a customer base that still believes in paying for quality products.

So. What have we learned?

Well, it’s my experience that you CAN build a sustainable software business selling to consumers as an independent developer. You just can’t do it in the App Store any longer – if you ever could.

You need to start building for the Mac, where you can charge a fair price, sell directly to your customers, and charge for upgrades. Even then, success won’t happen overnight. But it is doable.

So, any thoughts? Since I’m in the sharing mood, any stats about my business you’d like to know that could be added to this post? Feel free to reach out.