This is clear gaslighting and is verifiably false. Progressive Web Apps is a Google thing, coined by a Google engineer[1] and promoted by Google[2]. The HTML living standard does not include a single mention of the term[3].
[1]: https://infrequently.org/2015/06/progressive-apps-escaping-t...
[2]: https://web.dev/progressive-web-apps/
[3]: https://github.com/whatwg/html/search?q=progressive+web+app&...
Please don't destroy the term gaslighting. It means something very important and not at all what you are using it for here.
If this isn't a clear case of gaslighting, I don't know what is.
A lie is simply stating something that is not true. In this case, stating that HTML5 is synonymous to PWAs.
Gaslighting is an attempt to undermine an individual's (or perhaps even a group's) certainty that they are able to perceive reality correctly. It's essentially an effort to make someone question their own sanity. Lying is a tool that may be used as part of this effort, but it is not the only method of gaslighting.
It's also possible to lie without gaslighting. Speaking mis-truths may happen accidentally. But trying to cause someone to believe something that isn't true, isn't necessarily or inherently an attack on their trust in their own ability to perceive the world.
In this case, I can't see any indication that the goal is to cause anyone to feel insane.
Is the term PWA also "designed" to make me question my own sanity, which is a key component in gaslighting?
And its a very old concept in web design.
HTML5, PE & PWA is all the same thing. Just an evolution of standard practices & terminology.
[0]: https://www.smashingmagazine.com/2009/04/progressive-enhance...
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.
- 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.
"Apple rolling out anti-PWA practices" refers to them clearing local state after 7 days of no use.
How is that going to stop anyone from having a PWA app? Web browsers have to prune their cache all the time, otherwise your entire phone would be just web cache.
Local storage is intended to be cache. Nothing more. If you have something worth preserving beyond 7 days of inactivity, put it on the damn server and reload it when you have to.
For the record, local storage is typically limited to 5MB. Users visit hundreds, often thousands of sites each month. They open links through social media to some random meme all the time. So we never clear those 5MB, what happens?
Month 1: 5GB of local storage...
Month 2: 10GB of local storage...
Month 3: 15GB of local storage...
How about the idea that not everything must live in the cloud?
I like apps that keep my data on my phone.
Or when you use your phone in areas with bad connections?
Say an outdoor app, you have on your phone with lots of data you specifically wanted for this area. In case you need it. But now you have to remember to use it regulary, or you have to walk up an mountain to get parts of your old state again.
There is a difference between temporary cache and intentionally saved data. Even from webapps.
But this just means a further push to develope a "real app" inside apples walled garden, for a proper functioning app.
(assumed this auto delete of all pwa cache is actually the case, and it would be allright with me, if there are exceptions for "installed PWA's")
I like apps that act like apps, and sites that act like sites. There's a reason we don't drive-by install apps on our phone just by clicking a link. But you do drive-by install site local storage on your phone by clicking a link. So you need a way to clean those up at the very least.
> But this just means a further push to develope a "real app" inside apples walled garden, for a proper functioning app.
You can also wrap a page as an app on the App Store if that's what you want. And store infinite data for infinite time. So everything is already possible.
So you don't have to develop an app in the walled garden, you just have to submit it to the walled garden, and not do something horrible using the native APIs, and you're done.
I want to target the web.
So anyone with a decent browser can use my app. PWA'S are not simple websites. They are more. A plattform independent application with web technology.
I want app developers to jump through more hoops than people making websites, and to need my express approval to run their app on my device. I absolutely do not want documents that “progressively” turn into apps. PWA is a bug not a feature.
Why would a document have access to your camera and microphone? I am 100% sure Apple would remove the camera and microphone API from iOS browsers if they could and the fanboys would defend it with "think about children and grandmas".
The Web has a portion that is more then documents, like music/video , games, simulations/animations. It makes sense from the POV of a greedy corporation to cripple say a web streaming app so you get a 30% cut of the subscriptions, or cripple video games 3d performance (with terrilble webgl) so you get 30% of those sweet lootboxes and gems.(BTW why is Apple not thinking at children with the lootboxes stuff?)
I’m very fine with this blurry line, and using web tech for all these things, even full apps if you want, as long as you don’t expect access to intrusive or persistent features when I browse to your website, but only when I decide to install/allow your “app”.
Whether Apple is obliged to provide a platform in which web tech used in apps matches native performance and features… I don’t see why they should be, though it’d be nice.
I totally agree forcing all apps via the App Store is bad btw. Alternative app stores and side loading should probably be allowed, but that doesn’t mean the answer is more ways for websites to intrude and behave badly in the browser.
It might be news to you, but webtechnologies have evolved a bit, from displaying static documents. Have you heard of wasm for example? Quite interesting, what you can do with that. And a bit more sophisticated, than scratching together some html markup.
But I very much agree, though, that I also don't want any website to have deeper access to my hardware, without explicit consent from myself.
"Until there’s a proper open standard for “web technology” apps that are opt-in and user initiated, and clearly separated (visually and technically) from web pages (which are documents) I feel like Apple are on my side here."
So yes, there is more work needed in that area to make that distinction more clear to the users.
But I don't see Apple is pushing in that direction. Rather the opposite. Pushing into their walled garden, they control. Otherwise they would be very free and able to polish their PWA permission dialogs, to protect their users, no?
What is hindering them?
Unfortunately that's often what it comes down to. Developers who don't care about the devices they target and their software stack.
Developers should be open to learn new tech, before they reject it. Sure, go the web app route, but don't do it because you look at iOS and the App Store and you "don't know how it works and don't want to have to know".
To me it's not surprising Google wants everything to be a browser with rich permissions that easy to track, search index, put ads on and monetize. This is why they want powerful PWA. This is why Chromebooks are basically... a browser.
Apple on the other hand has crafted a platform optimized for their philosophy of UX and design. And which is often incompatible with these PWA standards that have emerged, which are often honestly sloppy and indiscriminate in wasting a user's power, bandwidth and leeching their private data.
Apple and Google have diametrically opposed goals here.
- Apple wants a free and powerful web, but not a web so powerful it takes over your entire phone, because let's face it, the web is a giant balls of kludges, it's a miracle they work at all.
- Apple wants to save battery, to value user's privacy, and to allow the device to use its full potential through native APIs that are integrated with hardware functions etc. but not abused (which happens without at least cursory review process).
- Google doesn't care about wasting power, doesn't care about privacy, they run an ad business and a search engine. They want three things:
1. Everything everywhere should be the web.
2. The web should have access to everything on your device.
3. Google should own the web.
Well no, thanks.
I know that native apps are superior in performance over web apps, sure. And I certainly won't say every app has to become a pwa.
But for most simple apps, webtechnologies as a plattform are mature and performant enough.
And if you never would want to install one - thats your decision. But my decision is, that I don't want to specifically target apple technology. Just like with Microsoft, Samsung, LG, Google or whoever wants to copy apples walled garden.
I like plattform independent.
So you put yourself before your users.
But you don't like Apple puts themselves & their users before you.
Turns out users should side with Apple in this case...
Well then: how about you as a apple user only care about yourself and want every developer to cater for your special needs?
And don't care that most of the world has no apple device (and maybe don't want to, or can't afford).
And I as a developer want to target a neutral plattform. Because I care about all my potential users and not just apple and android ones.
It does not have to be the web. But this is currently the best we have.
Feel free to propose a better standard. And like I said: for full performance there are native apps.
For best portability there is the web.
I like choices.
So you put yourself before your users."
Sounds like an insult to me. Selfishness is regarded as a bad trait.
And I actually do care about other people beyond their money. Which is exactly the reason, why I did not decided to tend to the most lucrative market only: apples walled garden.
A more cynical take is that Apple want their cut of any revenue that goes through iOS and intentionally hamstrings PWAs at the expense of their users to achieve this. Either or neither could be true.
Everyone keeps talking about how they "intentionally hamstring PWAs". They kicked off HTML5, remember? They shipped the first real web browser on a phone, remember?
Now they chose to implement some Google-pioneered APIs selectively to preserve UX, performance and privacy and everyone is up in arms.
As a web developer I never felt Safari lacks something I really need. As an app developer, Swift is possibly the best dev experience I've ever had, next to C#.
All this is about letting people comfortable hacking everything in HTML to make "apps". Well I wish I could contribute to the Linux Kernel with my HTML apps, why not? Why is Linus hamstringing PWAs, ffs. /s
I'd argue that forcing someone to use your service by preventing others from offering the functionality and handicapping your own implementation is in fact a dirty thing. They get their cut when someone purchases an iPhone.
> Everyone keeps talking about how they "intentionally hamstring PWAs". They kicked off HTML5, remember? They shipped the first real web browser on a phone, remember?
So what? They didn't launch with the app store, and since it was introduced they appear more and more hostile to the changes they helped kick off. According to others in the thread they won't even allow webapps to send notifications, a fairly basic/fundamental feature of mobile phones. Elsewhere people go into further detail on how Safari's storage APIs are released buggy and broken.
> All this is about letting people comfortable hacking everything in HTML to make "apps". Well I wish I could contribute to the Linux Kernel with my HTML apps, why not? Why is Linus hamstringing PWAs, ffs. /s
This is a total mischaracterisation of what people are asking for which is simply to allow applications delivered through a web browser greater parity with native applications.
I work on a b2b web application and being able to store larger amounts of data on the client with user permission would be fantastic for both performance and user convenience.
The web is the truly only open platform that's still alive.
Except now you're paying $100/year and giving up 30% of any revenue for the privilege of allowing your users to store data on their phone?
I think local storage could use some improvements, especially with regard to giving users more control over what is stored there, but it provides much more freedom than participating in Apple's app store.
For example Apple's store doesn't want these web wrappers: https://developer.apple.com/app-store/review/guidelines/#min...
The paradox is that you have far less control with an app, and most come with even more analytics than a webpage. Apps in the Play and App stores don't make me feel any better than PWAs, quite the contrary. I've a LineageOS phone and use apps from F-droid to have a modicum of control and privacy, coupled with an ability to have it be usable without network.
Yes, and you should take the trouble to install those 'things'. Or host on a server you control.
The notion that a remote website has persistent storage rights on my device because I visited it a while back is ... odd.
It's reasonable to think there should be some user controllable "install" process to enable this.
But it's also reasonable that an application should have permanent local storage in some cases.
This, as a user and as a reasonable developer, seems exactly right. The “progressive” part happens when I want it to and initiated by me, so the developer can’t shove it down my throat or trick me into enabling their “app”.
So much of this argument is down to entitled web devs and companies that want to take advantage of the fact I’m reading their website to start installing software, sending notifications, reading from sensors etc. without permission.
That’s not an application it’s malware.
> I like apps that keep my data on my phone.
LocalStorage is simply not appropriate for this. The act of keeping persistent data should be transparent to the user, via "download" (save to disk) and "upload" (load from disk) workflows. This also allows the user to manage e.g. their own backups for this data, which they can't via localstorage.
That's horrible. If native apps would have to work like this to persist anything, instead of billions of users worldwide, they'd probably have 50-100x fewer users.
Users actively go to their App Store and choose to download an app. They don’t just get something installed, or not, in some obscure part of their device’s storage, without ever knowing about it.
Like I said in the originally statement: it would be allright for me, if apple and everyone else, regulary deletes all local storage of any pwa's that haven't been installed. And I have read nowhere here in this thread, that anyone is in favor of PWA's sneakily installing.
Yes, it should be very clear and visible, when you install something. But that is for the browser/OS makers to implement and not the issue here.
Perhaps I misread, but the parent seems horrified at the idea that users should get to know they are downloading something and that such knowledge would supposedly ruin native apps adoption.
I was merely pointing out that it already is, albeit partially, the case, and yet said apps are quite popular.
You can add any website to your home screen. Most behave like mere shortcuts.
Unless the web app chooses to tell you that doing so will make it persist on your device, there’s just no way for the average user to know ¯\_(ツ)_/¯
> If you have something worth preserving beyond 7 days of inactivity, put it on the damn server and reload it when you have to.
It could be also true about native apps, heck, why do we even have any storage option beyond 7 days except on servers? If what you said were true, why would they not have the same policy for native apps? It's just an excuse to cover up how they knee cap PWAs.
Their actions result in PWAs that can replace native apps even less often than today. PWAs had the potential to be free and platform independent, whereas Apple has much more control over their native apps. See your own example with the local storage: it doesn't make it completely impossible to make PWAs, it just makes it overall a worse option, for both devs and users, so it's easier to go ahead with the native app.
If they actually did that, it'd be crippling installed PWAs compared to native apps, since you couldn't persist anything without an account.
However, from what I remember, they don't actually clear the state of installed PWAs for the primary domain, since the 7 days only count down if you actually open the app on that day.
We're can I read up about this intention? I always thought local storage was just that, local storage.
Setting the same limitations as a website for a PWA defeats a major purpose for using them.
However, iPhone OS 1.0 launched without encryption enabled (not sure why, iPhone OS 1.1 enabled it), so this made reverse engineering efforts a lot more straight forward. For end-users, jailbreaking was trivial, you'd literally visit jailbreakme.com and a TIFF exploit in Mobile Safari would automatically jailbreak your phone (or in my case, iPod Touch) and install Installer.app[3].
A reverse engineered SDK was used to write apps and made quite the splash. This encouraged Apple to make available an official SDK. I'm not sure whether it was public pressure, or just that Apple saw the ingenuity of what people were achieving with Apple devices. However, iPhone OS 2.0 introduced the App Store, and the rest is history.
[1] https://www.theguardian.com/technology/appsblog/2011/oct/24/... [2] https://9to5mac.com/2011/10/21/jobs-original-vision-for-the-... [3] https://en.wikipedia.org/wiki/JailbreakMe
"Progressive Web Apps" means Chrome-only at this point. The framing of this discussion in terms of "Open Web Standards" vs "Apple's walled garden" is just hiding the fact that's Google who're paying the bills and calling the shots on the web "platform".
Sent from my notebook running Chromium (for webapps) alongside with FF for the extant web such as HN.
I think this part is interesting, because it's still true:
> Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.
If he would have done much different, I don't know. I also guess his main concern with Flash was, that he couldn't control the proprietary plattform. The flash player could have been improved ... but Adobe would have been still in charge.
Oh, the irony.
The original IBM PC had pretty open hardware and software, both a little unintentional. Hardware-wise they published everything so add-in cards and more could be developed. Sofware-wise they didn't hold Microsoft to an exclusive agreement for PC-DOS so MS-DOS could come out.
Later they tried to close the barn door with very locked down hardware with the microchannel bus and IBM's own operating system OS/2. But it was too late...
I actually think Apple and their customers would be more successful with open hardware. When they went from powerpc to intel with more generally compatible hardware, I think that was great. Now they're reeling it back in, and I wonder if they'll be following the same path as IBM did...
Phone ... smart phone opened? From Nokia, Newton, palmpilot, windows phone, ...
The question is whether the phone business model can bring it to desktop and conquer there. Wonder.
I like my phone is walled garden and I can take risk of my collections of pc.
Those words of Steve might have been true back then. It is far from the truth today.
At least Apple no longer sees selling more devices as their primary motive. Remember when the App Store started, Steve thought it would be about the size of their iTunes Store.
I think you should read that essay again. In the context of the mobile web, it argues for HTML and against Flash. In the context of apps, it argues for native platform technology and against Flash. It doesn’t argue for using HTML for apps.
Edit: Quite confused about why this got downvoted. If you disagree with my reading of the article, could you explain what in the essay suggests focusing on HTML5 for mobile app development?
Apple's preferred approach was web apps that you could "install" to the home screen on the device.
While that functionality is still available, Apple has left that web app approach stagnant - not adding features that other platforms/browsers have, and reducing performance compared to running the same web page in Safari.
Second, this is completely irrelevant to claiming that the essay in question suggests developing mobile apps with HTML5. That’s just flat-out incorrect.
All thanks to Scott Forstall, he was the only one doing heated debate with Steve Jobs. And his word "HTML5 will never be as good as native apps" is still true today, whether it is on iOS or not.
I really do miss Scott Forstall.
Or maybe because PWA is a flawed concept? At least that's my take as a consumer and a developer. As the sibling commenter noted PWA is also a Google concept, with corporate strategic interests behind, it's not as simple as it appears.
Apple deleted the essay exactly a week before they stopped supporting Adobe flash.
Thanks for HackerNews it's all saved here =)
HN submission: https://news.ycombinator.com/item?id=23652461
My comment: https://news.ycombinator.com/item?id=23654011
Another user comment: https://news.ycombinator.com/item?id=23655374
I just use one: "Brewfather", a fantastic home brewing (beer) app which can even use some Bluetooth API to communicate to local devices (Chrome-only of course). On my iPad, I'm using the app though.
In the essay [0], Jobs suggested mobile app development on should focus on HTML5 (which is now called Progressive Web Apps / PWA)
Apple has has been recently been rolling out anti-PWA practices [1].
Probably to reinforce their "walled garden".
[0]: https://web.archive.org/web/20170615060422/https://www.apple...
[1]: https://ionicframework.com/blog/is-apple-trying-to-kill-pwas...