We’ve all seen the articles touting the big bucks to be made from iPhone apps, especially in the early days of the App Store. For the vast bulk of developers the reality is a good deal more modest. Few developers earn enough to live on, and for many, iPhone app development is more of a hobby than a sustainable business. Since the App Store’s inception there have been some huge success stories and many more a tale of woe. It’s been especially eye-opening to read blog posts from independent developers going into the gory details of life on the App Store and learning what worked for them and what didn’t. Since my iPhone app, Story Tracker, recently celebrated it’s first six months on the App Store, I thought it’d be a good time to share some of my experiences and give some perspective as to how well a niche application such as mine is likely to do.


I signed up for the iPhone developer program in December 2008 and began learning Objective-C, Cocoa Touch, and the iPhone SDK. Since I’m a software engineer in my day job with over 10 years professional experience, the learning curve wasn’t incredibly steep, but it still took a few months to improve my understanding enough to contemplate writing an app for release on the App Store. For my first app I wanted to create something fairly simple that shouldn’t take more than a few months to complete. With my fiction writing background, a story submission tracking app was an obvious unfilled niche. This app would allow a writer to keep track of all their story, novel or article submissions right on their iPhone or iPod Touch. Most publications disallow simultaneous submissions, so it’s in a writer’s best interests to ensure they know what stories they sent where and when. The app does a whole lot more, but that’s the basic gist of it. My primary goal was to learn how to develop an iPhone app from scratch, and hopefully make some money in the process.

First Week on the App Store

I began developing Story Tracker in early February 2009. Six months and 300+ hours of late night and weekend design, development, and testing later, I finally completed the app and submitted it to the App Store. Story Tracker was approved by Apple and became available on the evening of August 14th. So much for a quick and easy development cycle! Here’s how Story Tracker did in its first week on the App Store:

It was a modest beginning, but not entirely unexpected given the size of the niche. The app sold 18 copies in its first week, bringing in $100 revenue at the US launch price of $9.99. I’d estimated the total number of potential paid users at around 1000, so the app would be on target at the end of year one if the trend continued.

The Lite Version

Enter Story Tracker Lite – my secret weapon (or not!). I figured a fairly high launch price would almost require a free ‘Lite’ version for users to test-drive. If a potential user balked at the price, they might change their mind after giving the free version a spin. The free version is identical to the paid version, aside from being limited to five stories, five markets and five submissions. More recent versions contain other differences. I developed the Lite version simultaneously with the paid version, using the exact same codebase and a separate build target to create it. This was in the days before Apple allowed In-App Purchase (IAP) in free apps, so the Lite and paid versions had to be separate apps by necessity. I submitted Story Tracker Lite a week after submitting the paid version, and it debuted on the App Store on August 20th.

How did the Lite version do in its first week? Not too shabby!

Story Tracker Lite had 209 downloads, peaking at 79 downloads on August 21st. This was over ten times as many as the paid version! Free certainly overcomes any barrier to entry, with the unfortunate side-effect that anyone and everyone will download your app. Some people will wonder what your app is and give the description only a passing glance before downloading. If it’s not for them, they won’t hesitate to rate it at one star upon deletion. The rate-on-delete feature on the iPhone and iPod Touch is ill-advised in my opinion, even if the original intent was to garner additional ratings. What it mostly does is lowers your app’s average star rating by one or more stars. This affects free apps the worst, with higher sale prices attracting more serious customers and generally higher star ratings if your app is good.

Second Week on the App Store

I expected the Lite version would give the paid app more of a ‘slow burn,’ leading to more sales in the long run rather than an immediate sales boost. The idea being that a writer might initially be satisfied with the free version, but would sooner or later come up against the app’s database limitations, leading them to consider purchasing the paid version. So what happened to the paid version in its second week?

Here we see a steep 50% drop-off with total sales of 9 copies, corresponding to $46 in revenue. My original estimate of the total market size was apparently an order of magnitude off! I should note here that such a sales drop seems fairly typical from what I’ve heard from other developers, so that’s why it’s important for your app to enter the App Store with a bang. For most apps your sales over the first day or two will be the highest single-day sales over the lifetime of the app. That certainly holds true with Story Tracker so far.

Six Months Later

As you can see from the graph, over the next 6 months sales of Story Tracker gradually declined, settling down to an average of a handful per week with periodic small spikes due to price-drops or updated versions:

Total revenue as of February 20th was $605, corresponding to 137 sales worldwide. Note that this total includes a dozen or so promotional (free) copies of the app issued to Beta-testers, or as part of giveaways or app review requests. Of the total reported revenue, thus far I’ve only received about half. Payments are made per geographic region, and only after sales for the region exceed the minimum amount ($150). It’s quite possible that I’ll never see any of this revenue for non-US sales.

