This post is in response to Apple’s App Store Small Business Program announcement.
For decades, developers were able to create and distribute their software, whether free or for a fee, to anyone with a PC or laptop. There was no gatekeeper deciding who was in or out, and there was no requirement that they hand over a significant percentage of their revenue to the device maker.
Video game consoles were the obvious exception to this, with the claim that they were specialized devices and, therefore, closed ecosystems. But personal computing was open, and that was an important catalyst for innovation for a long time.
That changed with the introduction of Apple's app store on iOS. Developers had to be approved by Apple, and had to agree to use Apple as their sole payment processor, to the tune of $99/year and 30% of their revenue. For contrast, payment processors at the time were charging around 2.9% and $0.30/transaction. That's a massive difference in and of itself.
The 30% number was based on what video game consoles were charging developers.
Apple's argument for the iPhone being a closed ecosystem was that a phone is a specialized device because its primary function is to make phone calls, and that primary function must be protected against rogue software that may disrupt its ability to make those calls.
Apple's argument that the 30% fee was fair was that it takes manpower to review and approve apps to be listed on their store.
The issue grew bigger as Google implemented similar requirements and fee structures on the Android app store, and pretty much every app store from Steam to Samsung Galaxy followed suit.
Now that Microsoft and Apple have introduced app stores on Windows and macOS, they plan to slowly erode our freedom on PCs too so that they can reap the same financial benefits on our labour on all computing platforms (save for open source operating systems like Linux). Apple has since added warning messages discouraging users not to install third party software that hasn't paid for Apple's signature of approval. These warnings are getting more and more alarming with each OS upgrade, causing users to fear installing third party software through other, traditional means.
This needs to be stopped now because device makers are making the case that future devices like VR and AR headsets are also specialized devices and so they too should be subject to the same closed ecosystem and payment processing restrictions, which is simply untrue.
If an AR device replaces your PC, it's a generalized computing device, plain and simple.
Making phone calls was the sole function of a telephone, but a mobile phone is a powerful computer that can perform a wide range of functions. The new iPhone 12 Pro has built-in Lidar, a total of 4 cameras, GPS, and many other features that extend far being making phone calls.
What was once a primary feature is now just one of thousands, and potentially one of its least important features as we have dozens or more options for voice, video, and text-based messaging available to us. Many young people would probably be just fine on an iPod Touch that doesn't make calls at all, and many probably wouldn't know the difference.
Phones are general computing devices, and as such, should not be maintained as closed ecosystems. This doesn't benefit users, many of whom are also developers themselves, because it limits our freedom on both sides of the equation. General computing platforms should be protected from such predatory practices by manufacturers through strong government regulations.
Tying your right distribute an app that you developed independently of the hardware maker to the requirement to use their payment processor is anti-competitive because it means that every developer benefits the hardware maker while the hardware maker provides little more than a gatekeeper function and a small amount of file storage for their release builds.
How can any indie developer hope to compete with the likes of Apple or Google or Microsoft when every sale they make gives 15% of their profits over to their competition? And if they make more than $1m, it goes back up to 30%. That's a huge disparity that serves to protect the interests of the hardware maker at the expense of businesses everywhere.
If there was a hard cost for Apple and others to review and approve apps, then that should be charged up-front and not as a percentage of profit. Developers should be free to choose the payment processing service that best serves their needs, whether that's Stripe or Paypal or Apple's built-in offering. Apple's payment processor should be chosen because it's better, not because you have no other choice.
Since the cost of the review process and hosting are the justification for the payment processing fees, a good way to tell if they're in line with each other is to look at Apple's profits on the app store. In 2019, Apple generated about $50bn in sales on the iOS app store, with their take being about $15bn in profit.
Does it really cost Apple anywhere close to $15bn/year to maintain the app store's review process and hosting infrastructure?
Some business models, like establishing a marketplace for content creators to share their work with each other, become unfeasible when 15-30% off the top goes straight to the device maker. Many businesses operate with profit margins well under 30% or even 15%. Amazon is widely known for maintaining a 1% profit margin across their entire business as a strategic advantage to be able to undercut everyone else.
Other payment processors are essentially locked out of these ecosystems entirely, which is unfair and anti-competitive against them. I bet Stripe would love to be able to provide a better mobile payment option – their core business – without Apple being such a significant portion of the sale, thereby negating any benefit that Stripe on its own can differentiate itself with.
I've seen many comments on sites like Hacker News and MacRumours that this isn't a problem users should care about and that developers should essentially stop whining or take their software elsewhere. But this also limits the choices users have, and it limits the types of apps they get to benefit from. This limitation won't be felt directly, because you don't feel the absence of something you never knew you could have. You don't know what you don't know.
Stifling innovation isn't good for anyone, and as more and more people become software developers, this really just hurts the small guys. The indies who are more similar in size and need to average consumers than the likes of tech giants like Apple or Google. Indie developers need protection from monopolistic and anti-competitive practices from larger players in the market through strong government regulation, not a discount on their first $1m in sales.
It's no secret that I work in Virtual Reality. In fact, writing this gives me some anxiety because my company could be targeted and harmed for me saying things that don't benefit the VR headset makers. But this needs to be said. In fact, I'd say this is one of the most important fights in the software industry today because it will determine whether future platforms are open or closed.
VR headsets have already been set up to be walled gardens, and although Oculus has turned a blind eye for the time being to third party app stores like SideQuest, they could still decide to cut it off at any point in the future with little or no recourse.
Whether third party app stores are the solution also remains to be seen, but gauging by how difficult device makers make it for average users to install them, and what little percentage market share they have on each respective platform, I'd say they don't go far enough to solve this problem.
The ability to easily sideload, aka install software directly onto a device that you own and not through any given app store, is paramount to maintaining free access to today's as well as tomorrow's computing platforms. And we should have the ability to do so without navigating a maze of warnings discouraging the average user from doing so.
Augmented Reality is still in its infancy and isn't a general computing platform yet, not because it's specialized but because the technology isn't of sufficient quality yet. But it's improving rapidly, and one day it will be good enough to overtake both PCs and phones as the dominant computing platform of the future.
When it does, it will be critical to indie developers everywhere that we maintain the same level of freedom on these future platforms that we enjoy today on PCs, and stop the current erosion of those freedoms by big tech companies. Failure to do so will close off all software that isn't blessed by device makers, which will further increase the financial divide between indie developers and the companies who will control the platforms of the future, whether that's Apple, Google, Microsoft, or Facebook. We can't let that happen.
The solution is simple and threefold:
Only when the above rights have been won in the eyes of the law will our fight be over on this front, but there will always be other avenues where freedoms will be challenged and vigilance will be needed.