DEV Community

Discussion on: Chromium and the browser monoculture problem

Collapse
 
rhymes profile image
rhymes • Edited

Hi Ken, I really enjoyed your post and I don't think it's a "spicytake" :P

You make a valid point and I see you've considered the various counter arguments to such point.

I think the main reason why this is not going to happen easily is power (and the control power allows). Until Microsoft joined the fray Chromium was essentially a Google project. Yes, other people contributed to it, other companies's employees fixed bugs but Google set the agenda of what had to go inside the engine.

Microsoft certainly has the bandwith to balance that now, which is obviously a good thing, but we'll see two or three years from now, right now it's hard to know what will happen.

The idea of the independent comittee steering the engine through a foundation might be a solution but I don't know, maybe some dynamics that are not making people too happy right now would replicate there as well

I'm going to quote parts of The State of Web Browsers: Late 2018 edition (written right before Microsoft announced Edge switching to Chromium). The author too makes the argument that on a technical standpoint having a single browser engine would be beneficial.

Where he thinks competition benefits is not inside the engine itself, but in the web standards process:

Less engines could be acceptable for as long as ownership and the standards process regarding those fewer engines are diverse, and not controlled by one organization.
To make that a whole lot more explicit: At a W3C meeting or standards discussion, the room should not be 60–70% Googlers.

If you look closely, even at the Web Incubator Community Group most proposal are signed or co-signed by Google employees. I'm not attributing any malice here, just stating a fact.

As you say, an independent organization might help that, but isn't the W3C already an independent organization? So if Google is effectively "driving the web through committee", what would this new "engine foundation" do differently? The point of an organization is not having a single company calling the shots, even if they play nice.

But what playing nice means? One could argue that a monopoly of Chrome won't be a good thing anyway. (I don't believe Microsoft Edge will increase its shares in the short term, regular users have no reason to switch back but I might be wrong here).

Let's imagine a future where all browsers are Chromium based and all sites mostly work the same everywhere. Do you think this will substantially change the market shares? At some point the question should shift from the technical aspect of an open web to the philosophical one.

If a single company (even at a fictional "Chromium foundation") has a massive market share which is effectively increasing, a delivery system (Play Store), billions of devices with its browser pre-installed, a search engine that tells you everyday that you should install Chrome, YouTube and so on and so on, will the web be truly open? Because open to me means also innovation and diversity of options and solutions. If everyone is aligned on a single solution and there's one company that controls most of the market, is the opinion of the other stake holders truly important? How hard it will be for the Firefox of tomorrow (considering that in this imaginary scenario Firefox will run on Chromium) to pull off the same thing that Mozilla did ages ago when IE went rogue? In my opinion it would be way harder to create an alternative, not because of the single engine again, but because of the power and control I mentioned in the beginning.

One could argue that now Firefox is as technically valid as Chrome if not better in certain extents, but as you mentioned, people don't care about that. People migrated to Chrome because it wasn't buggy and it worked well and it was fast enough but also because it was preinstalled on phones and most Google websites hinted at it (well, also because the preinstalled browser on Windows was bad).

Which begs the question: after a certain base level of efficiency and quality, is the monoculture really about the technical aspect or is it about dominance?

I'm a developer like you and I see your argument, it would save me and everyone of us peace of mind and probably time and maybe even make websites faster to create but... would it really be beneficial to the end user in the long term?

I don't believe it will.

We could make the same argument for everything else: why not a single programming language, a single operating system and so on? After all if we all were developing on a single platform that's the same for everybody our lives would be easier, cross platform errors would cease to exist. But would it truly be better?

After all life teaches us that the best things come from obstacles ;)

ps. on another note: I would love to see an Android vendor with a big share announce tomorrow that they decided to ship Firefox by default, that would change the game a bit ;-)

Collapse
 
seanmclem profile image
Seanmclem

The W3c no longer decides the web standards anymore. Browser vendors do. W3c just proposes and advises standards. WHATWG does the standards now. w3.org/blog/2019/05/w3c-and-whatwg...
It's a lot to keep up on

Collapse
 
kenbellows profile image
Ken Bellows • Edited

