NEW - Read our follow-up to this blog post: "Apple’s plans to support iOS Web Push in 2021"
It has now been five years since Google Chrome was the first browser to introduce support for Web Push Notifications in 2015, and about seven years since Apple first introduced support for Safari Desktop notifications in 2013. We're still waiting for Apple to introduce Web Push on iOS, but there are signs we may not have to wait much longer.
As of today, nearly every browser supports Web Push on Desktop and Android mobile devices. This includes browsers like the new Microsoft Edge, Samsung Browser, Opera, and more. Apple remains the last hold-out.
While it's impossible to predict with a high degree of accuracy when Apple will introduce support for iOS or Mobile Safari Push Notifications, we do have some reasons to believe that it'll happen soon.
Support for Mobile Safari Web Push has been one of the most popular feature requests for the Webkit team, the underlying technology for Safari. Apple's long delay in supporting Web Push and other modern web technologies on iOS have led to condemnation from well-known developers like Owen Williams, who criticized Apple for "[Making] it so painful to build with web-based technology on Apple platforms that developers won’t bother".
We take a more optimistic view. Apple has a long history of waiting until they can ensure a technology is stable and improves the user experience before they rush to implement it. It's understandable that Apple would want to wait until websites had the tools to provide a good user experience with notifications before opening the floodgates to their users.
Today, many websites still prompt visitors to grant them permission to send push notifications right when they land on the website.
It's not surprising that Apple would want to avoid this experience on their user-experience-focused iOS platform. And, in fact, Apple has already taken steps on Desktop Safari to require user interaction before a website can ask users for notification permission:
Firefox soon followed in 2019 with the same requirement.
Chrome has taken a more complex approach, actually penalizing websites that have poor user experiences for permissions, as measured by how many users click "Block" on the native notification permission prompt. A few weeks ago I interviewed PJ McLachlan, product manager on the Chrome Team, about these changes. The Chrome team also blogged about these changes earlier this year.
It's clear with these changes that browsers and developers are working towards a much better web experience. OneSignal is helping with this process by discouraging immediate use of the native browser prompt, and providing a range of alternate options that lead to a much better experience:
Recently, we also introduced support for easily delaying the prompt so that it's not shown until users have spent more time on the website:
We believe that through these user-experience improvements, Apple will have little excuse to not start supporting Web Push Notifications on iOS platforms.
Finally, regulatory and technology changes may be starting to force Apple's hands. A couple weeks ago, Bloomberg reported that "[Apple is Weighing] Letting Users Switch Default iPhone Apps to Rivals", including rival browsers like Chrome and Firefox on iOS. While these browsers have long existed on iOS, they have been forced to use the underlying Webkit engine that powers Safari on iOS instead of their normal browser code.
Alongside these changes, it's increasingly likely that a path will be paved for third-party browsers to implement Web Push on iOS, even if not through Mobile Safari. Bloomberg predicts this could happen as early as iOS 14, expected to be in beta in a couple of months. But given past history, it's safe to assume it may take a while longer.
Until then, the only way to send notifications to iOS users is to release a mobile app. Fortunately, OneSignal has great mobile app push notification support.