> Which spec is Apple not supporting that would make that possible?

Background Sync on iPhones is terrible, see https://developer.mozilla.org/en-US/docs/Web/API/Background_...

In addition, Apple exposes limitations on local storage that go far beyond what specs demand. PWAs can save a maximum of 50mb of storage, which is woefully insufficient for an app platform that lacks good data export mechanisms. This is entirely Apple's choice, there is no limitation in the spec that requires this.

In addition, Apple wouldn't need to use a web spec to improve storage reliability. We're not talking about a web standard at this point, we're just talking about persisting data in a way that users can inspect, and syncing data across devices. There is no web standard that Apple would need to adopt to allow Safari data from PWAs to be stored in iCloud. And that shouldn't be a web standard, it should be part of the browser as a user agent. Browser sync is not a web standard and should not be a web standard, and yet every major browser supports it to some degree including Safari. Apple isn't following a web standard when it syncs your bookmarks, and it's not obeying a web standard when it refuses to sync your localstorage.

Apple is also not following web standards when it periodically deletes localstorage for non-PWA websites when they haven't been visited in a while. Imagine if you played a game on your phone, put it down for a month, and came back and everything you saved was just erased because Apple deliberately erased it. That's how Apple approaches web storage, and obviously that's a dealbreaker for serious application development.

And this is not something Apple has to sit around waiting for web standards to evolve in order to fix. It's 100% their choice.

> No you were saying that users don’t care about device sync and would be happy with only local storage.

No, I very clearly was not. I was saying that local storage is important and it matters, and that device sync is not a perfect substitute or necessarily desirable for every app. Which is correct. Device sync is not a substitute for reliable offline storage.

Note that it's extra super-not a substitute for reliable offline storage if Apple is the one in charge of it, because the offline storage is what gets synced. And if Apple is regularly deleting all of your data, then it doesn't matter that Apple is syncing it, because they will also sync the deletion.

We could sort of broaden this out and say that PWAs lack reliable storage period, whether it's synced or not. Only 3rd-party servers can be trusted not to delete data (which is terrible for privacy), and Apple devices can't be trusted to send that data to the 3rd-party server if the app is used offline.

In short, Apple has ensured that PWAs are not a great fit for storing any kind of important data, regardless of how you store it.

> And BTW, the notes app on Mac also automatically syncs between my Mac, iPad and iPhone - yours doesn’t?

Synchronization for every single app you mentioned is optional. Not everyone uses that stuff. And yeah, there are large portions of the population that use apps that don't sync. I don't know if it's a majority, probably not. But like... I'm sorry that programmers get to use apps too? I don't know what you want me to say, it's a non-trivial demographic that doesn't sync their data everywhere, and if you're trying to build a private platform that respects user autonomy, data sync should be optional.

> Apple restricts background processes for all third party apps to save battery life. It’s been this way since 2010.

This is a silly excuse. First, 3rd-party apps are restricted far less than the web is, it's not an example of Apple just applying the same rules everywhere. Second, 3rd-party apps don't need the same level of background access because they have reliable offline storage and their data gets synced to iCloud. Third, Apple doesn't need to give extensive background process access to web apps, it just needs to not randomly erase their data or fail syncing process.

Background updates are available to 3rd-party apps to a higher degree and with more reliability than are available to the web.

Finally, it's worth mentioning a detail that you glossed over here: 3rd-party apps. Part of the anticompetitive complaint against Apple is its privileging of 1st-party apps, both allowing them to collect more data than they should be able to collect and allowing access to privileged APIs that aren't available to other developers. This is part of the reason why Apple doesn't currently have a good solution for 3rd-party PWAs on iOS -- because they never built a security model. They just trust Safari to handle everything, which has led to some fairly embarrassing security vulnerabilities in the past. This lack of separation between the OS and 1st-party apps is part of the reason why privilege escalation bugs tend to be more serious in Safari than in other browsers.

I'm sure your take on this is that Apple is completely justified in giving its 1st-party apps access to capabilities that are not available even to other native apps, but the majority of us would call that anticompetitive behavior.

Not really relevant to the web but worth bringing up, this is not Apple's first time restricting competing platforms.

> You really think iOS users don’t have iCloud accounts? Have you actually ever tried to use an iOS device without an account?

Yes, I set up devices for my nieces without one, and I used a dedicated work Mac without one. Apple devices are very usable without accounts. It's not perfect, but it's impressive, Apple IDs really are fully optional for every Apple device I've ever seen or used.

Which, good on Apple for realizing that is an important use-case to support.

> You realize that Apple’s equivalent of Google Docs - the iWorks suite has synced across devices since 2010 don’t you?

Optionally. Also, wasn't restricted to only 50mb of data either. There's no comparison here, there is no strangled logic path for you to go down to pretend that native apps are not privileged over the web in this area.