- Apple added support for blob.stream() in Safari 14.1 but calling the function causes a null pointer exception and crashes the renderer process [2]
- Read this summary of Safari changes in iOS 14.5 (released a few weeks ago, and without an official changelog for nearly a week) and tell me that Apple isn't trying to kill PWAs through neglect [3]
[1]: https://twitter.com/jaffathecake/status/1389493762129375232
Apple does not want PWAs, they want all apps in the walled garden.
The rest is just “theatre”
I'm not recreating my websites in app form just to have that. But Apple sure wants me to.
If Apple doesn't allow PWA to use notifications (current situation), then neither the developer or you as a user have a choice.
Guess which one is best for the users overall? Guess which one is best for Apple overall?
I suspect Apple has internally discussed it and concluded that it would too likely be abused and result in a poor user experience.
Also, Apple deliberately does not like background connections for battery saving reasons which is why everyone is required to use their push service, meaning iOS maintains a single energy efficient connection instead of each app maintaining their own TCP connection which may have no regard for energy efficiency.
I acknowledge it's possible that they don't want to remove reasons for people to rather make native apps, but given the other reasons, it would not be my first guess.
I really wish Google would crack down on this between the Googlebot and Chrome. There's zero valid reason for a website to send a notification request without user action to initiate it. The Googlebot could record any unsolicited notification requests and negatively impact the ranking of those sites, it's a decent indicator of scammy sites to begin with. Not to mention blacklisting those sites from making a notification request to Chrome.
Chrome could also just watch for notification requests no differently than how popups are blocked already. I'm sick of the hordes of websites constantly spamming those requests. What's sad is that I'll frequently see other users actually accepting those requests and getting a barrage of ads that they don't understand how to stop. This isn't rocket science to fix.
I'd compromise on "Install" vs. "Install with Notifications" as two options when buying/downloading an app. But having to do any of the developer's administrative bullshit when I'm trying to use the app is disrepecting my time.
Otherwise I don't want to see that shit until I go into a "Settings -> Notification" menu and explicitly enable it. And never in a web browser.
The model of "user choice" has contributed more to the modern hostile computing environments of the past decade than maybe anything else. Users don't want choices, they want tools to help do what they want, not what mediatech/adtech/social garbage app firms think they should want. Mostly, users want their computers to shut the fuck up and get out of the way.
I've made a messaging web application for my work, and notifications are important for a messaging app. Luckily it's a small business and everyone who needs to access it has an Android
Allow non-Safari browsers (not just re-skins!) on iOS and I'll believe the author.
Also, most users are not aware that third-party iOS browsers like Chrome, Brave, and Firefox are actually just light UI "skins" on top of the Safari browser engine, Webkit. Apple refuses to allow third party browser engines on iOS.
So this means that it's not possible for users to just switch to another browser in order to use more powerful web apps. They're literally prevented from doing so by Apple's policy to ban browser competition on iOS.
[1]: https://www.accc.gov.au/system/files/Apple%20Pty%20Limited%2...
IME even a lot of developers are unaware of this fact.
An added annoyance flowing from this is that Apple does not allow remote debugging for webviews, so any reasonable debugging flow for those browsers is blocked. Great fun when you have a bug in iOS Chrome only.
(1) https://webkit.org/web-inspector/enabling-web-inspector/
Apple does not prevent or refuse third party browser engines.
That article is from a year ago and the author's conclusion is more or less "no, Apple isn't trying to kill the web; it's reasonable to have some time limits in place." Safari clears some script-writable storage for a site after 7 days of Safari use without visiting that site, but home-screen installed webapps aren't affected.