Eyes Above The Waves

Robert O'Callahan. Christian. Repatriate Kiwi. Hacker.

Thursday 5 October 2017

Microsoft Using Chromium On Android Is Bad For The Web

Microsoft is releasing "Edge for Android" and it uses Chromium. That is bad for the Web.

It's bad because engine diversity is really essential for the open Web. Having some users, even a relatively small number, using the Edge engine on Android would have been a good step. Going with Chromium increases Web developer expectations that all browsers on Android are — or even should be — Chromium. The less thoughtful sort of developer (i.e., pretty much everyone) will say "Microsoft takes this path, so why doesn't Mozilla too, so we can have the instant gratification of compatibility thanks to a single engine?" The slow accumulation of unfixable bugs due to de facto standardization will not register until the platform has thoroughly rotted; the only escape being alternative single-vendor platforms where developers are even more beholden to the vendor.

Sure, it would have been quite a lot of work to port Edge to Android, but Microsoft has the resources, and porting a browser engine isn't a research problem. If Microsoft would rather save resources than promote their own browser engine, perhaps they'll be switching to Chromium on Windows next. Of course that would be even worse for the Web, but it's not hard to believe Microsoft has stopped caring about that, to the extent they ever did.

(Of course Edge uses Webkit on iOS, and that's also bad, but it's Apple's ongoing decision to force browsers to use the least secure engine, so nothing new there.)

Comments

Fabrice Desré
Note that Mozilla is also using Chromium in their new Focus browser, which gets more PR push than Gecko based Fennec.
ClassicHasClass
I was really disappointed by Microsoft's decision. I get that it's the path of least resistance, but I was looking forward to a third choice of layout engines on my Pixel (of course I use Android Firefox normally).
Murdej Ukrutný
blink is not the only rendering engine on android https://www.youtube.com/watch?v=ZPW1BFNpG5Q
Robert
Haha. But seriously, Gecko is on Android too.
wooosh-o-mat
Is it only me or did you link a GDB tutorial page as a source?
Robert
Oops. Fixed. Thanks!
Jamie R
While I do agree with Edge using Chromium/Webkit is bad for the web, the article you linked to about Safari being the least secure is a total clickbait article if you read the last paragraph: "The security researcher goes on to stress the fact that this test focuses on a single component of the browsers, namely their DOM engine, and, as such, does not reflect how secure they are as a whole. Still, it is an interesting test, as, according to Fratric, "DOM engines have been one of the largest sources of web browser bugs."" So is the least secure or the least secure on one section the DOM or just buggy and not necessarily less secure
Robert
It's not a slam-dunk case, but it's not total clickbait either. It's evidence.
khc
So when's the Google Play version of Firefox Focus switching to gecko? Also, I couldn't post a comment from Firefox 57 beta on Android when using the mobile version of your site.
Robert
I don't agree with everything Mozilla does, but at least Firefox on Android uses Gecko.
A Man
I am honestly wondering, why is competition better than collaboration? What if there was ONE main browser engine (WebKit or Blink, say) that was being maintained by an OPEN organization dedicated to improving the Web, and which allowed anyone to build extensions... and once those extensions got popular enough, that functionality would be implemented natively into the core? This way, innovations could come from anywhere AND the most used features would be standardized. It seems like a better situation than Web developers have had to deal with -- probably BILLIONS of man hours wasted on browser differences and hacking. And for what? Plus stuff like Personas would have come about through organic growth of extensions -- as form filling and password managers did. Instead of Mozilla looking for adoption. Of course there may be SOME extensions that could not fit with the browser easily (I dunno what ... NaCl? Rust?) because they change its entire paradigm. But then one could argue that it's not the Web but another platform and a new organization should do that. IE was different because it was by a for-profit company whose tactics were to Embrace, Extend, Extinguish.
Robert
One problem with a single implementation of the platform is "the slow accumulation of unfixable bugs due to de facto standardization". Another problem is that when underlying technology evolves and you want to make dramatic changes --- perhaps what you're referring to as "extensions that could not fit with the browser easily" --- you're likely to split the implementation, just like Blink forked from Webkit. But it will be very difficult to evolve the implementation dramatically because of the need to be bug-compatible with the "standard" implementation. Servo and Quantum are good examples here. Web standards let Mozilla make radical changes to the implementation and still run existing Web content. That's huge.
A Man
What are examples of such changes that could not have started as custom extensions? The vast majority of things doesn't fall into that category. And why would the bugs become unfixable?
Robert
Rewriting the style system in Rust, aka Stylo/Quantum CSS. Google doesn't want to depend on Rust so doing this in Chromium would have meant maintaining an out-of-tree fork of the style system indefinitely, which would be untenable. With a single platform implementation, a bug in that implementation is likely to be relied on by some downstream user, since it works consistently in all implementations. So, fixing that bug means breaking downstream users. In contrast, you see Chromium engineers considering whether it's safe to fix a bug and using the logic "Firefox doesn't have this bug, therefore major sites probably don't rely on it" to justify that the fix is safe.