helftone robots

Mac App Store: The Subtle Exodus

by Milen

The Mac App Store was released in January 2011 and it marked the beginning of a great new distribution channel. Even though it lacked some bells and whistles, the developer community was hopeful the problems would be addressed in due course. Unfortunately, it has been years and there's no evidence that the core issues would be addressed in the future, at all. When notable developers are abandoning your platform, cannot do the right thing for their customers and are delaying their MAS submission, something is very, very broken. I believe that the inaction is harmful to the whole Mac community, affecting consumers and developers alike.

Let me make it absolutely clear why I'm writing this. First and foremost, it's because I deeply care about the Mac platform and its future, it pains me to see developers abandoning it. The Mac App Store can be so much better, it can sustain businesses and foster an ecosystem that values and rewards innovation and high quality software. But if you talk to developers behind the scenes or explore the Mac App Store, you'll find something completely different.

Before we look at what the Mac App Store can do better, let's take a moment and give credit where it's due. The Mac App Store is simply the most convenient way to purchase and download software, bar none. Unfortunately, that's where the good things end.

There are large amounts of evidence that one of the effects of the Mac App Store is the tendency to push developers into unsustainable pricing – some might say, it is designed that way. We'll look into that in a bit but let's get one thing straight. I see comments along the lines of "The MAS might be worse for developers but that means it's better for consumers". This presents a false dichotomy that somehow developers and consumers are at odds but this couldn't be further from the truth.

The relationship between consumers and developers is symbiotic, one cannot exist without the other. If the Mac App Store is a hostile environment for developers, we are going to end up in a situation where, either software will not be supported anymore or even worse, won't be made at all. And the result is the same the other way around – if there are no consumers, businesses would go bankrupt and no software will be made. The Mac App Store can work in ways that's beneficial to both developers and consumers alike, it doesn't have to be one or the other.

If the MAS is harmful to either developers or consumers, in the long term, it will be inevitably harmful to both.


Let's talk about trials. The idea behind it is very straightforward and has been around for decades. Simply put, when it comes down to evaluating a product, you just have to test it. While looking at screenshots, videos and reviews provides you a good starting point, it does not tell the full story. The consumer is the best judge whether an app fulfills their needs or not.

We should not be requiring upfront payment from consumers to evaluate software – it makes no sense. Let them try everything they want and naturally, the best value software will win – usually, the highest quality which has a reasonable price tag (there will be multiple winners at each price tier). But high quality software is expensive and very few people can afford to throw $30-50-100 on the off chance it might turn out to be adequate for their needs.

As a consequence, developers producing high quality apps reduce their prices significantly to levels that consumers can afford to take a gamble on. Those prices are usually unsustainable to support the continued development at the same standard of quality. We end up in a situation where the market can easily support higher-priced quality software but that's disallowed due to the arbitrary restrictions of the Mac App Store. We have regressed from "let the best value app win" to "let the cheapest app win" which is counter-productive in the long term. Worse still, the downward price spiral creates unrealistic expectations in the eyes of consumers that all software should be extremely cheap and anything more than $5 is a rip-off.

Supporting app trials would be trivial and provide a completely seamless experience. You would be able to download any app, play with it and purchase with a single click – effectively zero additional complexity. For example, "Try" can be shown besides the price and once the trial has expired, it will revert to just showing the price, possibly with a subtle subtitle saying "Trial expired".

Clear app trial mockup
Trying out an app would be a click away and easily accessible.

The current workaround is for developers to put trials on their websites but the amount of people who are even aware of this is probably small enough to not make a real difference. Alternatively, intentionally crippled versions of apps branded as "Lite" variants get distributed for free on the MAS as a way to emulate trials. But using the quality of an app deliberately made inferior is not a good idea, simply because it is not truly representative – the features that might make the difference between purchasing or not would most likely be only part of the full product.

Another possibility would be to have a free app with an in-app-purchase which unlocks all the features. But this approach is effectively the same as Lite, exhibiting the same issues, with the only difference being the Lite and non-Lite versions are unified into a single app. Expect to see one star reviews from users who downloaded the free app but never expected that it won't actually be free – even if the developer had the best intentions, the end result would a bad customer experience.

Many apps are fundamentally incompatible with this model and it's practically impossible to remove enough features while still keeping the free part useful – the end result is crippleware.


