Jump to content

Google Chrome's web standards lead criticizes Apple's argument that web apps can replace iPhone apps.

Tensimeter

Summary

Now that Apple and Epic Games's legal case has begun, Alex Russell, a senior Google engineer and Google Chrome's web standards lead, has published a blog post criticizing one of Apple's main claims. Apple claims that developers who want to reach iPhone users can choose to simply create a web app instead of using the App Store. The engineer argues that web apps are not a credible alternative on the iPhone, due to Apple's often multi-year delays in delivery of important web features to the WebKit engine, which web apps must use on iOS. Russel's detailed blog post highlights many specific cases where it's claimed that Apple dragged their feet on supporting some web standards, which encouraged the adoption of Apple's proprietary App Store and tools [like Mac exclusive Xcode]. Furthermore, the engineer claims that even when Apple does implement web standards, they are often not well enough implemented to be depended on.

 

Quotes

From the introduction of the blog post:

Quote

Three facts...

  1. Apple bars web apps from the only App Store allowed on iOS.[1]
  2. Apple forces developers of competing browsers to use their engine for all browsers on iOS, restricting their ability to deliver a better version of the web platform.
  3. Apple claims that browsers on iOS are platforms sufficient to support developers who object to the App Store's terms .

...and a proposition:

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.

This is a bold assertion, and proving it requires overwhelming evidence. This post mines publicly available data on the pace of compatibility fixes and feature additions to assess the claim.

 

A clarification on the importance of this in the middle of the text:

Quote

Developers expect some lag between the introduction of native features and corresponding browser APIs. 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.

 

The Google engineer's conclusion:

Quote

The data agree: Apple's web engine consistently trails others in both compatibility and features, resulting in a large and persistent gap with Apple's native platform.

Apple wishes us to accept that:

  • It is reasonable to force iOS browsers to use its web engine, leaving iOS on the trailing edge.
  • The web is a viable alternative on iOS for developers unhappy with App Store policies.

One or the other might be reasonable. Together? Hmm.

Parties interested in the health of the digital ecosystem should look past Apple's claims and focus on the differential pace of progress.

 

Apple's review guidelines which prohibits using non WebKit engines on iOS:

Quote

2.5.6 Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript.

 

My thoughts

When the iPhone debuted in 2007, Steve Jobs wanted developers to develop web apps for the iPhone instead of native apps. In 2008 Apple reversed this decision and introduced the App Store and accompanying Apple tools. It is clear to me (as someone who has tried developing iOS apps in the past) that Apple tries very hard to make sure developers only can feasibly deliver iPhone apps using the App Store and its Apple-exclusive tools. What the engineer is saying here is absolutely true. Also, Apple's refusal to adopt some web standards are also likely why it took so long to get game streaming via web apps on iOS, had Apple been quicker this could have happened sooner.

 

I am not a fan of Epic Games or Google at all, and this lawsuit is about much more than either company. This is about who gets to decide what apps are actually accesible to hundreds of millions of iPhone users, and the app situation on the iPhone potentially being more "free" would likely have wider effects beyond Apple. One corporation should not be able to control a legitimately now essential device has tightly as it wants to, since not only is the device needed for all sorts of things nowdays (at least for me if you don't have a smartphone you practically don't exist), but also because consumers deserve meaningful and real choice. Choosing between iOS or Android is not a real choice, and consumers should have better than that.

 

Sources

Blog post:

https://infrequently.org/2021/04/progress-delayed/

9to5mac article:

https://9to5mac.com/2021/05/03/epic-case-begins-google-intervenes/

Apple's review guidelines which prohibits using non WebKit engines on iOS:

https://developer.apple.com/app-store/review/guidelines/#2.5.6

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, curiousmind34 said:

If web apps were a real equal alternative you would think that most developers would use it to cut rid of the 30% fee.

The thing is that 90% of all apps are basically just a front to a webpage and might as well be web apps.

Link to comment
Share on other sites

Link to post
Share on other sites

15 minutes ago, huilun02 said:

Dont kick an app off the store when payment is made off platform

That's not really true. Apple doesn't force you to pay on-platform (you can sign up for Netflix, Spotify and the like elsewhere), and Google booted Fortnite off the Play Store because it offered a non-Google payment option inside the app.

 

