Note that I don’t support at all this decision to cooperate with an autocrat.
Note that I don’t support at all this decision to cooperate with an autocrat.
Apple is the company that is actively sabotaging PWAs.
The option to install a PWA as an app is quite hidden, compared to Chrome.
They refuse to implement push notifications.
In general, Safari is dragging their feet in supporting any web standards that would allow PWAs to compete with apps installed from the App store, while at the same time being the only browser allowed on iOS.
getUserMedia is now supported in WebViews, so one can build, for instance, a FaceTime competitor that runs on Chrome on iOS, where it wasn't possible a few months ago. But the Fullscreen API still isn't supported, a blow to the web-based FT competitor.
What else?
I deliberately disable push notifications in all messengers to avoids distractions, even though I'm actively using the messengers _when_ I want to sync with people.
Other users have other priorities.
"Nobody wants...." is probably best interpreted as "No developers want to build..."
Also could be workaround, but looks complicated:
https://stackoverflow.com/questions/39665367/how-to-prevent-...
Seems to affect most/all permissions, e.g. https://bugs.webkit.org/show_bug.cgi?id=213468
Looks like persistent permissions might be in the iOS 15 beta though: https://bugs.webkit.org/show_bug.cgi?id=228317
Also appears that they're implementing the Permissions API:
https://developer.apple.com/documentation/webkit/webview
Before iOS 14.3, getUserMedia didn't work in WebViews. See note 3: https://caniuse.com/stream
Honestly I'm confused that if a PWA is a viable solution, why this isn't just a website?
PWA was touted in the comments as a possible alternative, but PWA on iOS is not a very viable alternative to a native app in my view.
Just because a native app could be a PWA which in turn could be a website doesn't really say much about which of these it actually should be. Most apps I use on a daily basis could technically be websites, but that misses the point of why we like using platform-native apps in the first place.
EDIT: It seems it is also a website. And that's blocked too: https://news.ycombinator.com/item?id=28562772
It's worth mentioning that Navalny's team is funded via donations, and they could poll whether PWA is a viable option for communicating with their audience.
Conversely, just because something could be a native app, doesn't mean that it should be.
I use as few native apps as possible, as I much prefer the stronger sandboxing provided by the browser.
Why do you think that Twitter and Reddit nag you to install their shoddy native apps every time you visit their shoddy websites?
A native app can use push notifications (which are encrypted) to receive data and the only way to block such an app would be to block access to Apple's servers completely.
They can also block whichever server is hosting the API native apps connect to. Doesn't seem much of a win for native on that front, unless the data is stored permanently on device.
For example, when government tried to block Telegram, it used push notifications to send addresses of new (not yet blocked) servers to the app (of course, you can send different addresses to different devices). It helped Telegram to evade blocking and it worked.
As I understand, you cannot do it with PWA, especially if the browser doesn't encrypt DNS requests.
So with native apps the only way to block them is either block App Store completely or push on Apple to remove the app.
If the browser supports encrypted DNS and hiding SNI (which needs TLS >= 1.3) then there are chances to evade blocking with PWA. But as I understand, Safari doesn't use encrypted DNS by default (I wonder why).
In my view the PWA route is pretty crippled on iOS compared to what's available on Android - so its usefulness as an alternative is extremely limited.
[1] - Though it is astonishing how well the cloud gaming options work as PWAs. The one place where they've made any headway.
As per my other comment, I don't tend to agree that PWA is a decent alternative but that's a different point altogether.
PWAs do exist on iOS, as you correctly point out.