Paid upgrades seem to be a really controversial topic but it's quite simple. Businesses need a continuing revenue stream to operate, that's just basic economics. The reality is that there simply are not enough new customers to sustain most companies which implies that, either the software they make will be abandoned at some point or the customer base will need to step in and provide continued funding.

There are multiple ways to provide that continued funding (e.g., subscriptions, ads, IAPs) but if you took a deeper look, you will realise that all of them are inferior compared to paid upgrades. Do you want to be bombarded with piecemeal in-app-purchases every few releases? Do you want to be continually spammed with annoying ads? Do you want to buy "free" apps which trick you into paying more and more?

Paid upgrades provide a very simple proposition – the developer has put a significant amount of work into the next major iteration of the app and existing users can decide whether they're willing to upgrade. And if they choose to do so, they will be rewarded for their repeat custom by getting a discount.

Supporting paid upgrades does not require much additional complexity, if any at all. We know that Apple already keep multiple versions of apps, so that you can install them on devices that do not support the latest OS. If the developer publishes a paid upgrade and if a customer already owns the app, they will see an "Upgrade" button next to "Installed" – that's it. Consumers don't have to upgrade, they can happily keep using the version they purchased as long as they like.

First-class support for paid upgrades means that developers don't have to lose all the customer reviews and ratings, which usually take years to accumulate. It's a big slap in the face to start all over again from step one.

Monodraw app upgrade mockup
When a new major version is published, an "Upgrade" button would appear for people who have already purchased the app.


App sandboxing is a great security feature that provides an assurance to users that apps cannot wreak havoc on the whole system and only have the least amount of access required. While sandboxing was initially not a requirement when the Mac App Store was launched, all apps that are now submitted have to be sandboxed.

Developers found themselves having to make a hard choice – severely degrade the functionality of their software or leave the MAS. Consequently, entire categories of apps cannot be distributed via the MAS because they cannot be sandboxed without crippling their feature set. There is growing number of abandoned apps which are severely lagging behind their direct download counterparts. We are talking about some very popular apps, not obscure hacks that require kernel extensions. For example, the MAS version of SourceTree was last updated in November 2012, almost 2 years ago (v1.5.6 vs v2.0.2 at the time of writing).

This should have been unacceptable. Either the appropriate entitlements and solutions should have been in place or sandboxing should not be a requirement for the MAS. It puts developers in a very tough position of having to either artificially limit their app (which will result in bad user experiences blamed on the developers) or having to abandon the MAS.

And we will never find out about all the apps that could have existed but were never created due to the inability to be distributed on the MAS (they might rely on the revenue that the MAS would bring but are consequently uneconomical).

Customer Reviews

The idea behind customer reviews is a good one – the best judges of your software are the people who use it. Unfortunately, there are several problems with that. Firstly, reviews are negatively biased as people are more likely to leave a bad review after an unpleasant experience. This has lead to developers begging for reviews in various ways, usually by (distastefully) popping up a dialog or asking in the release notes.

But every story has two sides. The inability of developers to actually respond to customer concerns is extremely damaging to the product and leads to loss of sales. This would be perfectly fair if the bad reviews were based on constructive criticism but the vast majority of times, that's simply not the case – just look at the one star reviews of apps which have a high average rating.

Final Words

The Mac App Store is restricting, in multiple ways, the tools available at developers' disposal to sustain a business and distribute high-quality apps. It should not be discriminating against tried and true practices that inarguably benefit both consumers and developers – the market should be left to decide that. We cannot know whether, e.g. paid upgrades, are better suited when we do not even have the option to use them.

Joe Steel: The decay of the Mac App Store over the last few years is pretty subtle. Developers are not leaving en masse, all at once. One by one, as new updates are being developed, they weigh the pros and cons for them, and their customers, and they pull out.

My ultimate fear is that the complacent state of the Mac App Store would lead to the slow erosion of the Mac indie community. The MAS is the best place to get your software, it comes bundled with your OS, it's very convenient but when all the issues compound, developers will vote with their feet and continue the slow exodus. I feel that Apple needs to encourage the availability of high quality software rather than quantity over quality – the first step would addressing the core issues that have been known for years. The Mac platform would be a much worse place if we prioritise short-term gains, boasting about the hundreds of thousands of free abandonware rather than concentrate on the long-term fundamentals to sustain a healthy and innovative ecosystem.

← Back to Blog

Further Reading