The Lite version has had 1,099 total downloads so far, with noticeable spikes upon release of updated versions of the app:

Promotion and Marketing

The bare minimum you need to promote an app is a support website. Apple requires this information when submitting your app. You need some way to provide more information about your app than the limited description in iTunes, and a website is ideal for this. Search engines like Google can index your site and provide another way for people to discover your app. The Story Tracker web page provides more detail about the app, along with a larger screenshot and links to purchase the app on the App Store. I’ve recently redesigned my website to hopefully make it more appealing. For apps like games, gameplay videos are essential.

Next to the quality of an app, good promotion and marketing are arguably the best drivers of success on the App Store. For Story Tracker my marketing budget was miniscule, so I had to rely heavily on low-cost marketing efforts. In hindsight I wish I’d perhaps relied solely on word of mouth and other free means of promotion rather than paid ad placement. Then again, I did learn some interesting things along the way, so maybe those few paid ads were worthwhile after all.

I’ll start with the paid ads. For Story Tracker I had 3 mini Ad campaigns, each testing the waters before possibly increasing my investment. Doubtless a seasoned marketer with a large ad budget could do better, but the numbers below are probably typical for what a small independent developer could expect.

I advertised on Google AdWords from August 23rd to August 29th, 2009, with a total outlay of $35 (including $25 in AdWords credit from a coupon I had). My ads received 375,070 impressions and 67 clicks, giving a click-through rate of 0.02% and average cost-per-click of 45 cents. The ad positioning could’ve been better, since there was heavy competition for the keywords I used. For the entire months of September and October I had a skyscraper ad (i.e. narrow ad on the side) on a reasonably well-known genre fiction site, at a total cost of $75. Unfortunately no data on impressions and clicks was available at the conclusion of the campaign, although I did see a small amount of additional traffic on my website. I also ran a brief ad campaign on Facebook from August 22nd through the 23rd, with an outlay of $13.39. I might’ve run it longer if the results were better. That ad had a total of 52,920 impressions and 16 clicks, with a click-through rate of 0.03% and average CPC of 84 cents. I was disappointed with these results given what should’ve been a highly-targeted ad. For each of these ads, there was no discernible impact on app sales. Given this experience with paid ads, I decided to focus solely on no-cost marketing and promotion. It seems like paid ads probably aren’t a wise investment for small independent iPhone app developers. Your mileage may vary!

While paid online ads may not help too much, in-app ads might. I participated in a generous experiment run by Mundue.net over Christmas where the developer was offering slots in the ad banner of the free version of his iPhone game, reMovem. I’d like to thank Matt Martel for his generosity and willingness to help fellow app developers! Total clicks were 1261, and over Christmas I saw a 2x bump in sales! Since my daily sales usually hover around zero, that’s not saying much, but it was still nice to see some activity. I think it also helped that I put the app on sale for 50% off a few days before the iTunes Connect shutdown. Other than your initial app launch, Christmas through New Years is the one time of year you’ll likely get your highest sales. Unless you’re lucky enough to get featured on the App Store, that is! Story Tracker also appears among the in-app ads in another app, but since that app was only recently released, I don’t have any data yet.

While waiting for Story Tracker to be approved, I made a list of app review sites that might be interested in reviewing it. The list was short, since the review sites seem more interested in games than anything else. Two sites used the promo codes I provided, but I never heard anything from them again. Over the last six months I’ve submitted to other review sites and even had some request promo codes so they could review the app. Unfortunately there seems to be a noticeable trend of sites requesting payment for what they call ‘expedited reviews.’ With the huge volume of apps coming out every day, I understand the review sites can’t possibly review every app released on the App Store, and they need some means of prioritizing their reviews. But really, these expedited reviews are nothing more than paid ads, and seem more about making a buck than providing an honest review. Even worse are the sites that fail to disclose paid reviews to their readers. The least they could do is be up-front about it and mention in their review that the developer paid for it. I’ve heard good things about the sites mentioned on Got Oats?, so you should keep those in mind when marketing your app. As of this post, the only reviews Story Tracker has had are from the blogs and App Store comments of satisfied users.

There are lots of no-cost options for getting the word out about your app. Application updates used to be one of these ways, where your app would appear in the iTunes new release list for your app category. When you’d receive the approval email, you could change the release date of your app to that day (US time) and your app would usually appear near the top of the list, hopefully gaining much-needed visibility for a brief time. For categories with a lot of apps (like games), this approach was less successful. I found that appearances in the new release list usually led to a small bump in sales, more noticeably with the Lite version. A few months ago this was changed so that only new apps appear on the new release lists, presumably to prevent them being crowded-out by updated apps. Even without the benefit of the new release list, updates are still a good way to promote your app when combined with some of the other approaches described below.

