Without a second browser engine to test pages in, it's really hard to know what is a bug and what is intentional. Devs don't know all the specs by heart. They write whatever happens to work for them, but sometimes they accidentally depend on obscure edge cases in the implementation that were never meant to exist.
In the long term it's paralysing for the engine maintainers, because any change in implementation could be changing some subtle behavior that breaks some pages. W3C requires two independent implementations, so that they'll share intentional behaviors, but hopefully their bugs will differ.
The single-engine Web will be as fun to maintain as Windows: Windows 11 Explorer has a shiny new context menu with an option to reopen it as an older, uglier context menu, because Microsoft couldn't touch a line of code of the old context menu without breaking apps.
They aren't even bugs. The spec allows for interpretations.
I know this isn’t everyone’s experience, but I believe adding IE11 support to my personal website improved the quality of my code.
There were a lot of things I hadn’t specified explicitly, and for whatever reason Chrome/Webkit and Firefox just happened to make the right guesses. IE11 did not, so I had to go back and be clear about exactly what I actually wanted.
Building a browser for the modern standards-based web is effectively impossible, because it costs too much, takes too long, and requires a standing army to keep up with.
We are at an impasse. The standards cannot be deprecated because they are used all over the web, and because they are used all over the web a new browser maker has little choice except forking chromium or firefox. Even microsoft couldn’t afford to keep adding all the standards to their browser engine. Normally the solution for a messy overgrown implementation is a grand reboot. But we can’t do a grand reboot of the web because we cannot get rid of the legacy. The only viable strategy I see to have real browser engine diversity without giving up on compatibility is moving as much of the standards implementation as possible into JS modules, so new browser makers can start with a small engine that loads the publicly hosted standards modules.
>Building a browser for the modern standards-based web is effectively impossible, because it costs too much, takes too long, and requires a standing army to keep up with.
I wonder which company grew their browser marketshare through ruthless advertising on their already-a-monopoly search engine, then began to compete with the other browsers by purposefully breaking their websites on other browsers (all by accident of course, hundreds of times), then began to implement their websites with alpha versions of their proposed web standards that only their browser properly implemented, leaving other browsers with a dreadful polyfill that had horrible performance on purpose, only to then basically force their proposals through the web standards body that they had made because they couldn't control the W3C, leaving everyone having to follow such great APIs as WebUSB or other badly-implemented-but-only-by-them flavor of the day API, all the way to forcing dreadful protocols like QUIC and HTTP/3, justified by their need to save up three bytes per request and making the user's experience better while they serve 2MB of tracking javascript and ads through DNS-cloaked servers.
I think the name was like... Gogle ? Golgool ? Can't remember.
A body of web standards that they lobbied for and to be in the form that they are...
> Building a browser for the modern standards-based web is effectively impossible, because it costs too much, takes too long, and requires a standing army to keep up with.
> We are at an impasse. The standards cannot be deprecated because they are used all over the web, and because they are used all over the web a new browser maker has little choice except forking chromium or firefox.
could web assembly be a way out?the browser just becomes an execution engine, the current "web stack" becomes a (cacheable) downloadable library, meanwhile other languages, ui frameworks etc can flourish in the browser (now a much more simple thing that anyone can implement)
maybe just pie-in-the-sky?
Heh. Now you have two problems. One of them is JS, which was a mistake in the first place and now we can't get rid of it for similar reasons.
what exactly is the benefit of having a byzantine set of standards in the first place? Like why not just have a standard and not dick around with it?
Microsoft just did whatever they wanted with the web "platform", and so will Google.
In Microsoft's case what they wanted was nothing. They weren't a web business, saw it as a threat to their platform leverage, and so just left it abandoned and stagnant for years.
Google is simultaneously better and worse: they won't leave it stagnant because the web is their platform, but on the other hand they have a lot more to gain by abusing control of it.
Mozilla (Firefox) was our chance for something different. They were ahead of IE once but they watched on and did nothing whilst they had their pockets lined up with Google's money and allowed them (Google) to overtake everyone and now everyone is complaining about it. It even goes back before Chrome was a thing when the Mozilla CEO declared that they could move away from depending on Google's money. [0] Now 14+ years later, they are still unable to do so.
Since then it is only Google (Chrome) and Apple (Safari) again, just like for Android and iOS. All other attempts at stopping them was a complete failure like Firefox OS was and now Mozilla and Firefox are the ones fizzling out of existence as they are unable to make money as the majority of users are running to Chrome, Brave, Edge and Vivaldi.
It is no wonder websites are beginning to not only break on Firefox, but also tell or block users from their web apps to instead use Chrome.
[0] https://web.archive.org/web/20120105090543/https://www.compu...
macOS-specific browser share numbers are hard to come by, but on our own moderately sized website we see about 60% of macOS users choosing Safari. Even if iOS allows other browser engines, presumably a similarly large number of iOS users would also choose Safari, either because it's the default or because they like it. So regardless of what happens with iOS regulation, it seems likely there will always be significant Safari usage on the web.
So then the only way we end up with a Chromium-only web is firstly assuming a worst-case scenario for Firefox essentially falling out of use, but its usage on desktop appears to have stabilised around 7-8%. Secondly Apple would then need to decide to ditch WebKit for Chromium. I can't imagine they'll ever do that. Apple have a strong desire to do things their own way and keep full control over how their browser works. So I think we're a long way from a Chromium-only web.
>Google had a plan called “Project NERA” to turn the web into a walled garden
https://twitter.com/fasterthanlime/status/145205394150468403...
It's not that they're one judgment away from that day. They know that. It's just that they want to get as much mileage as they can before they too abandon Safari and first allow, then switch to Chromium. That will happen in the next 5 years.
What might come of it all would be a reset where new branches form and new innovators get to introduce new proposals. Standards aren't a bad thing if they're open. If Safari dies then Google will be next in the line of fire for antitrust action anyway... things will fragment again. I'm personally pissed at the number of great technologies left as litter along the road, not least AS3, just to get to this shitty middle ground / cold browser war between two companies I hope die and one that won't help itself. Let the standards win and let's have a standard platform to innovate on top of.
This is why I'll use firefox until it's gone. Considering the push for mv3, I'd rather have a functioning ad blocker that actually blocks ads instead of having pages 100% work 100% of the time
And don't even get me started on "accessibility". The web's barely-acceptable kludges for accessibility could easily be accommodated in a layered, more programmable system.
The web platform is rife with abstraction inversion, employs declarativity where programmability is necessary, and vice versa. It puts magic in pretty much all the wrong spots. And its event-based programming model that puts all JS on the "main" (actually UI) "thread", forcing a painful and awkward asynchronous programming model that we are gaslighting into believing is good for us, is frankly just dumb. But the web has always thought designers and developers are dumb, so it's fair play to just hate it right back.
Many of the solutions given in this thread are similar to ones we give to someone who wants to escape from the monolith mess. Namely, move towards a very slim core, make everything as modular as possible etc etc. And the problems towards such an approach are the same as well i.e., what do we do about the legacy stuff?
The important question here is: what can be done better if we start from scratch? The main issue I see with browsers is that they have become so big that building a new one in a reasonable amount of time is next to impossible. This makes all the open standards pointless because no one can do anything with them except the few already established browsers.
Unfortunately there's no clean way out of this.
1. Microsoft: MS was never interested (until it was far too late) in having a standards-compliant, performant browser. It was a spoiler move to keep people Windows dependent.
2. Mozilla: I honestly don't understand what Mozilla is doing other than raising top exec pay while Firefox users go down [1]. As best as I can tell, Mozilla is the Yelp in this situation. Yelp has spent over a decade extolling the evils of Google while doing absolutely nothing to improve their product. It's a great way to collect a fatter and fatter paycheck but you're ultimately doomed.
3. Apple: Safari has almost always been bound by its own ecosystem. It's dominant on iOS because you have no other choice (for now; you can install other browsers but they're still the Safari engine basically). A lot of people use it on MacOS. For a brief time there was a Windows port but it died. This doesn't seem like an area that Apple wants to compete in. I mean at the end of the day Safari and Chrome share a common Webkit lineage.
So I see a lot of failure, lack of prioritization, missed opportunities and finger-pointing in this space so is it any wonder that a massive engineering company has been able to dominate this space?
I don't see us repeating the IE6 era however. The Internet is core to Google's business in a way that it never was to Microsoft.
That being said, I think this is one area where government intervention may well be needed sooner rather than later. Google has (and continues to) use their properties to advance Chrome (IMHO) eg [2].
There can be a fine line between advancing the browser space and simply crippling your competitors.
[1]: https://calpaterson.com/mozilla.html
[2]: https://mspoweruser.com/engineer-accuses-google-of-sabotagin...
Firefox is responsible for such a low percentage it's sad (the stats I have for the sites I work on it's usually on the 1-2% range). I think it's mainly because of the horrible leadership at Mozilla. I want to use Firefox and promote it but every time I think they've changed Mozilla does something new that boils my blood. You can donate to Mozilla, but not directly to Firefox and they seem to spend a lot of money on political projects. It's a 'get woke, go broke' situation and I have watched the fall of Mozilla in real time over the past years.
I really wish Mozilla changed focus, I would gladly pay for Firefox+ or something if I knew that the money went to Firefox development and not to some racist white male hate project.
So I'll continue using Brave and hope for the best, the future the author is talking about is basically already here.
[1] https://www.schneier.com/blog/archives/2017/01/class_breaks....
> However, they can’t (quite) go cowboy/cowgirl and do it on their own right now – they’ve all agreed to work together on the definition of what ‘the Web’ is in a Standards Developing Organization (SDO), most often the W3C.
I didn't think that was what was going on at all. Has this changed again since last time I was paying attention, has the W3C regained some influence on browser implementations?
> it’s more fundamentally a question of how do we organize society so that important decisions are made well? And, what will be considered legitimate governance of the Web?
Indeed.
Seems quite an article for something that's founded on just an unsourced and unquotable rumor.
Most webdevs I know consider Safari to be the new IE - they often lag years behind implementing features that are key for new capabilities like WebAssembly multithreading - and it's not hard to see why - the web is a primary competitor to their App Store business.
On the other hand, I feel like the browser is almost done. With WebAssembly and WebGPU and a bunch of other stuff, I can think of very little in terms of capabilities that need to be added to browsers in the future.
I would also like to see a lightweight native API for DOM queuing ala React.
Layout engines are difficult to write and adapt. Especially adapt as they're so complicated.
I read part of the ORC Solver paper and there is algorithms in that paper for writing a layout engine and there's code on GitHub.
https://github.com/YueJiang-nj/ORCSolver-CHI2020
I would like to adapt this approach but write the code myself but it is obviously a challenging area.
I am yet to write a branch and bound optimisation algorithm. But from my understanding you greedily try a number of rows or columns and try arrange objects preferred width and preferred height into the space available. ORCSolver uses intervals and eliminates attempts that are not viable. ORCSolver uses Z3 for the final step to actually get coordinates when the system has been constrained. I plan to use ORTools.
For simplicity I plan to break up text into letters and try place them all in a flowing horizontal then vertical layout. I can use GetTextExtents of WX widgets to predict size of a rendered letter. It shall be slow but then how else do you begin writing a layout engine? I would need to read TeX or the Art of Computer Programming.
Layout is expensive especially for grid based layouts with flowing. I wonder if website authors could prerender at different resolutions and provide start point sizes and coordinates for speed. Generally everybody reaches the same numbers on everyone's machines and we don't need to try a lot of aborted work to relayout.
I am the author of additive GUIs which is a declarative rendering approach for bootstrap layouts. https://GitHub.com/samsquire/additive-guis It's not really a layout engine but it does layout things according to mutually recursive rules.
Competition is a great way to drive innovation. What will motivate innovation on the web platform going forward? Will there be stagnation? Will another company emerge to push the web forward?
What will this mean for companies that have enjoyed all of the innovation on the web platform in recent years? How much longer will it take for bugs to get fixed?
This will not be a sudden shift. It will happen gradually.
Microsoft must have realised that picking Chromium would dramatically increase the odds of a Chromium-only web? On the surface I'd have thought it would make more sense for Microsoft to support the Mozilla Quantum project. Perhaps they just wanted to take the easy route though. Chromium is certainly more popular and has Google's backing. I understand why so many projects use it.
A significant part of the internet already thrives outside of the traditional browser sphere. Apps and mobile are the future. Eventually no one will be using web browsers. Or the internet web browsers serve up will be like cable TV or AOL: a zombified booby trap of nothing but ads, scraped content and links eager to serve you ransomware.
Maybe I've read too many dystopian novels though.
It's good that Chrome is finally on track to provide MathML support (which Firefox has had since version 4), and as of version 91 supports counter styles (Firefox supports it since version 33), but I wonder how much of that will happen if/when Chrome is the only actively developed browser on non-Mac platforms, resulting in WebKit/Blink being the only engine developed for the web.
I'm also concerned about what will happen in regard to the web standards, given that the browsers have abandoned the W3C in favour of continually changing documents, and only seem to be interested in the needs of web browsers. That makes it difficult for other uses like in ePubs to steer the direction of HTML and the associated standards.
The only way to stop this is personal choice: don't use Chrome or Chrome derived software. There's no other actions any human person can take with more impact.
That doesn't mean it will be easy, but I have little doubt that with enough pressure, some people will start their own browser from scratch, and some of them will be successful.