Off the top, thank you so much for the time you put into this response. This is the sort of feedback I was hoping I would get! 😁

I want to address some smaller points, then make an overarching point.

If a single company (even at a fictional "Chromium foundation") has a massive market share which is effectively increasing, a delivery system (Play Store), billions of devices with its browser pre-installed, a search engine that tells you everyday that you should install Chrome, YouTube and so on and so on, will the web be truly open?

I may have misled a bit with how I offered up the idea of a foundation to manage the web engine. To be clear, I don't mean that Google should become a non-profit, or that the Play Store or YouTube or Android should change ownership. The only thing I'd want this foundation to own is the core browser engine itself. Not necessarily even a full browser, like the Chromium Browser. Ideally, a foundation would be established with an independent leadership, unaffiliated with any browser vendor, to manage the open source project.

Off the bat, I absolutely recognize that this is a somewhat utopian vision, and Google, Apple, and the rest are unlikely to relinquish their power. But I don't think it's entirely out of the picture, and I think it deserves some discussion.

We could make the same argument for everything else: why not a single programming language, a single operating system and so on?

There's a difference though. If I'm choosing an operating system, I'm choosing it for myself (or my organization or whatever). If I'm choosing a programming language, it's really for me. My end user doesn't typically know the difference (with some exceptions). But on the web, the diversity of and conflicts between browser engines isn't a personal choice. I as a developer don't choose the browser engine I want to use, then write code for that engine and ship it. Other people choose what they prefer, and that controls the engines I need to target.

If I'm getting ready to create an application that requires a certain feature, and I see that, for example, Python makes it really easy to handle that issue whereas it's pretty difficult to pull off in Ruby, or if someone developed a really awesome Python module that does something I need but no equivalent Ruby module exists yet, I can choose Python and that's the end of it. But if I want to write a web app that relies on a certain API, and Chrome shipped it 15 versions ago but Firefox hasn't gotten there yet, I'm stuck. I've hit a wall until Firefox decides to implement it, unless I want to contribute another entry to the growing list of "Works best/only in Chrome" web apps.

