It's time for Apple to stop sabotaging Progressive Web Apps

After years of playing of absolute control over iOS, Apple is finally seeing the first serious challenge to its power. Both the USA and EU have launched lawsuits claiming that Apple's dominance over their ecosystem amounts to a monopoly. Apple has countered that they cannot offer a safe, beautiful, and feature-rich experience without total control over their garden, and that the cost of building the tools developers must use to play in it justifies the fees they charge.

Apple deserves its success

You may agree or disagree with Apple's stance, but there is some validity to it. Apple has invested heavily in Swift, Xcode, the App Store, and all the frameworks that developers can enjoy when building native iOS apps. By having complete control over the full software and hardware stack, Apple can build innovative new products like AirPods or the Apple Watch.

The governments that are taking on Apple have a valid argument as well. There is no denying that Apple's control has stifled innovation from other competitors and has made it much harder for companies that must find a way to deal with the 30% service tax that Apple itself does not need to pay.

It's difficult to predict the outcome of the EU and USA legal battles, but there is a solution that allows developers who want more control over registration, distribution, and sales to launch on Mobile. That solution is progressive web apps.

Developers need a valid alternative

There's a good reason most developers don't consider web apps (the term I'm going to use for PWAs from now on) when building for mobile. While there are are no solid figures on web app adoption, the lack of real world usage is pretty obvious (take a look at your phone - do you have any installed?)

Installing on iPhone

Installing a progressive web app is on a mobile device is a burden. This is very much by choice. If you use an iPhone, the installation process requires opening to the share sheet, scrolling down to the "Add to Home Screen" button (no mention of Install anywhere!), and confirming the addition through a UI that looks more like a bookmark than a store page.

Installing on Android

Android users have it much better, but even this experience is totally different than a native app. At least developers have the ability to add a custom "Install" button on their website

PWAs have been supported for a while, but they've been neglected in the iOS world. Apple does support web apps, but they're rarely used.

The current state of PWAs feels a little like the green bubble/blue bubble issue in iMessages. It's possible for Android users to chat with iPhone users, but there's a stigma and limitation to the green bubble that makes it uncool. PWAs are a little like this, but with even more limitations. At least green bubbles work the same as blue bubbles!

Making PWAs great

Treating web apps as first-class citizens and solving the distribution problem is essential. We don't have to look far to see what a first-class experience for web apps looks like - just look at how mobile apps are currently distributed.

Companies that offer native apps can show buttons that allowing one-click installation anywhere on their website, not to mention QR codes and other easy distribution mechanisms. Users can search for the app name on the app store. They can even see the number of ratings and review score for the app directly from the website.

Getting progressive web apps on the App Store might be a bit of an ask, although there could be restrictions on bundle size (along with all the other limits PWAs currently deal with) to reduce Apple's cost of supporting these 'freeloaders'. But a lot of this experience could be achieved with just some kind of a custom customizable button to install a web app directly to the phone - something similar to what Android already offers.

Asking for more

Distribution is the biggest challenge facing progressive web apps at the moment, but there are other feature limitations that may make these the solution un-viable.

I think it's unfair to expect that Apple should support all of its modern frameworks on web apps, but it should be possible to build a competitive app using the tools available. Thankfully, the open-source nature of Webkit and Chromium makes it possible for open-source developers to build missing features as technology evolves.

What we really need is a heavy hitter to go all in on progressive web apps - an Epic, Meta, Tik Tok, or similar. This won't happen until web apps feel like first class citizens, but if and when they do my hope is that a few big players will use their weight to push all of us forward.