I started out using Mozilla Communicator Suite, Phoenix, and now Firefox as my primary browser. I never defaulted to IE and never to Chrome but I have always strived to make everything I wrote work across as many browsers as possible.
Something funny happened around IE 10, the HTML, CSS, and JavaScript all started running correctly on the first try on all browsers, even mobile.
It was glorious for about a year or two then everything started to diverge again and with Mobile versions of browsers we're starting to head back towards the hell that was developing for the Web around 2004.
There are certainly more platforms to juggle today but they're more similar than different at this point.
I think it's more likely that a new communication paradigm will supplant the web than that a Chromium competitor will replace Chromium, just as the new smartphone/cloud computing platforms finally broke the Windows stranglehold. PCs are still dominated by Windows.
The bigger issue is backwards compatibility; the web has bent over backwards to maintain it, which is a blessing and a curse. On the one hand it makes the feature set absurd, but on the other hand the web is (relatively) easy to archive since format interpreters for it are widespread, and pages can be built and then forgotten about because they still work.
I'd like to see that experiment done.
This is talked about in a few videos and articles by it's creators.
The HTML5 parsing algorithm is not _that_ hard:
https://www.w3.org/TR/2011/WD-html5-20110113/parsing.html
Do you really think that the complexity of a full XML implementation of the half dozen specs required to implement XHTML would really be that significant a savings compared to the actual features browser developers actually spend their time on?
You're correct that complex software is what people want but that's complex as in an advanced document layout system with advanced language support, rich media, forms, etc. rather than the format those features are implemented in.
Seriously, XML is arguably bad, but html5 is absurdly horrible. The only reason it's acceptable is because it's so widely used that parsers are huge shared projects and most bugs are shallow.
I guess it's all a matter of perspective: sure, you might argue, hey, the spec isn't hundreds of pages, so it's humanly comprehensible. But from my perspective that's a really low bar, and it clears it just barely.
It matters too, because these weird quirks have often hidden things like performance issues, misparses, and security issues due to incorrect normalization.
https://en.wikipedia.org/wiki/Comparison_of_lightweight_web_...
I think I disagree. Most of my customers don't even want software. They want to watch a movie, or read something, or make some data transform, or something else that is their actual goal.
Complex software is what we make in order to enable them to achieve their goal; perhaps if we were smarter and better, we'd be able to make simple software that enabled their goals.
Or perhaps more useful: domains / classes of such issues?
I suspect a lot is:
- XHR
- JS generally
- Cookies
A heatmap of problem areas might be interesting.
Update: that's sort of here:
Great link!
Mozilla themselves have been doing this with Firefox. They've been replacing C++ by Rust (with the Servo rendering-engine project). They've replaced the JavaScript JIT more than once, if I recall correctly.
We've already seen WebKit give rise to two divergent major browsers: Chrome and Safari.
I just discovered Goanna on Wikipedia, a fork of the Gecko engine, presumably with relatively thin resources. Don't know how well it compares to mainstream engines though. [0]
I suppose the short version is that the workload is a function of the goals.
Edit: at that point I wouldn't really consider it "FF of yore." A rewrite is really a new product.
The comment you called out is directly related to what I was talking about, it is not orthogonal.
I'll repeat myself: Firefox is already using the browser engine for its own UI, and that's been the case—I'll repeat again—since before it was even called Firefox.
> they recently announced that the UI is web component based - which means that using Servo for the window chrome is in the realm of possibility
IMO some of the key words there are "web component" and "Servo":
1. IIRC you can't render XUL strictly with web components or anything that would be called "web", since that usually refers to web standards or something you would use from a webpage but not included as a standard (non-standardized extensions, flash, silverlight and so on).
2. Regarding the Servo part, I don't think that Servo ever included XUL support at all. Servo isn't used wholesale as the rendering engine in firefox, but the parent comment talks about the possibility to use it and web standards for the browser chrome.
I feel like you are responding to a comment that never was and then responding to a comment on that comment by saying the original comment was something you thought it was, but it wasn't.
> IIRC you can't render XUL strictly with web components or anything that would be called "web"
> use [Servo] and web standards for the browser chrome.
Geez, this is excruciating.
If you want to use web standards for the browser chrome, this is not a new development. Because Gecko supports web standards. And Gecko has been used for the browser UI for years. There is nothing particular to Servo here. There's nothing particular to Rust.
Using standardized web tech for the "window chrome" is not "in the realm of possibility". It is possible. Full stop. It has never not been the case.
1. Servo supports many web standards, not XUL
2. The firefox UI used to be built in XUL
3. The firefox UI is now not built on XUL, but rather on web standards
This means that the firefox UI can now be rendered by servo or similar components.
That's basically the parent comment. If you disagree with any of those facts that's an interesting discussion, but I think you think that somebody said that the firefox UI could not be built on gecko previously, which nobody said.
If anything, Firefox is a good example of why it's probably better for aspiring browser competitors to start off by just spinning off from Chromium like Brave did. Not that Brave is perfect either, especially not on desktops, but the saved resources let them focus on finding ways to surpass the competition like improving the mobile ui.
* References:
1. https://www.dedoimedo.com/computers/firefox-suckfest.html
2. https://www.dedoimedo.com/computers/firefox-disable-australi...
3. https://www.dedoimedo.com/computers/firefox-directory-tiles....
[Edit (fixing link)]: 4. https://www.dedoimedo.com/computers/firefox-addons-future.ht...
Just like the 1st edition of Bill Gates book, Microsoft decided the internet thing wasn’t as interesting as whatever they had cooked up. To their credit, they figured out they were wrong.
> The final nail in the coffin was that after the release of Internet Explorer 6, Microsoft decided to tightly couple new Internet Explorer releases to Windows releases. So they dismantled the Internet Explorer team and integrated it into the Windows product team.
I also wonder if they realised they were just building infrastructure that competitors would use to supplant them. Already by 2001 and 2002, Google was starting to dominate search.
Besides, enterprise customer adoption of browser based tech sold lots of SQL Server.
Outside of the SV bubble, this is seen as the creepy grandstanding that it is.
It’s like saying that because Microsoft Amazon and Google all use Linux - that we’ll have no innovation.
They have a handful of products that dominate the market and everything else is a joke. And it seems like every good idea/invention they have, gets turned into a mess by marketing/management.
Personally, I'd say it was mainly because we were tech geeks who, back then, actually believed in a web that should be accessible to as many different platforms as possible using as many different browsers as possible, not just Windows and IE users.
In a sense, that notion prevailed: the web is ubiquitous, browser lock-in is considered a douche move and you can still access some really worthwhile sites even with rather simple means.
In another sense, we all failed, lending our hands to help create the current privacy-invading, dark-patterned UX nightmare we're still trying to pass off as a reasonable way of making the world a better place.
I never thought I'd lament the day Microsoft stopped making their own browser core. As a web developer, one less rendering engine to GAF about is nice. As a netizen, the Google dominance is going from unsettling to scary.