(I don't believe Microsoft Edge will increase its shares in the short term, regular users have no reason to switch back but I might be wrong here)

This is a side thing, but I'm interested 😁. The reason I think Edge shares may increase is the same reason IE11 still shows up in the stats: people (especially non-technical people) have a tendency to use what comes on the box if there's not a good reason to switch. So far, Edge has been a sufficiently worse experience than Chrome that even non-technical users were willing to switch. But if Edge comes even close to Chrome in terms of usability, I just have an inkling that a lot of users will just not bother to download Chrome the next time they buy a laptop. Maybe I'm wrong; we'll see what usage stats look like in 2yrs or so.

--

Okay, in this next section, I'm going to agree with you a bunch, and then end with a flourish.

I think the main reason why this is not going to happen easily is power (and the control power allows).

100% agree. No question.

If you look closely, even at the Web Incubator Community Group most proposal are signed or co-signed by Google employees. ... As you say, an independent organization might help that, but isn't the W3C already an independent organization? So if Google is effectively "driving the web through committee", what would this new "engine foundation" do differently?

Also 100% agreed. There's a huge power imbalance, and I do take the point that there's a possibility that if everyone moved to a common browser engine, but Google continued to have an oversized influence on the project, then Google may conceivably have an even easier time influencing the web to work the way they want.

Which begs the question: after a certain base level of efficiency and quality, is the monoculture really about the technical aspect or is it about dominance?

Yep. Definitely a concern.

All of these are super important, very valid points. Google may still have a (too) large influence on web standards, and I have concerns about that. But here's where I'm coming from: I think that's pretty likely to happen anyway. The direction things are headed, I think Chrome will probably continue to pick up a bigger market share, I think every new browser to enter the scene will be built on Chromium, and I think Chromium browsers will continue to implement features and APIs faster than other orgs can keep up, especially with Microsoft's engineers joining the repo.

What's the end state there? I'm very worried about a certain scenario, which seems to be playing out now: More and more web apps (not just Google ones) will become Chrome-only, or Chrome/Edge/Opera-only. More and more users will see these messages and think they have no choice but to download a supported browser, because they really want to use that application. Safari will lose users, Firefox will basically die out (or shrink to less than 1%), Google will dominate, and there will be no structure in place to stop them.

As a small aside, I think the advancement of TWAs in the Google Play Store (Trusted Web Activities, basically a way to package a PWA into an Android app) will put even more pressure on app developers and companies to target Chromium first and foremost, to maintain compatibility with the Play Store and avoid having to maintain a separate Android app.

That, to me, is the ultimate doom scenario. Google still basically wins the Internet, and other organizations have little to no way to stop them. In the scenario I suggest here, I admit that this isn't totally avoided. But my hope is that it leaves avenues open.

If Mozilla is no longer sinking all their developer resources into keeping their browser engine afloat, they can focus more heavily on improving the features of their browser, all the stuff outside the rendering engine. My hope is that this could actually strengthen the appeal of Firefox, since privacy advocates no longer have to choose between a browser that keeps their data safe and a browser that works. Best case scenario, they begin gaining users again, gaining donors, increasing their resources, and ultimately increasing their influence on the standards process.

This all can sound sort of apocalyptic, and admittedly it sort of feels that way too, but that's what happens when you talk long-term... you have to imagine the ultimate best and worst outcomes and decide how likely they are. Is the Mozilla scenario I just suggested likely?

--

Man, this ended up basically as long as the article 😂 Hopefully it's not all nonsense

Collapse
 
rhymes profile image
rhymes • Edited

Off the bat, I absolutely recognize that this is a somewhat utopian vision, and Google, Apple, and the rest are unlikely to relinquish their power. But I don't think it's entirely out of the picture, and I think it deserves some discussion.

I agree about the discussion worth, my argument was mainly about the fact that it might not actually matter, because it wouldn't probably be binding. It's totally not the same thing but you just reminded me of the Paris Climate agreement. I don't have the tools to have a definite opinion on that but I know as a citizen of this Earth that if you make an agreement that sovereign countries have no obligation to respect and if they don't (see the US) nothing happens, well, the result is just a feel good utopia, to borrow your word because people can go their separate ways without consequences.

There's a difference though. If I'm choosing an operating system, I'm choosing it for myself (or my organization or whatever). If I'm choosing a programming language, it's really for me. My end user doesn't typically know the difference (with some exceptions).

Are we sure we're really choosing? Far from invoking theories of being in a simulation or issues of true freedom but... well, the tech we choose is (for the most part) the result of the environment we have around and has consequences for the end users (though I know what you mean and probably the following analogy shouldn't be used here because we both understand each other). The analogy is Electron, I know people like to bash on it and I'm sorry to use it again, but if my tech choice means that I'm going to shave off 500mb of the RAM of a person that might have only 4GB, well that's a choice that has an impact. The same way a badly written website might have megabytes of JS that have a real impact on users (and this would happen even in the "universal engine" scenario).

But if I want to write a web app that relies on a certain API, and Chrome shipped it 15 versions ago but Firefox hasn't gotten there yet, I'm stuck.

I see, that's true but at the same time, are you stuck because you don't have access to that API or are you stuck because the lack of that new API impedes your ability to deliver a good UX to the user? After all we didn't have many of the "Chrome only" APIs until the day before they were announced and we were mostly fine. I don't want to sound like a luddite because I'm not but not every technological advancement is needed, sometimes it's just because developers like us have found a better or smarter way to accomplish something we were already doing the day before.

I totally subscribe the argument of productivity though, APIs and abstractions help us deliver products faster and that's important.

The reason I think Edge shares may increase is the same reason IE11 still shows up in the stats: people (especially non-technical people) have a tendency to use what comes on the box if there's not a good reason to switch.

True that but if Microsoft doesn't plan to release a new operating system, then "what comes with the box" for existing customers is a sailed ship if they've already switched to Chrome. Unless MS plans an aggressive marketing campaign I don't see a person happy with Chrome switching back. An entirely different argument is to be made for people who purchase new computers, but even that might be unpredictable (maybe they have an Android phone and they want to sync bookmarks ;-)). We'll see.

I would honestly be glad to see Edge Chromium (even if in my heart I would have preferred an Edge Servo) raise in stats, because of the reasons mentioned before about competition.

