Much ado has been made about the idea of App Store apps getting discounted upgrades, where you buy an app once, and then pay a discounted amount for an upgrade. This idea is not new; for many years, developers sold apps under a model known as shareware. In an era when software was harder to use and people feared viruses, this model thrived among technically-savvy people who tended to spend more money on technology. The generally-accepted model in the Apple world has a fair bit of complexity, involving trials (some time-based, some feature-restricted), serial numbers or license files, and periodic requests for more money. Then the App Store came and replaced it outright with a new, simpler model that favors a traditional retail-style system of cheap software that you pay for once. It’s far more straightforward and easier to understand; if you want the app, you buy it, and then you own it.
Developers who have thrived under the old model have complained for a long time that they want discounted upgrades to make a return to iOS. Along with it comes the added complexity of managing different tiers of ownership, both technically and mentally. Apple has not offered this, instead opting to make major updates available as a separate, standalone app that existing users pay for in full, as was done recently with Logic Pro X. To me, this is far and away a better and simpler approach to handling upgrades in an era when non-technical people buy software.
Consider Apple’s Perspective
To properly understand why Apple hasn’t enabled discounted upgrades, it’s worth viewing Apple’s decisions through a very simple lens – they want current and future customers to buy iPhones, iPads, and Macs. In a decision between what will benefit a developer and what will benefit a customer, Apple will pick the customer, every time. Apple advertises that their devices are not mere cell phones or devices with fast web browsers; they have the App Store, a powerful destination for people to find apps to solve problems and games to entertain. With hundreds of thousands of apps and games on Apple’s stores, no matter how niche the tool you need is or what genre of video games you enjoy playing, there’s an app for that.
When a new customer brings that iPhone home, they want their device to live up to that expectation by filling it up with apps, and to do so without costing them a fortune. Apple loves that apps are free or cheap, because it makes it easy for customers to try out new things with low risk and high reward. In a sense, the race to the bottom on app prices is great for Apple, even if it’s not great for developers. But despite prices being terribly low, it hasn’t stopped growth. There are more developers building on iOS than there ever were. Apple’s not hurting for apps or developers, as they’re flowing under natural momentum. Aside from massive brands like Facebook and Angry Birds, no one specific app is really needed. Nature abhors a vacuum, and app opportunities will arise and be fulfilled by someone in the network.
Discounted upgrades throw a wrench into the works. A discounted upgrade is essentially a developer telling an existing customer that they have to pay more money to continue receiving new features and bug fixes. Were they to be implemented into the existing App Store update infrastructure, you’d be told there’s an update, and if you didn’t want it, you’d have to have some way of hiding that update (and then getting it back later if you wanted to upgrade after all). But you, the customer, would be responsible for shutting off something you didn’t even necessarily want in the first place. Discounted upgrades add a whole lot of complexity to a simple, habitual process, and it gives the customer absolutely no value. Contrast this with a separate product in the App Store, where it is opt-in, and looks and feels like you’re buying a separate thing, and the process is dramatically simpler. You buy a thing, and you buy another thing. You don’t buy a thing in various states of upgrade-ness.
So Apple likes cheap, straightforward purchases and free stuff because it’s a selling point on why you should buy an iPhone. A discounted upgrade complicates many parts of an app’s life span for a customer. But even if they didn’t, there’s an even stronger reason for Apple to maintain the status quo of separate products for major updates, one with a decade-long history of prior art on the Mac.
Developers Suck at Discounted Upgrades
One example of a long-standing Mac shareware developer is the Omni Group. Here is a company that has thrived for almost two decades on the shareware model. Just yesterday, they released an update to their popular Mac app, OmniGraffle. OmniGraffle has existed since long before the Mac App Store, and is a wonderful app well deserving of its praise. However, like many shareware apps of the era before the Mac App Store, they offer upgrade pricing, and are unfortunately a perfect case study in all the ways you can get the user experience of an upgrade wrong.
When you open the app, OmniGraffle prompts you with a dialog box asking you if you want to upgrade to the latest update. They show a long list of new features that sound great, but with not a single mention that this is a discounted upgrade. A customer who decides they want these features clicks through, and (in this case) get taken to the OmniGraffle website listing more of those features, but there is again no mention of upgrade pricing. You click the download link, install the update, and it suddenly says you’re in trial mode. Edit: The update for OmniGraffle 6 is installed alongside 5; it doesn’t replace the existing app. But both apps show the same display name, with no difference in icon, making it difficult to tell which app is the update. If they uninstalled the existing app and want to undo this process, they have to find the old version, buried as the 5th question on their support page and listed in a large FTP index with files that end in extensions like
If you know that this particular update will involve upgrade pricing, you’re at least in a position to have already decided to pay to upgrade or not. But if you just opened the app to work, consider the emotional roller-coaster this process puts you through. The customer enters an app to solve a problem, to get their work done. Suddenly they’re offered the delight of having more features and capabilities to solve their problem in a better way. They put their problem on hold to install your update, and when they’re finished, they’re confused at why the product they already paid for is demanding more money, and worried that they can’t get the old app back. Getting back to the old app involves many weird and non-obvious hurdles.
Omni makes this app available via the Mac App Store, making for a comparable user experience. For the App Store version, release notes and update information are shown through the Mac App Store. But for this major version update, the old app is replaced with a new, separate product that must be bought in its entirety. They’re free to buy it or ignore it, at their own pace. The new app sits next to the old one, not replacing it. No customer is ever asked to enter a serial number or download a license file (let alone store it somewhere for future reference if they buy a new computer). The only downside is that the customer is asked to pay the same amount of money for the new thing, instead of getting a discount. But as Justin Williams points out, this is basically the only industry where this phenomenon happens.
Omni is so fundamentally glued to the old shareware model that they came up with this thing, the OmniKeyMaster, which is basically a piece of software that converts licenses from one store to licenses in another store, so you could buy a cheaper upgrade from the other store (and of course, Apple made them kill it almost immediately). Their customers were asked to figure out what their license was and why it mattered for them to save a few bucks on an upgrade.
I’m not picking on Omni because I harbor any animosity or negative thoughts to what they do (and I do sincerely apologize to Omni for singling them out, as they were a convenient example while writing this). They build amazing, award-winning software and their apps are worthy of all the praise they get. They’re one of the best developers on the Mac building stuff outside of the App Store. But they got their discounted upgrade experience completely and totally wrong. Their process assumes you will pay them to upgrade; they have no incentive to make keeping the product you have easy or enjoyable. And they’re not alone. Lots of apps fail at the process of making a discounted app upgrade a positive experience. If the best of the best can get this process so wrong, why should Apple trust the shifty ones already gaming the App Store to get it right?
It’s not surprising that old hats have had trouble adapting. Many companies have tried to desperately cling to the old ways of doing business, holding on with a few key products or failing outright and going out of business. Many other companies have emerged, finding tremendous success in taking advantage of the rules and human behaviors to maximize profit or growth. While it’s hardly a healthy market for small developers, it’s the only market we have to work with if we want to target iOS devices, and one of two on the Mac. But it’s not our market; all markets are owned, controlled, and directed by buyers and not sellers. Developers are sellers; we must adapt to the market and its rules.
Developers can move their product beyond the App Store, and sell subscription-based services, though you’re likely to experience more resistance with customers having to pay regularly. They can also move towards a model driven by in-app purchases, where you provide some functionality for free (or cheap) in the App Store, and then let them add more features. Apple seems to be wanting developers to move further in the latter direction. A wonderful case study in this is the iPad app Paper, which gives you basic tools for free and charges in-app purchases for more advanced ones. It’s worth noting that Apple lauded that app with both App of the Year and an Apple Design Award.
Humans are predictable, as are their reactions to your moves in a marketplace. Want to keep people happy? Don’t violate your customers’ expectations. Don’t surprise your customers by asking for money after they’ve already paid you. Don’t make your customers feel like they’re missing out on a deal by offering a time-based discount. If you must break these rules, do it while treating your customers with respect and honesty. Take care to make sure they have a pleasant way to not pay you, to keep things as they have always had them. Software shouldn’t feel like ransom. You can fly fast and loose with these rules if your target market is people with disposable income who look past sleights because they want to support developers (and if you have these customers, cherish them, because they are exceptions). But average people don’t care about your livelihood. They care about solving their problem. Despite this, they will be more likely to treat you with respect if you show them the same.
But my company depends on discounted upgrade revenue! On the Mac, you can still rely on this model, but there’s a reason that developers want their apps through the App Store. It’s a far smoother process for them. By relying on a different model, you’re complicating the buying process and probably losing customers. Just please, spend some time making sure the upgrade process is good for your users, not just for you.
But I want to reward my loyal customers! By giving your customers a discount on something they have to pay for again, you’re not rewarding them. You’re punishing them less. If you want to reward your existing customers, give them something extra instead.
But I get one-star reviews when I release separate paid apps! You made the decision to ask people who have already paid you to pay you again. You also picked the prices. People do have the right to be mad when a company asks them for more money, and sometimes will take that energy to reviews, because they know you’re paying attention to them. And you do control how existing customers learn how the updates work. Confuse them to make them mad. Make them mad to get spiteful reviews. Unfair? Perhaps, but again, it’s not your market. As a side note, reduce this issue by making sure your updates are actually worth paying for (and your iOS 7 reskin probably isn’t).
But my customers won’t find out about the separate app! Your app is an updateable piece of intelligence. Before your big update goes out, plan for it and add some announcement UI in your app that you can trigger over the Internet. With new features in StoreKit, you can directly link to the new app, and close the sale directly in the app.
But people have no right to complain about an update that costs 99 cents/$2/$3/etc. when their iPhone cost hundreds of dollars! This privileged point of view comes from people who love supporting developers and who have spare money. And while it’s noble, it doesn’t reflect how most customers think about apps. The toothpaste isn’t going back in the tube here; people are now used to free and cheap apps with updates. Your app isn’t why they bought an iPhone; it’s an accessory, one that can be discarded as easily as an iPhone bumper.
Discounted upgrades offer nothing but complexity to Apple and to end users. Short of some UI breakthrough we haven’t thought of yet, they aren’t coming. The standard of separate, standalone apps has been established, by third-party developers and by Apple themselves. Having separate apps offers UI benefits, less stress, and no perceived bait-and-switch to end users. The only people who benefit from discounted upgrades are developers who have customers who eagerly pay for upgrades. We had that during the Mac. It’s far from the reality of what we have today. The market has spoken; shareware is dead. Let’s go build something new.
Once again, my sincere apologies for singling out Omni in this post. They were a convenient and lazy target for me because of their recent app update. Their apps are great and you should buy them.