iOS 16 to support Web push notifications in 2023
apple.com
apple.com
[1] https://developer.apple.com/library/archive/documentation/Ne...
Hopefully Apple revises this policy (i.e. give out free certificates limited to a certain amount of notifications or a certain amount of domains) but I wouldn't keep my hopes up.
Luckily, several governments are preparing to add legislation to force Apple to allow alternative browser engines, so there's still a chance this problem might resolve itself in the future.
I have no trouble seeing value in creating a little friction for intruding on users attention.
I would accept a compromise like "you get to ask for permission if you install the program as a web app through the menu" or something similar.
I'm all for trying to end the shit blog spam and adware that only abuse the notification permission, but I also want to be able to use this tech myself. Notifications on Android and presumably iOS are a solved problem, I don't see why web applications would need to be different.
"You do not need to be an Apple Developer Program member."
One of the biggest advantages native apps have had over websites is the ability to send notifications.
This difference has disadvantaged individuals and companies that find themselves needing to invest in both having a website and a mobile app, and discouraged investment into good web experiences. As websites can finally provide experiences and leverage notifications as well as apps have been able to, I think we’ll see the quality of the web improve considerably.
Web push notifications have basically only been used to make shitty experiences. Random websites sending you ads, every news site you just happened to click to read one article trying to trick you into letting them send notifications for new articles they publish, etc.
A website spamming you is very different from an app spamming you. Going to the app store and installing an app takes much more buy-in from a user than just clicking a link. If someone shares a news article from a random site I've never seen before, I might be willing to click it. If that same person told me to install an app to read an article, it's not happening in the first place. I've got a very short list of curated apps I installed on my device. The web is mostly garbage though and most of it shouldn't be sending notifications.
Even if that’s not the case though, still dont see how it’s different than app notifications.
For example, putting notifications in the scheduled summary or asking users if they want to turn off notifications from an app they haven’t engaged with recently.
On the other hand, why should I have to download an app in order to know when I get outbid on eBay or a notification when a package is delivered. Like any messaging channel, not every business is going to use it in a smart way overnight. But I’m confident Apple will put the right guard rails around it, and it will be a welcome replacement to email. Unlike email, web push is privacy friendly, and has standard opt-in and opt-out methods.
What’s wrong with prioritized emails? Of course they prefer to send you push notifications via app because it is an additional (and someway less filtered) channel.
Once also push notifications will get the same spam inbox filtering system (which iOS already has) then we will all scream for the next channel to be filled of spam (retina displayed popups?)
To your point, maybe we should innovate on email and add these capabilities to email, instead of building apple/android specific push solutions. I'd love to see that, but we don't live in that world.
Developers are supposed to clearly separate notifications into groups that users can turn off individually, but right now it's not something that gets apps rejected from the app store review process[0].
Also, iOS 16 introduces managing shipping in Wallet[1], however apps need to use an API to 'ship' their tracking numbers to the Wallet app; wish this included the ability to manually add tracking numbers and/or scan mail from the built-in Mail app for tracking links.
0: https://developer.apple.com/design/human-interface-guideline...
1: https://www.apple.com/ios/ios-16-preview/#:~:text=Apple%C2%A... (ctrl f "track your orders")
It’s a bit ambiguous, but the Apple App Store guidelines seem to require you to be able to opt-out from marketing push notifications, while still keeping other notifications.
From guideline 4.5.4: “Push Notifications should not be used for promotions or direct marketing purposes unless customers have explicitly opted in to receive them via consent language displayed in your app’s UI, and you provide a method in your app for a user to opt out from receiving such messages. (..)” [0]
The developer/user experience guidelines also recommend to have a clear screen to opt-in and out of different types of notifications, and never to abuse privileges (e.g. send marketing notifications with a “time critical” flag to break through focus mode etc.).
I really hated Uber Eats when I thought they were abusing their notification privileges to send spam. But I recently found out that they do allow you to opt out of marketing notifications while still allowing order-related notifications (although they really are pushing it (pun intended) by sending at least two post-delivery notifications asking for tips and ratings, which could easily wait until I actually open the app again or at least be limited to just one delivery confirmation notification). Not sure if they are asking for clear opt-ins for new customers (they probably assumed opt-in based on some general consent I gave before this Apple policy came into effect).
[0] https://developer.apple.com/app-store/review/guidelines/#app...
[1] https://developer.apple.com/design/human-interface-guideline... (“Sending Marketing Notifications” at the end)
This part is a bit chicken-and-egg. If you have to build a mobile app regardless, because iOS doesn't support web push, why invest in web push too?
Once this rolls out I anticipate we'll see legitimate use cases in greater numbers, as some new projects realize they don't need to be apps anymore.
Rather than reject them one domain at a time, I disabled it entirely in Firefox. The entire feature is essentially useless because of this.
As a user, like hell am I ever going to enable this.
My only problem with the 7day storage limit is that every and any site gets the 7-day limit with no regard to if the user has interacted or actually used it, and to me that fails the privacy test. I've posted some ideas about that here before (https://news.ycombinator.com/item?id=30402242)
With safari I’ve found in practice you can’t really rely on the local storage for what it’s worth.
However, when my kid clicks a link in a game, that opens an ad in Safari, which he immediately closes, shouldn't get the same storage limit as the site I built for my town to check on garbage collection days.
In that scenario the storage the ad used should be cleared immediately, to protect privacy and eliminate tracking.
But my garbage collection site, built to be easier than the the PDF from the township, should be allowed the 7 days (preferably more, garbage collection is every 15 days, excluding holidays). And in case the user enters his address I should be able to store it even longer than that in localStorage for his subsequent visit (usually 10-12 days later). For now I store them in cookies I set on the server-side (only for Safari users), though I really don't want to store any data server-side.
This was changed.
> My only problem with the 7day storage limit is that every and any site gets the 7-day limit with no regard to if the user has interacted or actually used it
My understanding is that the limit is that local storage is cleared after 7 days of interaction at the browser level (e.g. non-vacation days) without interaction with a top-level origin.
I do not know if merely displaying information counts as an interaction.
The amount of FUD on this post is sad. People commenting on this who have no idea this has already been opt in since 15.3 via advanced safari settings.
Notifications suck in browsers. Maybe they turn to to magic in the iOS universe because of the device-ness aspect.
Basically, you get prompted to add notifications so you can get a prompt to add notifications - while for 90%+ of sites visited, you would _never_ approve notifications.
Yeah. I hope they have some safeguards here. At the very least, require an Apple Developer account so abusers can't hide behind anonymity. Also, let me pre-emptively disable this feature across all websites.
It's opt-in. RTFA.
> Web push notifications
> Adds support for opt‑in notifications on iOS. Coming in 2023.
I’m assuming that they, like me, never want to even be asked. The request itself winds up being a form of spam.
The current mechanism of operation has no bearing on the intended mechanism, and I cannot fathom why you think it would.
Are you serious? Lol, smh…
> Yes. I am.
Resorting to attacks huh? Pathetic, lol.
Require user interaction for popping up request isn't really a clearly more strict one than edge currently does (probably equal or a bit more strict?).
And a lot of non-technical people I know had spam notifications coming up on their desktop because they opted into notifications on multiple spam sites over the years.
There's a lot of web-based applications that could benefit, though.
I will interact with my phone on MY terms rather than have garbage pushed to me at all hours of the day.
It's been nearly a decade, and we're still talking about PWAs being the next big thing. Mozilla/Firefox has killed them off for good [0], and Safari support is tepid at best. It was ultimately just another push by Google a la AMP to corner the browser market some more, and the rest of the vendors are fed up with it. Devs by and large never bought into it because they are objectively inferior to native, while the tiny number of niche use cases where they do make sense have (rightfully) just avoided the complexity and remained as normal web apps.
[0] https://9to5google.com/2021/01/27/firefox-discontinues-work-...
It feels a lot safer to develop a PWA than a native app. Developing native apps subjects you to the arbitrary fancies of Apple and Google. And even worse, your life depends on them. For all we know they might crash tomorrow and then what? Developing a PWA frees you from these worries. I am not a developer to make a quick buck, or to go public. I care about the things I make. I want them to live forever and be sustainable. Buying into the "web toolchain" is a lot safer than buying into the latest native fad pushed by a tech giant that owns the platform and only cares about profits. I have come to terms with this. One day, I will only have a PWA version. Don't know when. It's my conclusion of many years
https://developer.mozilla.org/en-US/docs/Web/Progressive_web...
Exactly.
In my experience iOS and Safari in general is an absolute wasteland of buggy, half-implementations of tech that should be table stakes at this point. WebRTC [0] is the most egregious. It's one of the many reasons that Google had to fork WebKit into Blink.
[0] https://bugs.webkit.org/buglist.cgi?quicksearch=webrtc+safar...
Android 2 had this over a decade ago!
That you can turn a browser into an app platform is not a success for browsers, it’s a failing in application distribution and native application tooling.
As a user I am not looking forward to the inevitable deprecation of native applications to PWAs; because when that happens I will not be able to turn off the push notification feature in the browser.
The same was true of JavaScript: it’s impossible to run a browser without JavaScript, what was originally progressive enhancement is now mandatory code execution; for many web developers that is not an issue at all, as a user: I shouldn't have to trust _all_ the code in the world that my browser can potentially pull in.
The sandbox, as complex as it is, is not infallible.
All of this consolidation on the browser frightens me, personally, and maybe you disagree, but honestly I’d like someone to be pushing back on the “faster horse”[0] requests from web developers.
0: reference to the famous quote by Henry Ford: “If I had asked my customers what they wanted they would have said a faster horse.”
Edit: expected result from the hackernews audience. But at least if I managed to convince one person that the browser shouldn’t do everything then it’s worth the karma sacrifice.
Native apps will always be necessary for something that actually needs it.
If anything you should be happy about this as it’ll remove control of everything from Google and Apple exclusively. Funny you talk about consolidation…
For now, I’m not sure how that will be though, if it’s anything like adding a calendar then it’s just hitting “yes” on a prompt.
> Given that this will be relegated to a small niche at best.
How many apps on your phone want to send notifications?
> Most people aren’t going to go into Safari advanced settings and toggle a flag.
Assuming that’s how it will be enabled (and in perpetuity), I can’t see people doing that in the general case either and this the effectiveness of this feature is questionable.
I think everyone in this thread assumes they can deploy PWAs in a generally available way that support push notifications over the web, if you have to go into safari settings (as in, the settings app) then people are not likely to enable it and the this you can’t use them generally.
What I’m saying is: either this is easy to use for users, and it will be abused; or it’s hard for users and the actual usefulness of the feature is dubious.
It’s a safari flag in the advanced settings.
I’ll never understand why people aren’t for more options. Why constrain yourself?
1) that’s how betas are
2) you should read the last part of my comment where I discuss the usability aspect if that’s the case in future
3) are you sure that wouldn’t change? I would expect at some point it becomes opt-out because of #2.
Literally if you don’t want it then you don’t have to do anything.
Surely its either not new and thus not noteworthy, as you imply, or it’s a new feature with a somewhat uncertain future for us mere mortals to fully know.
It’s not news worthy, which is why you have to scroll all the way down in a random list of new features to even find it.
What is news worthy is the date, not the functionality.
- web dev that prefers native apps most of the time
What you might intend to say is that it’s the only cross platform application distribution and execution environment that is free.
But how free is it when one company controls 80%+ of the browser market and has the muscle to force standards?
Google's dominance is unfortunate, but their support for the web has been vital in keeping it (sort of) competitive with the proprietary platforms, including their own. Google does this for financial reasons, of course, but it is still a good thing.
And the web is still the only major client platform we have. We can still successfully object when Google promotes changes that are not in the platform's interest. Look how often Mozilla has thwarted Google proposals for the web, like their vision of webasm or web components.
pardon my ignorance, I don't personally use an Android phone, my understanding was that f-droid was essentially a FOSS app-store, built in order to solve distribution for non-playstore .apk's.
I thought it wasn't a store that was in any way controversial on the android ecosystem.
If you just mean distribution then that's also not true. Android, Windows, MacOS (although this is eroding), and Linux all have open publishing of native applications.
> the inevitable deprecation of native applications to PWAs
If that were going to happen it would have happened already, at least on Android. The reality (and I say this as a web developer) is that it's harder to make mobile apps that perform and feel and look as good as native apps. The same is not true on desktop OSes, with their current SDKs and dev experience, which is the reason they've taken over there.
> I will not be able to turn off the push notification feature in the browser
I have no idea what this means either. You already have to opt-in to notifications for each individual web app, which is actually more than can be said for native apps. Web apps are assumed to be user-hostile, vs native apps that are usually just slightly user-hostile but get treated as non-hostile anyway.
> I shouldn't have to trust _all_ the code in the world that my browser can potentially pull in
How is this different from trusting all the code in the world that your native apps pull in? And before you say it's all been screened by Apple- there are various widely-used methods to dynamically load code into an app after the fact
PWAs are especially important on mobile OSes because they put competitive pressure on the walled garden. xCloud only exists on iOS because of a web app. When I used a de-googled Android phone I was only able to use maps and access my bank account by using web apps. The web is an open platform that pierces the veil, and keeps the native ecosystems honest.
The difference is that organizations sign a contract to publish into the App Store, and do so under their legal name. This gives Apple the opportunity to be punitive in the face of abuse. They do not have this ability for the web (for practical and for regulatory reasons).
I literally get calls from people who believe their computer has "malware", and it's just dozens of notification subscriptions in their browser spewing adult content ads onto their screen.
Of all the web APIs out there, this is the one most aggressively misused for spam ads, and most rarely actually useful. We literally spent a decade demanding people add a popup blocker into the web browser, and a decade later, injected a popup ad tool back into the browser.
What it needs is a user-driven gesture restriction and a harsh penalty by Google for firing on first-load.
I really don't think any mail client needs corner of screen popups to be useful: I respond to most emails within 5-10 minutes, have used web email since 2005, and I've never wanted or allowed push notifications on my desktop.
It is, at best, a solution looking for a problem, and at worst, an adtech popup spec maliciously impressed upon the web with a casual justification for building it.
The “Lol” at the end of your comment is misplaced, comes off as condescending.
Not everyone is the same as you, maybe they had considered turning them off and it’s possible that they believe that it may not be an option.
For people outside of tech who do not mess with the settings of their devices, ironically the same people who are likely to be abused by this feature, then having a toggle is not very useful overall anyway.
But, I’m not happy with your tone as it brings down the whole conversation to the same tired old flame war/shit slinging that inevitably happens when someone starts it with mild condescension on the internet.
There is a user-gesture restriction. So now there's an HTML pop-up on dozens of pages.
Imo the user-gesture + permission-modal design is fundamentally bad. We penalize sites by making them have to maim their cover with grotesque user-gesture cutouts, then, once the user clicks (makes a user gesture) they have to click again. Sites should just request push notifications, without user gestures. Something should show up in the awesome-bar, and users can enable it at their leasure. Rather than an active "pull" flow for permissions, we need a "push" flow where users can passively enable/disable some permissions freely, in a more chill way. Conversion rates would plummet, but the whole web would be a much more pleasant place & actually operate for-the-user, which is what the internet is for[1].
For many users, being forced into web-only non-native cloud “apps” is not actually feature.
Especially for something like end-to-end ostensibly client-side encrypted e-mail.
This thread is about actively facilitating that kind of behavior by developers.
Personally I like web notifications, if the site doesn’t implement them well then turn it off for that site.
I’m forced to use crappy web apps for work.
How does it benefit Apple — or Apple’s users — for Apple to facilitate forcing users into crappy, non-native web apps?
We’re discussing the idea that this feature is valuable because it facilitates developers dropping native applications in favor of fully web-based replacements.
The example given by the first poster was Protonmail, which performs client-side encryption, and which they argued would be better served by providing only a web application.
I noted that this would not actually be desirable for most users, especially when the application in question must be trusted to implement client-side encryption for which the server should not have access to the private keying materials, as is the case for protonmail.
There, hopefully you’re all caught up. I understand that you like the idea of this feature, but please read the threads you’re replying to.
It is slightly annoying that the notification chime plays for each calendar tab I have open and forgot to close though.
I never heard of this before though, but turns out it's been in Firefox since 2016. I did set "always deny" for notifications a few years ago as I got so tired of all the sites whining about it, so I guess that includes these push things too(?) Sites still whine about it with in-site popups of course if they see that permission is denied... Sigh...
When looking it up a bit for this comment I found this description that I found somewhat amusing:
"Web push notifications allow users to opt-in to timely updates from sites they love and allow you to effectively re-engage them with customized, relevant content."
Lotsa words for "allows you to spam them ads".
That is most definitely malware.
The first thing you have to understand is that users click everything, especially when it isn't doing what they want. So websites throw these prompts up endlessly, hoping users will inadvertently click it. Worse, some sites will abuse alert() and essentially demand the user accept installing an extension or enabling notifications to proceed. (Particularly guilty here is search ads and the garbage ads Edge puts on their new tab page.)
Then the doubly problematic design here is that websites can prompt people to accept these, but users have to find an obscure setting to either remove those approvals or deny new requests. Users by and large don't even know that exists.
I disable notification requests in every browser I put my hands on, but unfortunately I can't put my hands on every browser on Earth. It's really up to web standards bodies and browser vendors to realize the API is doing drastically more harm than good.
If MS released Windows with pre-installed WSA we would be half way there. The truth is we are still perhaps a decade away from this and everyone running M1's happening so until then PWAs fill the gap
Every answer: ‘GTFO’
“Here is the App Store! Use native apps!”
“We don’t need native apps!”
MediaSourceExtensions are vital for supporting media in Safari (and already available in iPadOS and MacOS [and under the hood on iOS for VP8/9 support]) and the fullscreen API for arbitrary elements is necessary to support video + slides (or other sideloaded material) and to support captions/subtitles that need features not supported with regular textracks.
“Safari is the new IE” has been the meme for years, despite the fact the situation is totally different. Any time Safari is mentioned or gets a new feature it’s just posts from people complaining Safari doesn’t support WebUSB or whatever their pet feature is.
So Safari added the one I see people complaining about more than anything else. The top complaint on HN for literally years.
And you just switched your complaining to something else. Most people here are celebrating they got something they’ve wanted forever.
Personally I’m just tired of all the bitching. There is no escaping it, it seems.
You could have framed your comments much more positively. Perhaps that would have helped.
My 2¢ guess.
The situation with Safari and IE is very different. What is not different is that they were the most damaging browsers for progress of the web platform in their respective eras.
Safari isn't the new IE, Safari is the new Netscape.
Chrome is the new IE in that danger period. All the web developers complaining about Safari and Firefox "being slow", that's the danger signs. That's the warning flags. That's the new IE damaging browser progress by locking people into single-browser "web standards" that aren't standards. I don't know if the web will reap the same consequences this time, if there will be a Chrome stagnation to follow this Chrome danger time. I do know that the warning signs aren't what a lot of people think they are. The warning signs are the complaints about "Safari holding back the web" because they tend to imply that Chrome is the web when it isn't.
It had a garbage collector that made very rich webapps nearly impossible. https://vinaytech.wordpress.com/2008/11/07/garbage-collectio...
It had CSS bugs that weren't fixed for years. https://css-tricks.com/ie-css-bugs-thatll-get-you-every-time...
It didn't implement features that web developers asked for and didn't even join the working group formed to standardize those features. https://en.wikipedia.org/wiki/WHATWG
It had security issues that made it dangerous for people to use the web.
Safari suffers from the last three of those problems, and Apple makes them even worse by preventing other renderers on its platforms. If I had an iOS device, I'd want to run Firefox. I can't. That's on Apple, and pretending otherwise is absurd.
I notice you don't mention ActiveX as being something that "pulled the web forward".
XHR, just like MSE, which the person who started this thread is asking for, expands the usability of the web in a vendor-neutral way. MSE, better than XHR, went through a standards process to ensure web publishers wanted it and browser vendors agreed on the API. There is no reason for Apple to drag its feet on implementing MSE on iPhones, aside from protecting Apple's profits. It is ridiculous to see people defending Apple about this.
While the web eventually standardized things like XHR and CSS box-sizing, they were done in ways that made migration of those "single browser apps" just slightly uncomfortable enough so companies especially procrastinated staying on the stagnant browser as long as possible to avoid paying down tech debt in their "legacy" apps.
Today's "bleeding edge" apps are tomorrow's "legacy apps", and people aren't building "bleeding edge" apps for Safari [0], but they are building Chrome-only "bleeding edge" apps using all the little things that are like XHR in their own ways (WebUSB, Speech Recognition, what have you). The danger is that there are far too many of them.
Again, I can't predict the future and I can't assume that Google execs are dumb enough to do the exact same thing that Microsoft did: check their (current!) marketshare, declare themselves the winner, and decide to finish Chrome as a project, moving the development team to more important tasks to the corporate bottom line. I want to believe that the pursuant stagnation would be less overall a dark period for the web because plenty of Chromium forks exist, but the install base is huge and convincing them all to switch to a fork would still be a massive marketing effort that wouldn't happen overnight. But stagnation is the consequence of the danger of people building single-browser apps, it's not the danger itself.
The canaries (Safari, Firefox) are dying and blaming the canaries for being weak is avoiding asking hard questions about if the web is currently safe or not.
> Apple makes them even worse by preventing other renderers on its platforms. If I had an iOS device, I'd want to run Firefox. I can't. That's on Apple, and pretending otherwise is absurd.
That is a different, unrelated problem than comparisons to IE. Even when pre-installed on Windows IE never stopped people from installing other browsers or setting them the default. It got real unfriendly about it in some versions of Windows, but it never (could have) blocked them entirely.
That's still a problem to deal with, and maybe even a major problem, though these days iOS and Android are pretty neck-and-neck in the market and iOS does not have the domination it once had even in the US. But it's not at all the same problem as IE was.
[0] Anymore; I will admit there was a brief period early in the rise of iOS with -webkit- prefixed everything where it was a small concern.
It doesn't matter that iOS isn't dominant to the extent that Windows/IE was. The fact that roughly half of users are stuck using a buggy and outdated browser is enough to prevent the web platform from being useful to people like the original commenter.
Nobody is facing yet.
That is my point. It's a huge danger that people aren't appreciating enough. If we want to use the history of IE as a warning lesson lest we are dumb enough to repeat it, it's a warning on letting a single browser get too much marketshare. It's a warning on relying on "bleeding edge" features that aren't yet stable.
It feels like the problem is "all these other browsers are buggy and outdated", but that isn't the danger, that's the symptom of the danger. People said the same thing about Netscape/Pheonix/Firefox when IE was "winning" that those browsers were too slow and "preventing the web platform from being useful". That's the dangerous cycle here.
Maybe we'll be extremely lucky and the Chrome hegemony will never be the same problem that IE was. But blaming Safari for being "slow" in this scenario is putting the blame on the victim of the hegemony problem.
And nobody ever faced with IE. That wasn't the problem with IE. That is my point.
> It's a warning on relying on "bleeding edge" features that aren't yet stable.
MSE isn't bleeding edge or unstable. Apple itself implemented it years ago on Safari for Mac, where it has no App Store revenue to protect.
The feature this article is about isn't bleeding edge or unstable either. Apple is implementing it exactly the same way all the other browsers already have.
Then MS stopped doing anything. For YEARS. Just sat there.
Everybody wanted the web to improve but the browser everyone was using didn’t.
IE 6 was fine at release. But JS didn’t improve. Bugs didn’t get fixed. It just sat there.
Not only has Safari never had that kind of market share, Apple has continue to improve it since the day they released it. Safari seemed to peak around 45% (mobile only) just a few years after the iPhone release.
Safari has never been IE. Unless you mean “that thing that isn’t chrome and doesn’t include every single chrome feature the day it’s announced”.
Safari is even worse in one key respect. When IE was bad, your website could tell users to use Phoenix instead. With Safari, there is no such option.
I certainly know the noise in the comments here when Safari is discussed. And that's why I only gripe on these two features which are available in every Safari for several years now, except on iOS, with no apparent reason.