Asked an entire room full of webdevs yesterday if any of them knew that FF/Chrome/Opera/Brave/etc. for iOS weren't allowed to compete on engine quality.
Zero hands up.
The consequences of being forced into WebKit WebView on iOS are massive. Every browser there faces a Sophie's Choice: fast JS or no netstack pluggability. They all choose not losing benchmarks by a huge amount. And that's only one in the long line of constraints.
Alternative browsers on iOS can never *really* be the default. And they can't use their own engines. And they can't use Service Workers, which means no Push Notifications or offline support. And no PWA installability. Etc. etc.
Apple dramatically under-invests in WebKit, which means that the richest users have the jankiest web, and switching browsers doesn't help.
Business decision makers don't think the web can deliver the experiences they want to give users because, on iOS (which they use), it can't.
Apple undermining the future of the web is a scandal with echoes of FB's IAB shenanigans. The common thread is hiding bad engines behind UI that *suggests* that everything is on the level.
It's expectation arbitrage, and the future of web is what's being shorted.
This is intentional. Apple literally makes billions of dollars off their App Store. If users can install PWAs via websites, they lose this massive stream of revenue, as well as control.
Separate from everything else here I’m not 100% sure you should use a phrase like “the soft bigotry of low expectations” in this context. I’m not sure comparing browsers to Republican talking points about the under achievement of African American children is ideal.
Separate from its original use, it’s a phrase that’s been come to be used by the right to say all affirmative action and social support structures for minorities are wrong. Examples of this use:
This concern would’ve sounded more genuine if Chrome and Google didn’t engage in their own anti-competitive practices, both against the open web (with AMP) and other browsers (with Chrome-only Google services).
The open nature of the web is completely against the walled garden philosophy. They won't be able to make money from subscriptions from a web page, which they can on the app store. They have little to no incentive to push for web.
react is the way forward. embedding a browser-engine, waiting out vendor infights/shady policies for basic features is futile. we need one standard: view=fn(state) + reconcilers to render it out natively on any platform. reacts eco system is already mostly platform independent.
Such an important statement:
"Business decision makers don't think the web can deliver the experiences they want to give users because, on iOS (which they use), it can't."
This isn't to say that Safari/WebKit engineering isn't good. I've had the pleasure of meeting some of them and they are good people who build a good product.
I know im rich, but I would rather have a little jank, then have my location tracked 24/7, and my views auctioned to the highest bidder, build from a personalised profile.
But thats how we differ..
As a web developer I don't want my work being hobbled by one company's arbitrary decisions of implementation whether that company's Microsoft, Google or Apple. This is the equivalent of having to code to IE6 compatibility.
That sounds a lot like you have never had to fight the super natural evil that is IE6..
IE6 once tried to open one of its six mouths and sing the song to end the world.. It was horrific..
Do you have any data on the web being “jankier” on iOS in general? Switching from Galaxy S9 to iPhone 7 as my main device, this does not match my experience.
Lots and lots of features missing though, especially PWA related.
I do agree with your point about the browser engine competition, but I have to admit that web technologies can’t provide yet the native level of user experience on Android either, especially when it comes to smoothness, animations, etc.
It's a constant in iOS that if it has the potential to shatter the illusion of speed it's not supported. HTML5 is still not close to parity with Flash yet it was sold as a Flash killer when Jobs was alive.
I'm surprised by the number of developers that don't realize chrome on iOS is really safari.
None of the web hardware/iot APIs are available on iOS which means I'm forced into that app store market shitshow
Things were somewhat closer back then; it took time post-Blink-fork for Apple's structural under-investment to play out: web-confluence.appspot.com/#!/confluence
I've always suspected Apple is intentionally holding back mobile web with this as a way of keeping native apps 'better' than web and reinforcing lock-in to their ecosystem
Most likely. Web apps are a threat to their business model (the infamous 30% Apple Tax) and their tight control on their platform (imagine porn site PWAs that you can install and use just like any other Apple-sanctioned apps)
Thank you for raising the visibility of this important travesty. This is a clear antitrust violation. Shame on the Obama administration for not addressing it with DOJ. Apple can claim security concerns, but, hello, that is invalid when talking about Chrome and FF.
To be fair, I was there and I did know that 😊That said, I totally agree with your statements. This behavior is shameful and anticompetitive. Especially when Apple underinvests in WebKit. Apple is doing a significant disservice to its own customers on both counts.
Even if Apple allowed writing an alternative browser in iOS, I really doubt they’d change the fact that you can’t W|X no writable executable memory which means no JIT.
It's insane to me how Microsoft and Google were both forced to suggest alternative browsers at install for their platforms while apple don't even allow you to install anything else.
To put it shortly, non-Apple browsers have to use Apple libraries for virtually anything that matters on the modern web (e.g. the Javascript engine). The official excuse is "security" against remotely downloaded code.
Dang. this has been the case since day 1. Especially during the boom of mobile/rwd web dev, folks didn’t know that? Perhaps because at the time, ios wasn’t the worst browser to support. But it’s surprising the lack of depth it seems devs went into on mobile dev to not know this
I remember reading about this when SW was being rolled out across browsers, but support was the slowest on Safari. It's shocking Apple *still* has such a closed approach to browser engines.
But aside from calling @Apple out, what can we as developers/users do?
this continues the trend Apple established a long time ago during their initial surge of HTML5 "support" in iOS Safari. It worked really good (for the time), but the breaks in the missing functionality / support were just too coordinated. They've ALWAYS pushed Native over Web
3 of the 4 Browser you name are not competing on an engine level. And the 4th does have a decreasing user base. Not defending Apples decision (probably more App Store than privacy/security concerns). The issue of the future will likely be somewhere else.
Yeahs it’s a pain. With react native you can use Hermès a optimized engine for apps on production builds for Android but it’s unavailable on iOS due to the forced use of WebKit.