I Was Wrong

As a small indie developer trying to make my way in the App Store, I like to experiment and take risks. Having a couple experiments go horribly wrong is a pretty good indication that I really am taking some risks. And that’s a good thing. The thing about experimentation though, is that the point is to learn, not to be right. Confirmation bias isn’t just bad science — it’s bad friendship, bad politics, and even bad business.

In the short 24 hours Timer 2.0 has been in the App Store, I’ve learned quite a bit. Most of this is rather obvious in hindsight, but it’s really easy to get wrapped up in a project and miss the forest for the trees.

The first thing I was wrong about was how many users who had paid for the app are still actively using it. Timer was only 99¢ for a couple months, and quite frankly didn’t sell very well. I made it free over the summer, and at this point I was estimating that less than 3% of the active userbase had actually paid. I don’t have analytics in Timer since I’ve had a hard time finding a good analytics provider that doesn’t do shady things with the data they collect, but given how few people paid for the app and how low the long-term retention rate generally is for iOS apps, I was estimating that only a few hundred people who had paid were still using the app.

Since most of Timer’s users hadn’t paid for the app, I decided that putting an ad in the app made sense. I assumed that the few hundred people who had paid and were still using the app would be excited about all the new stuff and wouldn’t mind shelling out a buck for a new theme, which would disable the ad. If Apple provided a reliable way to determine who had already paid, I would have just automatically disabled ads for people who had paid. But Apple doesn’t provide a way to do that, and most of the hacks we came up with to do it ourselves seemed unreliable, especially given that the iPhone 5 and iOS 6 shipped just a couple months ago.

Disappointing some early adopters is at times just a casualty of progress. Loren Brichter famously took a lot of heat for making Tweetie 2 a new app and charging for it. That was the right thing to do even though he took some heat for it. He worked incredibly hard on Tweetie 2 and deserved to charge a fair price for all that work. Part of what Loren did right was to make Tweetie 2 a separate app. People who didn’t agree with his decision could make their case known, but nothing was forced upon them, they could continue using Tweetie 1.

But that’s not what I did with Timer. I forced an update on everyone whether they had paid or not, and gave paying users no option other than to pay again or live with the new ad. And as Craig Hockenberry pointed out to me on Twitter, I didn’t even do a very good job of offering a way for people to quickly just disable the ad if that’s all they wanted to do.

Another bad assumption was that people who hadn’t paid for the app wouldn’t mind the ad much since they hadn’t paid. The problem is, I had given it away for so long without ads, that inserting one was confusing and frustrating even for those who never paid. I honestly think that a lot of the bad reviews on the App Store are actually from people who forget that they didn’t pay for the app. When you use an app for several months without ads or IAP, it’s easy to forget that it was free.

But the biggest, most blinding mistake of them all was that the ad is just too clever. Banner ads are often ugly and force bad UI decisions. I thought it was incredibly clever to just take away a single timer and show an app icon as an ad that takes the user to that app in the App Store. And since it was so clever, and even beautiful in some ways, I didn’t think people would mind it nearly as much as a typical banner ad. Nope! Still just an ad.

Even worse, a lot of people don’t realize it’s an ad. So far the ad has a 24% tap through rate, meaning one ad is tapped on for every 4 that are shown. Developers dream of that kind of tap through rate because it generally means more revenue, but I wasn’t charging for the ads, so the tap through rate didn’t impact my bottom line at all. It does, however, seem to indicate that people are essentially being tricked into tapping since the ad doesn’t look like an ad. I don’t want to trick people into tapping on an ad, and even if I were a jerk and did, the ads wouldn’t be very valuable since people weren’t tapping with the intent of learning more about one of the advertised apps.

Given all the mistakes and bad assumptions, it’s clear that the best choice here is to immediately change course. For now I’m going to replace the ads with an apology, and later today I’ll be submitting an update to Timer that removes the ad completely.

Please accept my sincere apologies for making a mess of a great app.


  1. nonepizza reblogged this from drbarnard
  2. drbarnard posted this