DEV Community

Discussion on: Chromium and the browser monoculture problem

Collapse
 
remotesynth profile image
Brian Rinaldi

If you switch to mobile specifically, Safari's market share jumps to about a 20%. Even that, understates Safari's significance since Safari/WebKit powers every browser or WebView-based app on iOS. So, I think the biggest impediment towards your idea would be getting Apple to relinquish control over the web engine on their mobile devices.

That being said, I am not sure I am totally in agreement here. I say that as someone who remembers how easy it was to develop back in the days when we only targeted IE and even had almost a single common screen size to design for. However, I don't see cross-browser issues being the biggest complication in modern web development (PWAs are a bit of an exception, but iOS is rapidly catching up of late). The biggest issues facing web devs, in my opinion, are targeting a myriad of devices, device sizes and device capabilities (including trying to support older devices), and this is a problem I don't see a browser engine monoculture solving.

Collapse
 
kenbellows profile image
Ken Bellows

On Apple: yeah, I definitely agree. I think Apple would be hard-pressed to give up the deep integration that Safari has into their whole ecosystem. But imagine if everyone else did, and the web started bounding forward, leaving Safari in the dust. I've already heard folks refer to Safari as the new IE in the sense of being the holdout for lots of new web platform features that we all really want to use, so I could imagine a world in which the pressure on Apple builds up to the point that they are willing to fall in line. And actually, I bet that Safari would be easier to transition than, say, Firefox, given that Chromium's Blink Engine began its life as a fork of WebKit. I'm sure the code has diverged plenty in the six years since, but it's probably still got a lot of the underlying foundation in there (again, I'm no expert).

On the main problems of web dev life: I definitely agree that cross-device issues are a big deal. But like, there can be more than one big deal, right? IMO, cross-device isn't really a problem to be solved, it's just the nature of the web, and we've spent a decade developing techniques to deal with it (and will continue to do so). And actually, in my experience, cross-browser and cross-device tend to interact, so that you have your app working perfectly on Firefox/Windows, Chrome/Windows, and Firefox/Mac, but for some reason it still looks weird in Chrome/Mac. That (largely) goes away if you reduce down to a single browser engine under the hood.

And to back up a bit, idk, I have to disagree that cross-browser issues aren't a big issue (if that's what you were saying; hope I'm not putting words in your mouth! 😬). As I mentioned in the post, one of the biggest frustrations of my life right now is that Chromium hasn't prioritized Subgrid yet. In my experience, Chromium tends to push boundaries more often in JavaScript, while Mozilla often leads the charge in CSS. There are quite a few JavaScript features that Chromium has been experimenting with, and that have shipped to prod in Chrome, but that Firefox hasn't had time to work on yet.

And really my point is that even if you don't see the issue now, this is only going to get worse as time goes on. That Verge article was definitely not wrong in talking about the rise of "Works (best/only) in Chrome" sites. People want to use these APIs (myself very much included), but we need cross-browser support.

I guess in the end my worry is that if we don't address this now, intentionally and publicly, we'll end up with a monoculture anyway, and it will be the bad kind, where a company becomes dominant instead of a technology.

Sorry for writing another article in your mentions 😅, I have a tendency to do that. I'd love to hear your feedback again, if you can spare the time!

Collapse
 
remotesynth profile image
Brian Rinaldi

The divergence in my experience really tends to be on bleeding edge features. SubGrid, for example, is part of the CSS Grid Level 2 spec, which is still in a draft recommendation status. So, I'd argue it is not that certain browsers fall behind but that we developers tend to get ahead of ourselves a bit. I'm not discounting that these are important features, but that we've become a bit accustomed to features being available even when the specs are still a bit unstable.