Is Apple breaking PWAs out of malicious compliance?
brucelawson.co.uk
brucelawson.co.uk
The feedback I keep getting from users is "Wait, Apple really lets you do this?"
Push notification access outside of the App Store controls is insanely powerful. Many apps don't need to be native code - but go through the rigmarole to get access to push notifications.
I think we'll see a lot more PWAs this year, and along with that - I think Apple will start to roll back some of the features like they're doing here in the EU.
[1] https://hq.booklet.group/posts/introducing-push-notification...
I am pretty confused as to why someone would even make a native app for 99% of applications these days when you can make a PWA/Capacitor app that runs on web/android/ios all in one codebase.
Even mobile games can be run on your browser on mobile, so I am not convinced the native performance is an issue at all.
- Password Manager APIs
- Notification channels
- Share Targets (Android supports this, kind of)
- Widgets
* Chrome on Android supports that.
navigator.share({ title, text, url: url })
- Ability to stay in memory for longer due to lower consumption
- Less weirdness with navigation
- More “solid” feel (less layout shifting, “flashes”, etc)
- More good practices on the default/happy path (less UX to have to think about and import libraries for)
> - More “solid” feel (less layout shifting, “flashes”, etc)
These are the result of the frameworks chosen, not PWAs themselves. Flutter PWAs are always going to be slow and weird, but there are some real gems out there that feel and navigate like native apps.
One annoying issue: Android and iOS have different standards for things like scrolling, animations, gestures, and whatnot. Apps like Voyager (https://vger.app/) feel like native on my phone, except that something feels off because of the iOS behaviour.
Implementing native back button behaviour is more annoying, requiring you to hook into the browser navigation mechanism.
I then scrolled again and this time it worked. I then refreshed the page to try again but noticed that the page started already scrolled and I couldn’t get it to properly centered right.
After yet another refresh I was getting the original scrolling issue. I also noticed that when scrolling down the top portion of the screen is a solid white bar which looks out of place.
I say all this not to pick on you but I constantly see web devs talk about how great you can make a PWA but it is constantly all of these little oddities that make the experience feel so subpar compared to a native app.
Those should have access to all features of a native app, since they are native apps containing a webview. Even if that requires some platform specific code, that's still better than completely platform specific code.
For games on the other hand, your engine should handle most of the work supporting different platforms natively, so using a native build probably makes sense for games distributed via appstores.
ie, if you have an App on the App Store, there's no explaining to do to the end user. Everybody with a smartphone has installed an app at some point in the past decade, they get it.
Once you move away from that and are having to explain to the user what a PWA is, that it's really the same as an App, just pin it to your home screen, etc etc, you just lose people.
somehow we need to promote the concept of offline websites. or of downloadable webapps.
"click here to install this application on your desktop. it will then work offline just like any other application"
A pretty good summary was posted here the other day:
> I am pretty confused as to why someone would even make a native app for 99% of applications
The install experience with PWAs is still shite. Also, the last time I checked, every browser puts the apps in a different folder on desktops, and there's no central screen that shows you ever PWA you have installed. It's hard to even find them later.
For example, on the Mac, the PWA on the above page doesn't install at all with Brave in the default configuration. There's not even an error message. Safari installs it to the Dock, not the "home screen", and so on.
PWAs are cool as hell, but the whole install process needs to be thrown away and rewritten from scratch.
2. Until You can have single button Add PWA and install on Homescreen. Current PWA is still too difficult for average consumer to understand.
3. As much as I want many more PWAs, they are still not buttery smooth as Native.
It's not too late for regulators to mandate support for them.
Interestingly, Android has the same problem. Non-Chrome browsers can add PWA shortcuts through widgets, but they can't add items to the app drawer like Chrome can. I wonder how the EU will look at Google in this regard.
Another issue: Apple's implementation of web notifications requires websites sending notifications to be installed as a PWA. I wonder what happens to these applications now.
Apple is not a resource-constrained company. None of these decisions have to be made in terms of developer time etc., because they're being amortized over so many users that the cost is negligible. It's only a question of what they choose to do.
Plus, they probably don't want to add the necessary API. The law says to treat other apps equally, not to provide the user with a good experience.
This applies to attempts to do things that take around six months and can't be compressed into one second by hiring 16 million programmers for one second, not attempts to do things that take around six months in around six months.
> Plus, they probably don't want to add the necessary API. The law says to treat other apps equally, not to provide the user with a good experience.
This is the actual reason, and thereby the criticism.
In webkit bugtracker I can see that bug is fixed but it is waiting for Safari teams approval for a year now. @apple.com developers are saying just report feedback assistant and it might get fixed...
All desktop browsers I know have a similar setting, so I'm sure that whatever is annoying you on desktop Safari can be turned off!
Unfortunately as this article demonstrates, they only have to slightly impair the capabilities of it to pretty much force everyone into writing native apps. So Apple can turn this dial to where ever it is that they feel comfortable, making it quite a nuanced barometer of how much their intent here is to capture the future of computing into their own control vs genuinely create a true platform for everyone to build the "next era of computing" together. I really hope it's the latter!
Most people don't know you can install a PWA but there's still aspects of PWAs (like offline mode, etc.) that are beneficial and invisible to the user.
You will never know when Apple decides to change rules and your app is banned from store forever.
Jen Simmons - Safaris "open web advocate" is also silent. Her social media is spammed with this issue.
Apple is very controlling about what the employees are allowed to say, and this is a cross between comments on future products/features and ongoing legal issues — things Apple really doesn't like commenting on.
It is 6 days since first reports. PR team should already given some answers.
As far as Apple is concerned a beta is a beta and all beta are off. Only once it gets a stable release will they start commenting.
I meant more so regarding future plans and other than release notes.
But fair is fair, they make comments in their release notes.
Just write some words to explain. It is not a rocket science.
"You demanded Browser choice. Here is Browser choice"
"What is this Pee Wee Aaj you speak of"
I can only hope that some day Apple/Safari are seen the same way we look back on IE6. For now, it saddens me that the very people that should be advocating for a healthy web are the ones that will choose to defend it or justify why this is a perfectly acceptable thing to do.
Waiting for apple simps to come and defend it with some bs. Honestly repeated breaches of law intentionally by apple needs a few execs slapped in jail. Negligent company needs a reigning in.