Safari and Progressive Web Apps ⇥ ar.al
Aral Balkan is one of many developers who have raised concerns about Apple’s just-released update to Safari:
Block all third-party cookies, yes, by all means. But deleting all local storage (including Indexed DB, etc.) after 7 days effectively blocks any future decentralised apps using the browser (client side) as a trusted replication node in a peer-to-peer network. And that’s a huge blow to the future of privacy.
Ignoring the whataboutism that Balkan invokes with regards to Apple News — which, as far as I can tell, is not a fair representation — and the App Store, this is a reasonable question: are web apps that use local storage now impossible to build?
John Wilander of Apple’s WebKit team updated the announcement to clarify:
As mentioned, the seven-day cap on script-writable storage is gated on “after seven days of Safari use without user interaction on the site.” That is the case in Safari. Web applications added to the home screen are not part of Safari and thus have their own counter of days of use. Their days of use will match actual use of the web application which resets the timer. We do not expect the first-party in such a web application to have its website data deleted.
This change effectively creates a distinction between web apps that users run by typing in a URL, and web apps that users run by tapping an icon pinned to their home screen.
I get why this [upsets some developers], and that progressive web app technologies are used on websites that are not web apps. But I suspect that the real-world impact of this will be felt little by users compared to the frequent misuse of these technologies for tracking purposes.
Amazing the number of developers who think “Oh yeah, of course every web page you visit should be a full-fledged app that has permanent storage on your computer”.
I still think it’s remarkable that you can visit a webpage and somehow your web browser will dumbly execute literally every valid command written by the developer. It is often magical; it is also indicative of developer hubris to decide that everything they do is right and just.