Periodic price-drops are a good way to attract attention, since there are so many app search engines and even apps themselves whose sole purpose is to highlight sale-priced apps. Depending on your app, you may find that the extra sales can lead to an increase in revenue despite a lower price. After Story Tracker had been on the App Store for a few weeks and sales declined, I dropped the price by varying amounts and observed the results. The sweet spot seemed to be around $4.99, but revenue generally remained flat regardless of price. It seems Story Tracker is one of those apps where people appreciate how handy it is and are willing to pay for it. That said, you’ll notice sales appeared to fall off a cliff in November. I decided to drop the price to $4.99 for an extended duration, and sales partially recovered as a result. I’ve since increased the price after the most recent update hit the App Store, with little impact on sales.

So-called ‘Freemium’ apps are all the rage these days, providing an app with basic functionality and allowing the user to upgrade via In-App Purchase (IAP). At the time Story Tracker launched, Lite versions were more popular since IAP had only just become a possibility, and only in paid apps. Story Tracker Lite promotes the paid version via a purchase button on the info screen and periodic pop-up alerts after a certain number of app launches. Ultimately though, the app itself has to be good enough for the user to want to purchase the full version or upgrades.

Social networking sites are a good way to get the word out about your app and provide a higher level of customer service than a plain old email address or website. Story Tracker has had a Facebook page from launch, where I post news and provide a platform for discussion by fans of the app. I also use Twitter extensively to announce Story Tracker updates, network with other writers and app developers, and keep up with news. I’ve seen some of my Twitter posts lead to an uptick in app sales, based on my analysis of bit.ly link traffic and subsequent blog posts by writers. Linkshare can also be useful to track conversions to actual sales, but I’ve only recently begun experimenting with that, so I don’t have much data to share yet.

Posts on message boards relevant to users of your apps can be helpful, but be sure to adhere to individual site guidelines. I’ve made several posts on various online writing forums announcing Story Tracker updates and responding to user requests and comments. I’ve gotten a decent amount of traffic to my website from a few of the larger sites where writers with iPhones or iPods are likely to congregate. If you’re promoting a game, places like Touch Arcade should know about your game even before it hits the App Store.

For less visible apps, getting people to rate your app can be a bit of a struggle. To try to address this, I added a pop-up alert that appears at app startup to invite the user to rate it on the App Store. This alert only appears once after each update install, and only after the user has had some time to really try-out the app (say, 1- 2 weeks). This approach seems to work and has led to Story Tracker getting a few more reviews and ratings on the App Store than it might’ve had otherwise.

One final tip: use your imagination when promoting your app! Unconventional approaches may gain attention. In December I baked a Story Tracker cake for inclusion on the App Cakes Great App BakeOff developer showcase. While it may not have directly led to new sales, it was a fun exercise and the bake off was mentioned by articles in some of the online iPhone news sites.

Was it Worth It?

From a purely financial standpoint Story Tracker was not successful. At this point it’s still a fairly expensive hobby! Even with doing practically everything myself, including design, coding, and graphics (including the icon), I still have not recouped the roughly $2800 in expenses involved in development of the app. These expenses include the purchase of an iPhone and a Mac Mini (the cheapest possible development machine), along with other hardware, software, and service fees. Thankfully the bulk of these expenses are sunk costs to be amortized over multiple apps. I also haven’t included the cost of my time to develop the app: well over 400 hours for the initial version and the subsequent four updates. If you’re a contractor or planning to hire someone to develop an app for you, you can see how the costs soon add up even for an app apparently as simple as Story Tracker. Hint: it’s almost never as simple under the hood as it looks!

Given my original goal was to learn how to develop an iPhone app from scratch and launch it on the App Store, from that perspective I’d say Story Tracker was a success. The skills and experience I gained along the way are invaluable, especially in this harsh economic climate. It’s also gratifying hearing from writers who find the app useful to keep track of their story submissions.

The Future

With the launch of the iPad coming up soon, I’m hoping to release an app update with built-in iPad support. While I’ve confirmed that Story Tracker works fine in the iPad simulator as-is, I’d still like to take advantage of all that extra screen real-estate with an updated version. If any Story Tracker users out there have their eye on an iPad and are planning to pre-order a device, let me know and I’ll keep you in mind when it comes time to Beta-test the update.

There seems to be a fair bit of interest in a Mac desktop version of Story Tracker, so I’ve begun investigating the possibility. Given my limited spare time and my current focus on apps for mobile devices, this will be more of a long-term project.

Other than Story Tracker, I’m currently working on my first iPhone game! All I can say at this stage is that it’ll be a 2D side-scroller with an off-the-wall concept. It’s still in the early prototyping stage, so many of the details are subject to change. I’m aiming to complete it by year-end, but since it’s my first game, it could take much longer. We shall see!