Should Upgrades Be Free?

Free-upgrades-forever has been a feature of the iOS and Mac App Stores since Day One. Users get a great deal: buy an app one time and get all future updates for free. As a user myself, I like that. Developers, on the other hand, end up with the short end of the stick, as they are seemingly faced with supporting that app throughout it’s lifetime for free. As a developer, I hate that. Will Shipley’s recent piece has forced the developer community to recognize there’s an elephant in room, and he’s not there for the peanuts. Indeed, I am having to face the elephant also, and I covet your thoughts as I decide how to proceed.

Before the app stores, software not only cost more to buy, but developers could easily charge for updates. It all happened either in brick-and-mortar stores or from the developer’s web site. Money could be collected to recoup development costs and make some profit every time a developer delivered more value to his customers.

With the advent of the app stores, Apple knocked the bottom out of software pricing. What used to sell for $29 was suddenly selling for $0.99, and what used to sell for $49 or more was lucky to sell for $15, and probably ended up at $5. Perhaps it was an unintentional side effect, but Apple effectively conditioned the market to expect quite a lot for $0.99, and for $5, to expect the moon. On top of that, they also unilaterally decided that all updates should be free. Perhaps this was a deliberate strategy to commoditize its complements, because Apple is after all a hardware company, but the long-term results on developers are proving to be more than a bit concerning as the marketplace matures.

Nevertheless, it is Apple’s ecosystem, and rather than brood over it, developers simply need to find a way to deal with it. I’ve reached that point myself, and it’s time to make some decisions. I’m not bothered by providing fixes to bugs for free on older versions,  those should be free, but as I consider adding significant new functionality that brings more value, it seems only fair to be paid for that value.

So rather than sitting around hoping for Apple to change its mind about paid upgrades, here are two options I’ve been pondering. How do they strike you?

  1. Create a new, separate app. Instead of adding new features to the version already in the store, a new app would be placed in the store that is essentially an upgraded version of the old. This would be good for me because I’d be getting paid for the new value I’m delivering, but bad for my customers for a number of reasons:
    • Existing customers have to pay full price for the app again. They are being made to pay $10 for what new customers are getting for $5. This doesn’t seem quite fair. Also, suppose someone just bought version 1 last week, and now version 2 shows up in the store? It’s not fair to ask them to buy it again a week later. They could ask Apple for a refund, but I know I’d be miffed about that as a customer.
    • The new app can’t use the old app’s data. From Apple’s standpoint the two versions would be completely different animals and barred from sharing data. This means customers would essentially have to start from scratch – any data they’ve created in the old version could not come along for the ride. Depending on the app that might be OK, but in my case, it would cause tremendous weeping and gnashing of teeth, not to mention a gaggle of 1-star ratings and odious reviews.
    • If a customer doesn’t buy the new version, they don’t get the latest enhancements to the app. I’d call it “soft-core blackmail.” As a developer, I would have zero incentive to improve older versions once I put a new version in the store. My attention would always be focused on the current version, because that’s the one paying the bills, especially as the burden of supporting the old version grows more costly over time.
    • To avoid confusion, I would have to take the old version down from the store so that new customers would not accidentally buy the wrong version. That would leave existing customers out in the cold, since removing the app from the store would mean I’d have no way to get new bug fixes out to them.
  1. In-app purchase of new features. Perhaps you’ve seen drawing apps that allow you to buy additional brushes and tools via in-app purchase. One could effectively do the same with any new features in an app. Existing users could buy the new features that interested them, and new users would be in the same boat. Seems fair. But this only works from a developer’s standpoint for certain kinds of features. Not every enhancement can be done as an add-on option. This angle also requires significant response from customers to make it financially worthwhile. Last time I checked, the conversion rate on in-app purchases was under 2%. And, I worry that it could feel like a “nickel and dime” approach to existing customers, sort of an old-style mafia shake down in digital clothing.

I’m not really happy with either of these options, but to quote Shipley:

Without paid upgrades developers are strongly dis-incented from writing new major versions of existing products. Which stinks for us, and for customers.

So with that in mind, every serious developers has some decisions to make. My druthers, and that of many other developers, would be to simply charge an upgrade fee, and that would be a “win-win” for everyone. Sadly, those are not the cards Apple has dealt out.  We clearly need some creative thinking to solve this Kobayashi Maru scenario.

If you were my customer, how would you advise me?