Thoughts on Apple's Unfair App Store Policies
Many people refer to Apple's ecosystem as a walled garden. It isn't a mystery why their ecosystem is so heavily restrained - it's what makes the company so successful. Apple's obsession with perfecting the end-user experience had led them to build the most popular and highly desired products in the world. Their perfectionism is imposed on businesses and the developer community, where the vast majority of apps on the App Store and are of the highest of standards. Compare this to the wild west of Android, where malware is found on the Google Play or even pre-installed out of the box.
Through recent years, as many tech companies have been riding the privacy wave, Apple has framed its tight control as a privacy play. Without their rules and restrictions, user's would be less secure and vulnerable to immoral use of their data.
Though Apple is well-loved from a consumer perspective, many developers have a different story. The most recent example was with Basecamp. After releasing their new email service Hey to the App Store, later app updates were rejected. Apple's reasoning was because the app had no means of signing up for their service and paying for the required annual subscription within the app. If basecamp were to introduce this, they would be forced to give Apple a 15% cut of their revenue. Is this fair? Given 39% of US smartphones are iPhones, any business that requires a mobile app has no choice but to accept that they need a version for iOS, regardless of Apple's terms. The CTO of Basecamp, David Heinemeier Hansson, made a good point in an interview with The Verge:
That’s always the answer of monopolists: “if you don’t like it, leave.”
When Apple is the biggest company in the world, is this kind of behaviour warranted? Bear in mind that they grossed about $50 billion from the App Store in 2019. I highly recommend you have a quick listen or read through the full podcast since it gives you a clear view of how Apple is abusing their position of power. Even though Basecamp's updates to Hey were rejected for not allowing in-app subscription purchases, Netflix managed to circumvent the policy, most likely because Apple doesn't want legal trouble with such a prominent technology company. This leads to another problem where App Store policies are not explicit or equally enforced. Only a few days ago, developers can challenge guidelines given by the App Store. This is a step in the right direction but regardless, Apple still has the final word.
The Mac App Store has the same issues, however, apps can be downloaded directly through vendors. A company can decide to let users download their apps from the web if they choose. That's not possible on iPhones. The only real way to build anything for iOS is through Apple's gates.
Steve Jobs wanted web apps to be the default for third-party apps on the original iPhone. If you don't believe me, here's the what he said during the release of the iPhone:
The full Safari engine is inside of iPhone. And so, you can write amazing Web 2.0 and Ajax apps that look exactly and behave exactly like apps on the iPhone. And these apps can integrate perfectly with iPhone services. They can make a call, they can send an email, they can look up a location on Google Maps. And guess what? There’s no SDK that you need! You’ve got everything you need if you know how to write apps using the most modern web standards to write amazing apps for the iPhone today. So developers, we think we’ve got a very sweet story for you. You can begin building your iPhone apps today.
In 2020, it's incredibly hard to believe this was the original vision for the iPhone. Apple has been fairly anti-web. For example, they don't allow third-party browser engines on iOS. All browsers, including Chrome and Firefox, use WebKit, Safari's browser engine, under the hood. The web is supposed to be an open standard where users and developers are given freedom of choice, yet Apple has forced a monopoly on its platform. Although Apple has allowed changing the default web browser for iOS at WWDC 2020, users have no choice but to use WebKit rather than other browser engines. Furthermore, Apple has been incredibly slow at adding support for progressive web apps. Features are either partially implemented or not implemented at all. Someone made a great point on Twitter that there simply may not be enough people working on WebKit to keep up with the latest APIs because the web is second class to native apps at Apple.
Web apps today are much different from what they were several years ago. The features and experiences seen in a native app can often be created on the web. It's no wonder why so many apps are web-based including the desktop versions of Spotify, Discord and Slack.
Android, Chrome OS and Windows all support PWAs (Progressive Web Apps) as well as MacOS with any browser besides Safari. Given that iOS is ran on 39% of smartphones and is always the driving force for getting new technology into consumers hands, PWAs will be difficult to get off the ground.
Hopefully, the European Commission antitrust investigation into Apple's App Store policies will bring about some change in the area. It's great to hear that conversations are being held by companies and the legal system. While this will be part of the solution, Apple will always have some level of control. Developers that do not have large platforms will struggle in silence. The only real solution is to treat PWAs as an equal alternative to native apps.