During the WWDC 2022 keynote, Apple announced Web Push to improve notifications from web apps — but Apple's relationship with the technology has always been on shaky ground.
At the beginning of the iPhone's creation, Steve Jobs was against allowing third-party apps on the device. He wanted developers to create web apps that could be used with Safari.
Web standards such as HTML5 were key to making it a viable platform for apps. This type of markup language structures multimedia content and interactive elements.
Apple worked to improve HTML5 performance on its devices. When the company introduced iOS 8 in 2014, it included WKWebView, a new browser engine to make hybrid apps run as well as native apps.
Jobs embraced HTML5 as an alternative to Adobe Flash. When he penned "Thoughts on Flash" in 2010 he praised companies such as Netflix and YouTube for moving to HTML5 video content.
Apple also encouraged web apps with iOS 13. It purged low-quality apps from the App Store and said certain features and functionality are best delivered through Safari.
That Apple pushes users away from web apps and into the App Store with native apps and rules is the main accusation from critics.
When it launched in 2008, Apple imposed a 30 percent fee for publishing an app on its platform. Jobs praised native apps and said they were better than their web-based brethren.
This has been the subject of lawsuits but isn't the only facet of the app debate. After the developer of Telegram Web shared a 10-point list of iOS Safari issues in April, Telegram founder Pavel Durov wrote a post about the matter.
Published on June 13, Durov said that comments from UK regulator Competition and Markets Authority (CMA) provided "an accurate summary."
CMA's conclusion of its year-long study of mobile ecosystems has concerns about browsers on iOS, which is another facet of the app debate.
Apple bans third-party browser engines so every browser on iOS and iPadOS is built on the company's WebKit engine. As a result, CMA says, the company has few incentives to improve WebKit and stifles consumers and businesses.
The goal is to fend off rivals such as the Blink browser engine from Google. It's part of the open-source Chromium project and its stated mission is to keep the web a focal point for accessing information.
Google Chrome uses Blink on every platform it runs on except iOS. The iOS version of Chrome uses WebKit and that means Google is forced to stay at Apple's pace.
WebKit is open source and the project's mission is as a general-purpose content engine for browsers and apps. Browsers should stick to displaying content instead of apps, the message goes.
Developers want web apps because they can be run on any platform without the rules and restrictions of app stores.
Apple is moving along, albeit slowly. The web app experience in its operating systems will improve as revealed during June's keynote.
And, joining the Apple Developer Program to send Web Push notifications won't be a requirement.
Web Push
The feature won't arrive until 2023 and consists of Push API, Notifications API, and Service Workers working together.
A Service Worker is a piece of JavaScript code that operates on behalf of a web domain, separate from an open browser tab.
Websites won't be allowed to push notifications without user permission. A website can only request a push subscription in response to a mouse click or keystroke.
Users can click a "subscribe" button and click Allow in the permission dialog that appears. Notification toggles for websites will be found in device settings just like native apps.
Push API uses a JavaScript interface that lets a website use a push subscription. The ServiceWorker API supports the push messages and the Notifications API lets a service worker push notifications without needing the browser to be open.
In macOS Ventura, a new daemon called webpushd is installed as a LaunchAgent. It takes push subscription requests from webpages and turns them into push subscriptions with the Apple Push Notification service.
The result is that web apps will feel closer to native apps. Using the Share Sheet inside Safari, users can add a web app page to the Home Screen to blend in.
Apple may be improving web apps to appease developers, or regulators eying its control of the App Store. The company could also be moving to embrace these apps as a secondary ecosystem, so it won't be forced to allow sideloading.
Right now, in June 2022, it looks like the release of Web Push in 2023 will be good for users and developers.
9 Comments
Forcing the use of WebKit is a privacy first issue - having multiple browser engines on iOS/iPadOS opens a can of privacy worms and would create a whole slew of new attack vectors.