Browsers On iOS Are 'Uniquely Underpowered,' Said Google's Software Engineer


The web is big, and is still growing. To most people, the way to browse it is by using browsers on their devices.

Back in the early days of the internet, websites on the web were made using basic static HTML. But now, it has advanced so fast that many websites can be considered web apps, and can be so complex that they resemble desktop apps. On Apple devices, users can use Apple's own web browser called Safari, or other web browsers from third-party developers.

But all browsers regardless their developers, must run on WebKit, if they want to make themselves available on iOS devices.

From Safari to even Google Chrome, they all must use WebKit.

For Google who operates its own browser engine called Chromium, that is popular and adopted by many, including Samsung, Vivaldi, Opera and others, the company sees WebKit as outdated and "uniquely underpowered."

That, according to Alex Russell, a software engineer at Google on the Chrome team, who has spoken out against Apple’s practices on the web.

"Apple's iOS browser (Safari) and engine (WebKit) are uniquely under-powered. Consistent delays in the delivery of important features ensure the web can never be a credible alternative to its proprietary tools and App Store."

In a post, Russell calls WebKit underpowered if compared to other modern browsers because Apple “consistently” delays new features for its browser that “hold the key to unlocking whole categories of experiences on the web.”

He said in many cases, the Safari browser is simply not compatible with other browsers, is wrong, and does not conform to the agreed web standards. In other cases, Apple does support new features, but that well.

"In line with Web Platform Tests data, Chromium and Firefox implement more features and deliver them to market more steadily. From this data, we see that iOS is the least complete and competitive implementation of the web platform, and the gap is growing. At the time of the last Confluence run, the gap had stretched to nearly 1000 APIs, doubling since 2016 […]"

"In almost every area, Apple’s low-quality implementation of features WebKit already supports requires workarounds. Developers would not need to find and fix these issues in Firefox (Gecko) or Chrome/Edge/Brave/Samsung Internet (Blink). This adds to the expense of developing for iOS […]"

"Suppose Apple had implemented WebRTC and the Gamepad API in a timely way. Who can say if the game streaming revolution now taking place might have happened sooner? It’s possible that Amazon Luna, NVIDIA GeForce NOW, Google Stadia, and Microsoft xCloud could have been built years earlier."

"It’s also possible that APIs delivered on every other platform, but not yet available on any iOS browser (because Apple), may hold the key to unlocking whole categories of experiences on the web."

Apple Safari
Apple's Safari using WebKit, against other popular browsers. (Credit: Alex Russell)

Apple does not give developers the choice to use other browser engine other than WebKit. Not only that it kills competition, as it also forced developers to create native iOS apps.

"Apple’s policy against browser engine choice adds years of delays beyond the (expected) delay of design iteration, specification authoring, and browser feature development."

"These delays prevent developers from reaching wealthy users with great experiences on the web. This gap, created exclusively and uniquely by Apple policy, all but forces businesses off the web and into the App Store where Apple prevents developers from reaching users with web experiences."

In his post, Russell also detailed some places where iOS browsers are lacking when compared to others in the competition (using different browser engine).

These places include lacking push notifications, standardized Progressive Web App (PWA) install buttons, background sync, and many other tools that make it easier for developers to produce fully functional web apps.

On the developers' side, Apple also severely restricts developers access to hardware components, such as Bluetooth, NFC, and USB.

Also, WebKit lacks the support for the royalty-free AV1 standard, which, notably, Apple has an incentive to block the technology because the company earns a royalty for using the HEVC standard.

It should be noted though, that part of Chromium uses Blink, a browser engine that is actually a fork of the WebCore component of WebKit, which was originally a fork of the KHTML and KJS libraries from KDE.

Sharing the same license, Chromium is backed by Google, with the project contributed by the likes of Facebook, Microsoft, Opera Software, Adobe, Intel, IBM, Samsung, and many others. WebKit on the other hand, has contributors that include Apple itself, Google, Nokia, Bitstream, BlackBerry, Sony, Igalia, and others.