At least there was a distinction between web of documents (WWW) and shipped apps with custom canvas. Rendering apps with web’s DOM is stupid. It makes websites a mess and relies on everyone using the same monoculture of browsers (like we now have Chromium, WebKit and Gecko, all nearly identical).
If browser does not support one feature (like CSS’s transform), the whole house of cards breaks. It’s like making ASCII art in notepad and then expecting everyone to use the same notepad app with the same font and style, to not break our art proportions.
We need to split web into websites and webapps, with webapps being browser dependent or full custom canvases and websites being immutable human-readable and editable format.
You know that chromium is controlled by google, right? Only google gets to decide what goes in and what stays out.
Which is why I think that shouldn’t be the case.
Originally Chromium was adapted from WebKit, developed by Apple, which in turn had been adapted from KHTML, developed by the KDE project. That’s the way of open source. Chromium is huge and used not just as a browser, but as the foundation for lots of desktop applications.
No single company should have that kind of power, hence other companies, preferably companies like Mozilla, should step in and democratise the project.
How do you plan to convince Google to give up exclusive control?
You don’t have to. You just fork the existing Chromium, keep your fork up-to-date with the parts you like, while removing the parts you don’t (like WEI). It’s a job that would be much easier if companies like Mozilla and Apple were doing it, instead of just the much, much smaller companies behind Vivaldi and Brave.
It would be mutually beneficial, because frankly Firefox has been struggling to keep up with its own development. They were years behind Chrome in implementing the
column-span
CSS property (April 2016 vs December 2019), and they still today have not, on their iPad OS version, implemented the multiple windows feature introduced in 2019. Every time there’s a new web standard, or a change to an existing standard, Mozilla has to spend time implementing it, along with all the usual time fixing bugs and implementing any new features. Forking Chromium would reduce the amount of work they need to do by sharing that work with Google, Microsoft, Brave, and Vivaldi, leaving more time for their own new features.You mean like WebKit and Blink kept up to date with each other?
You have basically two options:
Google forked WebKit specifically because they didn’t want to remain too similar to it. If either of them had wanted to, they could have kept it close.
We already have multiple browsers forking Chromium with the features they want and not the ones they don’t. Edge is this. Brave is this. Mozilla would just be the largest noncommercial option for a Chromium fork, not either beholden to an advertising giant or laden with bloat, which would benefit Brave, Vivaldi, Opera, etc. as well as themselves. It’s a model that works, and works well. All the effect it would have is enabling them to spend a smaller amount of effort maintaining the basic functionality of the browser.
I don’t know if you regularly work with large code bases, but that’s not true. It’s very easy to diverge significantly even if you don’t want to. That’s why there’s so much focus on short living branches, the long living branches cause a lot of pain.
Now, if you have a hostile upstream, which intentionally tries to make that difficult - that’s a whole another story.
So, which core web platform features (things like HTML, CSS, JS, DOM, network stack, WebGL, WASM, File API, WebVR, WebXR…) Brave/Edge add or remove? Brave/Edge go with the first option outlined above, they’re more like shells (or skins if you will) around the largely untouched Blink.
All the things you named are things that I think should largely be kept the same. Having them be identical or near enough to it is the goal I’m trying to achieve.
Things that should be kept different are things like Manifest V2’s deprecation and WEI. Things that are, by their nature, comparatively surface level and separate.
So you just want to give Google total control over the core web platform technologies and other browsers will just accept what Google decided. That’s exactly the state I’d like to avoid.