The direction things are headed, I think Chrome will probably continue to pick up a bigger market share, I think every new browser to enter the scene will be built on Chromium, and I think Chromium browsers will continue to implement features and APIs faster than other orgs can keep up, especially with Microsoft's engineers joining the repo.

I see, your argument is about making the most out of an unstoppable situation. I honestly don't think Firefox will ever switch (though it worries me that a part of their funding comes from Google paying them to default to Google search). I guess we'll live to see. There's always something happening in tech.

Maybe we'll end up using WebAssembly like Java Applets and the browser won't even matter anymore. Kidding :D

Seriously speaking: I agree that the "mono engine" scenario is better than having broken sites on different sites but as I don't see Firefox switching, I really have no idea what Apple would do with Safari mobile. They, unless they've changed it recently, have a policy in place where all the browsers ported to iOS have to use Apple's browser engine. Firefox for iOS sucks for that very reason ;)

As a small aside, I think the advancement of TWAs in the Google Play Store (Trusted Web Activities, basically a way to package a PWA into an Android app)

You're making my argument for Google being a double edged sword for the web. What happens if devs start making Android only PWAs (even saying that sounds too much of a mono culture to me)? Are they really going to ignore all iOS devices just because Google has a better track record in regards to catering to web developers?

My hope is that this could actually strengthen the appeal of Firefox, since privacy advocates no longer have to choose between a browser that keeps their data safe and a browser that works. Best case scenario, they begin gaining users again, gaining donors, increasing their resources, and ultimately increasing their influence on the standards process.

Got it. What happens to all the work they've done with Firefox Quantum, Servo, Rust and so on?

Is the Mozilla scenario I just suggested likely?

I guess it depends on how much Google decides to push and how little Microsoft and Apple decide to counterbalance. It sure is gloomy for Firefox market shares right now. In the meantime, I'll keep using it because it's a damn good browser and I'm rooting for the underdog that gave us Rust :)

Sorry if it took me a while to respond :-)

Thread Thread
 
kenbellows profile image
Ken Bellows

You're making my argument for Google being a double edged sword for the web.

Indeed, that was my point! I totally agree with your concerns about a Google-controlled web.

What happens to all the work they've done with Firefox Quantum, Servo, Rust and so on?

Yeah, unfortunately the majority would hit the floor, no question. That's an enormous bummer, no question. But I'd hope that at least some of the principles used to build Quantum could be applied to improve parts of the future browser engine, just like what the Edge team is doing with their improvements to Chromium's scrolling and touch support.

Are we sure we're really choosing? Far from invoking theories of being in a simulation or issues of true freedom but... well, the tech we choose is (for the most part) the result of the environment we have around...

Hey listen, I'm no metaphysical libertarian. You wanna talk determinism, compatibilism, or any other philosophy of mind, jump in my DMs, I'm all about that 😎

I see, your argument is about making the most out of unstoppable situation. I honestly don't think Firefox will ever switch...

Yeah... probably not. I don't what to do with that. To be honest, as some others have said in the comments, I'd much rather see Firefox become the basis of a shared browser engine anyway; the only reason I posed this in terms of Chromium is because it's currently winning the war by, like, a lot. I honestly don't know if Mozilla would ever go for it.

I agree about the discussion worth, my argument was mainly about the fact that it might not actually matter, because it wouldn't probably be binding.

That's certainly true. A big outstanding flaw of my proposed future is that as long as Google continues to have majority influence over the engine, they can basically take it where they want. And if control were to be ceded to an independent foundation (which is already an enormous assumption), Google could still at any point get frustrated that their PRs and merge requests aren't being accepted and fork Chrome back off again. And I don't know what to do about that.

Thread Thread
 
rhymes profile image
rhymes

And if control were to be ceded to an independent foundation (which is already an enormous assumption), Google could still at any point get frustrated that their PRs and merge requests aren't being accepted and fork Chrome back off again.

Yep

And I don't know what to do about that.

There would be nothing to do about that, except change browser but at that point there would be fewer options and we would be back at square one essentially ahhaa.

BTW another aspect is that even if tomorrow all browser would choose a single engine we'd have to support the existing ones for years :(