I released my web browser extension StopTheMadness four years ago in the Mac App Store. It was initially priced at $4.99 USD and supported only Safari. Since then I've added a ton of new features, as well as support for Firefox and Chromium browsers. It's almost embarrassing how primitive version 1.0 of StopTheMadness was compared to the current version. Over the years I've also raised the price: it's currently at $9.99 in the Mac App Store, though at times the price been a little higher than that. For the first three years I didn't feel that this pricing model was inflexible for my purposes, but then suddenly last year I was faced with a new opportunity, and a new dilemma: Apple introduced Safari extension support to iOS 15. I never expected this to happen, so I had no prior plan for how to sell StopTheMadness on iOS alongside StopTheMadness on Mac.
I ended up making StopTheMadness a separate purchase in the iOS App Store. It's been $7.99 since September 2021 when iOS 15 was released. If you already purchased StopTheMadness in the Mac App Store, you have to pay full price in the iOS App Store, and if you want to purchase both Mac and iOS versions today, you have to pay full price for each separately. This is far from ideal from my perspective or from the perspective of customers, but I felt it was necessary in the situation.
Why didn't I make StopTheMadness a "universal" app, selling the Mac and iOS versions together for one price? The answer is simple: I couldn't afford to do that. The sad fact is that my revenue had fallen significantly in 2021 — even after Apple's App Store cut was reduced from 30% to 15% by the new Small Business Program — and I was running out of money. In terms of unit sales, the best month ever for StopTheMadness in the Mac App Store, by far, was May 2018, the month after it was released. And those customers all paid the low initial price of $4.99, not the current higher price of $9.99. Many of those customers had been requesting StopTheMadness on iOS for years; these were the people most excited to see the new app. If I made StopTheMadness universal and gave the iOS version to previous Mac customers for free, even to the customers who only paid $4.99 three years prior, I'd be passing up a huge amount of money — money I desperately needed at the time just to stay afloat.
The App Store unfortunately doesn't support paid upgrades. Nonetheless, in my own mind, I treated StopTheMadness on iOS as a kind of paid upgrade: if you already purchased the Mac version, and you wanted the new iOS version, you had to pay extra. It should be no surprise that the best unit sales month ever for StopTheMadness in the iOS App Store was September 2021, with October 2021 second best. Of course I'm still "stuck" with this business model of separate purchases now, eight months later, but I definitely feel the initial revenue in those first few months made my choice worth it.
Paid upgrades for Mac apps sold outside the App Store typically and traditionally have discounts for previous customers. I would have liked to provide a discount for my previous customers too. The App Store does support discounted app bundles; for a time I had a discounted bundle in the Mac App Store containing StopTheMadness and another app of mine, Link Unshortener. However, the App Store doesn't support cross-platform bundles. I can't provide a discounted bundle that consists of a Mac app and an iOS app. (There's a slight twist to this that doesn't help me: an App Store developer can make a discounted app bundle consisting of a universal Mac/iOS app and another platform-specific app, because those two apps will both exist in the same store. For apps that don't exist in the same platform store, you're out of luck.)
Now that the initial post-release sales bump is long gone, it's conceivable that I could turn StopTheMadness into a universal app. I don't feel much inclined to follow this path, though, because such a major change in business model would create at least two major problems. First, how would I price the universal app? I've made the iOS version a little cheaper than the Mac version to appeal to iOS buyers who are more price conscious, and not everyone wants both the iOS and Mac version. If I charge $9.99 for the universal app, or even more than $9.99 to reflect the added value of cross-platform support, then I scare away potential buyers of the iOS version. On the other hand, if I charge $7.99 for the universal app, I may be losing a lot of revenue. Despite the wild claims of people who are ignorant of the software business, little indie developers like me can't "make it up in volume" with lower prices, because the hardest part of selling for an indie developer is making potential customers aware of the existence of your app. Lowering your price doesn't magically make customers appear. Believe me, I've tried that before!
The second major problem of switching StopTheMadness to a universal app would be migrating previous customers to the new app. The way it would work is that I'd have to choose one of the versions, either the Mac App Store version or the iOS App Store version, and make that one universal, adding a second platform to that app. For the sake of argument, let's say I add a Mac version to the existing iOS App Store app. On iOS there would be no problem: the iOS app would continue to be updated as before. Moreover, if you purchased the iOS app, then your purchase would carry over to the Mac, so you could download the new universal Mac version "for free". The question is, what if you had purchased StopTheMadness in the Mac App Store and only in the Mac App Store? Then you would have no ability to download the iOS version, because you never purchased that. I could give iOS App Store promo codes to some Mac App Store customers, but developers only get 100 promo codes per app version, so there's no way I could accommodate everyone. I suppose the "solution" to this problem would be to permanently maintain a universal version of StopTheMadness and the old non-universal version too, but that's a rather tedious, burdensome prospect for me, and also extremely confusing for potential new customers in the Mac App Store, who would see two versions of the same app.
In conclusion, I've found App Store pricing to be painfully inflexible when you have apps in both the iOS App Store and Mac App Store. It feels like Apple wants all developers to make their apps universal, but that doesn't necessarily make business sense for developers, especially indies like me. I wish that Apple offered more pricing options, such a cross-platform discounted bundles.
I could write a whole other blog post talking about why I chose the upfront paid business model rather than free with In App Purchase or subscription (which I'd say is more accurately termed "rental"). I don't really feel like writing it, but I could, and it would be long. I just want to say that yes, I have considered them. I've considered, reconsidered, considered again, and will likely consider in the future. Some of my reasons are very specific to my particular software. The architecture of web browser extensions is fundamentally different than self-contained apps, which raises a host of issues. Anyway, I hope you trust that I am both intelligent and extremely motivated to maximize my revenue, so I haven't casually overlooked an obvious way to increase it.