Apple has disabled Progressive Web Apps (PWAs) in the iOS 17.4 beta, raising concerns about anti-competitive practices and the future of web apps on Apple devices.
Abstract
The latest development in Apple's stance on web applications has sent shockwaves through the tech community. With the beta release of iOS 17.4, Apple has made the surprising move to disable PWAs, which was confirmed by a popup notification observed by users. This decision comes after years of Apple restricting the capabilities of web browsers on iOS by mandating the use of the Webkit engine and failing to implement essential features, thus hindering the performance and adoption of web apps. Despite recent improvements in Safari, such as the introduction of push notifications and the File System API, the disabling of PWAs is seen as a significant setback. The reasons behind this move are unclear, with speculations ranging from compliance with the EU's Digital Markets Act to a desire to protect the App Store's revenue. The impact of this decision is far-reaching, potentially affecting the ability of browsers to install web apps and provide features like push notifications and isolated storage. The tech community is now left to speculate on Apple's motives and the implications for the future of PWAs on iOS.
Opinions
The author suggests that Apple's decision to disable PWAs may be due to the company's inability to comply with the Digital Markets Act without compromising iOS security or a strategic move to maintain the App Store's dominance.
There is a perception that Apple has historically undermined the development of web apps on iOS by limiting browser capabilities and failing to address bugs in Webkit.
The article implies that Apple's actions are anti-competitive, prioritizing native apps and the App Store's revenue over the advancement of web technologies.
The author expresses concern about the future capabilities of web browsers on iOS, especially regarding the installation of web apps and the use of features like push notifications, badging, and isolated storage.
The move to disable PWAs is characterized as an "absolutely unprecedented" decision by Apple, reflecting a significant shift from the company's earlier support for capable web apps.
Just when you thought things couldn’t get any worse, Apple decided to disable PWAs in the beta release of iOS 17.4. At first I thought this was a bug, something not uncommon for beta releases, but then I saw this tweet that show a popup that even indicates PWAs are disabled:
Really, Apple?
For years, Apple has frustrated the development of web apps on iOS by requiring competing browsers to run on the Webkit engine and then refusing to implement core functionalities in it, so no browser on iOS would be able to compete with native apps.
There are still many bugs in Webkit that hinder web apps and Apple is slow to fix them, if they fix them at all.
On the bright side, Safari has made quite some progress lately by implementing push notifications and the File System API, and the team announced they will also implement View Transitions and the Navigation API. Even though things like push notifications are still suffering from a very minimal implementation, it looked like Safari was finally catching.
Until Apple dropped this nuclear bomb.
So, where are we now?
Of course, we don’t know what the final release of iOS 17.4 will bring. The Register asked for clarification but as expected, Apple didn’t respond.
Maybe Apple saw now other way to comply with the Digital Markets Act (DMA) in the EU than disabling PWAs altogether. Maybe they haven’t found a way yet to allow web apps to be installed through other browsers without compromising the security of iOS. Or maybe they really don’t want capable, installable web apps on iOS that compete with native apps, because after all, the App Store is Apple’s cash cow.
We just don’t know and we’ll have to wait for the final release of iOS 17.4 but from the way things are now, it doesn’t look good to me.
The question is: if they keep it this way, will they get away with it?
For the European Commission to fight this, they will need evidence this affects business users. But there are relatively few businesses that invest in PWAs because Apple has frustrated PWA development by not supporting them on iOS.
Where will PWAs be?
In the tweet from Mysk you can see in the video that the installed PWA is opened in the user’s default browser. Currently, all browsers run on the Webkit engine on iOS and all PWAs on iOS run in a Safari process, even if it was installed through another browser.
When side loading is enabled on iOS, a real Chrome browser running its own Blink engine can be installed which should mean it has all capabilities on iOS it now already has on Android (for example Bluetooth access, vibration, Background Sync etc.)
Even when installing PWAs is disabled on iOS, at least other browsers should have the capabilities they now don’t have on iOS. But that should also include being able to install the web app as a PWA with the install UI that Chrome and Edge now offer on Android and desktop:
Install UI for web apps in Chrome on desktop
Will Apple (be able to) disable this as well?
I guess it comes down to the question if installed web apps will run inside some Safari container on iOS or they will run inside a process of the browser the web app was installed with.
If no browser will be able to install a web app on iOS, this also means no push notifications, no badging and no more isolated storage for PWAs.
Unfortunately, it looks like Apple will be able to block installing for now:
We’ll have to wait for the final release of iOS 17.4 to be sure but even for Apple, this is an absolutely unprecedented move.
At best, it shows that Apple believes in the power of PWAs to the point it’s willing to go to extreme lengths to prevent them from competing with native apps.
At worst, it shows Apple is anti-competitive and is in stark contrast to their late founder who once has a strong vision on capable web apps until the walls around their App Store were erected and the money started pouring in.
Join my email list Modern Web Weekly for a weekly update on Progressive Web Apps (PWA), Web Components and new features of the modern web platform, tested and explained in plain English.