Satisfaction guaranteed

When I need something in everyday life, say, a light bulb, I just go into Home Depot. I can buy anything on the shelf worry-free. If I get it home and it has a weird blue-ish hue or something, no problem — I take it back to the store and exchange it for a different one. I haven’t wasted my money. Retail has worked this way since I can remember. But, this is not how things work in the App Store.

While refunds are possible in the App Store, the perception is that if you buy something and it isn’t what you wanted, you’ve wasted your money.

This truth goes all the way back to 2009 with those “Lite” apps: Users prefer to download an app for free, and maybe spend money when they are sure it is worth it to them. As developers, we often bemoan the low prices of apps. We say “Come on! It costs less than a cup of coffee!” But, if we’re being honest, that’s a false comparison. People spend their money on coffee every morning knowing what they are getting. The fact is, people don’t buy unproven goods with no guarantees. It’s not about the price.

Software typically solves this using trials and/or money-back-guarantees. These techniques have proven to be the best approaches for both developers and customers. They are what we have in retail, what we have in software outside the App Store, and what we have in services. It’s not a one-size-fits-all solution, and some products really can’t be sold that way (just as some specific real-world purchases are “final”), but this option wants to exist.

There’s only one problem with trials in the App Store:

2.9 Apps that are “demo”, “trial”, or “test” versions will be rejected.

This is App Store Review Guideline 2.9. This means we can’t have our app say “Thanks for trying our app! To continue using it, tap Buy. Otherwise, please uninstall this app.” As long as Apple has this rule in place, developers have to find another way to serve users while staying in business (important if we want to continue serving them). This means some useful level of functionality must be permanently free in every app.

It is easy to accidentally give too much away for free.

Why would a user purchase an app if it does everything they need for free? Some of them might, just to support the app, but most will assume you’re making money some other way (ads? data-mining? VC?), or just not even think about it at all. And that’s fine, our business needs are not our customer’s problem. But still, I’m doing this instead of something else. Namely, taking a full-time job. If I’m not doing as well or better as I could with a job at BigCo, then I’m being irresponsible with my time. So, how do we make a living when our product must be permanently free to use?