This is what bugs me about anti-Apple rhetoric... some of it is valid (if you're going to steer devs toward web apps, make sure your web tech is powerful), but there's this tendency to both exaggerate Apple's position and romanticize Google. Google absolutely wants to chain you to its ecosystem — it just offers somewhat looser policies.

 

(I still think many people got suckered in by Google's claims from around 2010, when it shouted "Android is open! Open open open open open open!" while glossing over the ways it closed the OS down.)

Link to comment
Share on other sites

Link to post
Share on other sites

I really don't like the controlled nature of Apple's iOS, in the sense that they hold monopolies on the types of Apps (and what can be used on the iPhones).  While Google isn't a saint, I think the amount of market control Apple has is really becoming a hindrance now.

 

11 minutes ago, Commodus said:

That's not really true. Apple doesn't force you to pay on-platform (you can sign up for Netflix, Spotify and the like elsewhere), and Google booted Fortnite off the Play Store because it offered a non-Google payment option inside the app.

 

This is what bugs me about anti-Apple rhetoric... some of it is valid (if you're going to steer devs toward web apps, make sure your web tech is powerful), but there's this tendency to both exaggerate Apple's position and romanticize Google. Google absolutely wants to chain you to its ecosystem — it just offers somewhat looser policies.

 

(I still think many people got suckered in by Google's claims from around 2010, when it shouted "Android is open! Open open open open open open!" while glossing over the ways it closed the OS down.)

The rules in Play Store are almost as bad as Apple, although I think that Google has a tendency to not bother enforcing as often. (Which has it's own downsides).

 

Also, yes Apple for you to pay on-platform.  See the following quote (https://developer.apple.com/app-store/review/guidelines/#in-app-purchase):

Quote

If you want to unlock features or functionality within your app, (by way of example: subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use in-app purchase. Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, etc. Apps and their metadata may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than in-app purchase

That is subtly different from Android in that Android requires you to use them as payment if you use the Play Store and are offering the subscription through the App (vs Apple not allowing of unlocking of features). Netflix, Spotify and the like have exceptions in place, which Apple has pondered over revoking before.  From a leaked emailed in 2010

Quote

Phil - I agree with you here 100%. It's time for them to decide to use our payment mechanism or bow out.

And I think it's time to begin applying this uniformly except for existing subscriptions (but apply it for new ones).

Steve

 

3735928559 - Beware of the dead beef

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, Tensimeter said:

 

 

My thoughts

When the iPhone debuted in 2007, Steve Jobs wanted developers to develop web apps for the iPhone instead of native apps. In 2008 Apple reversed this decision and introduced the App Store and accompanying Apple tools.

Nonsense. There simply was no store in 2007. 

 

"Web Apps" relied on a feature that has largely been unsupported by third parties, and is being removed from browsers, particularly Chrome. It's replacement still is largely broken.

 

Like it needs to be said, that breaking the web, has largely been Google, especially since it forked Webkit in 2013. Not Apple. Google is the 800lb gorilla preventing adoption of "web app"'s. Stuff that works on Safari which is standards compliant ,doesn't work on Chrome because Chrome opted to focus on different features.

 

Like really, Google should have not forked Webkit, and because of the position Google has with Android, has largely resulted in an inferior experience on Android devices, both by "webview" applications (which the EXACT same "use my engine" rule applies, notice that 2014 (Android 4.4) is when Android actually got a working webview, and even then, still was highly deficient and not at feature parity with Chrome, where as Mobile Safari and Desktop Safari was.) 

 

A lot of stuff in the "App Store" are still webview applications, only they're electron or cordova webviews on desktop because Windows never had a compliant webview (largely depending on MSIE for it until 2018.)

 

So yeah, until about 3 years ago, it was still impossible to produce a "webapp" that could work on all platforms, and decisions made by Google are still breaking it since Microsoft opted to adopt Chromium instead of Webkit itself.

 

That said, building Webkit for Windows is pure hell, requiring the installation of six different programming/scripting languages (some of which are obsolete) and a Linux userland (cygwin) to build it. This is something Microsoft could have fixed itself by having it's own build environment for it but nah, it decided to build on Chromium because it was more popular and wanted to lure back people from using Chrome. Building Chromium itself is less of a hell, but still is one.

 

So blame Google, not Apple for the state of webapps. Any webapps built in 2007 will not work today.

 

Google's entire forcing for HTTPS-by-default, broke everything.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×