News for hackers. Stuff that matters.
Re:The Era of the Trident Engine by arexxbifs on Saturday January 25, 2020 @12:54PM (#22147501)
> One part of why Microsoft's ideas didn't really catched on was that we developers just didn't get it. Most of us were amateurs and had no computer degree.

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.

Re:The Era of the Trident Engine by cptskippy on Saturday January 25, 2020 @03:10PM (#22148353)
> As a web developer, one less rendering engine to GAF about is nice

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.

Re:The Era of the Trident Engine by jackcosgrove on Saturday January 25, 2020 @01:50PM (#22147866)
If the web's reliance on the Chromium code proves to be a hindrance, it will take a monumental effort to correct. Brendan Eich, speaking of Brave, said something to the effect that it would take hundreds of engineers years to build a new browser equivalent to Chromium in capability. For a free piece of software.

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.

Re:The Era of the Trident Engine by rapind on Saturday January 25, 2020 @02:07PM (#22147964)
The fact that this software is so complex is the problem imo. The focus at this point should be on cleanup and simplification instead of feature bloat. Every design decision should consider "what can we delete?"
Re:The Era of the Trident Engine by nradov on Saturday January 25, 2020 @02:17PM (#22148025)
Complex software is what customers want. A rendering engine for clean, valid XHTML could be very simple. But everyone wants to be able to see web pages created by technically incompetent designers with "tag soup" HTML. There's no point in complaining, that's just the reality of the modern web.
Re:The Era of the Trident Engine by ripdog on Saturday January 25, 2020 @02:41PM (#22148178)
The complexity in modern browser engines has nothing to do with parsing invalid HTML and everything to do with the vast, absurd feature set of the modern web platform, and the complex interactions between the components.
Re:The Era of the Trident Engine by bobthepanda on Saturday January 25, 2020 @02:59PM (#22148306)
Yeah, if you were to design HTML, CSS, and JS from the ground up today they'd likely look very different.

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.

Re:The Era of the Trident Engine by amelius on Saturday January 25, 2020 @03:35PM (#22148478)
> Yeah, if you were to design HTML, CSS, and JS from the ground up today they'd likely look very different.

I'd like to see that experiment done.

Re:The Era of the Trident Engine by hencoappel on Saturday January 25, 2020 @06:23PM (#22149280)
This is sort of what Flutter claims to be.
Re:The Era of the Trident Engine by rubber_duck on Saturday January 25, 2020 @08:14PM (#22149748)
Flutter is a GUI toolkit, it's a different use case entirely with some small overlap (flutter can run on the web or could be used to build the front-end for a new browser)
Re:The Era of the Trident Engine by bobajeff on Saturday January 25, 2020 @11:30PM (#22150392)
I think he's referring to the fact that Flutter was started as a project, by some of Google's browser and web standards people, to see what the could come up with if they designed a browser from scratch with the knowledge we have today.

This is talked about in a few videos and articles by it's creators.

Re:The Era of the Trident Engine by dodobirdlord on Saturday January 25, 2020 @08:26PM (#22149792)
WASM does seem to be on the road to eventually being a better JS.
Re:The Era of the Trident Engine by mycall on Sunday January 26, 2020 @08:45AM (#22152026)
I wish WASM was AST based instead of stack based architecture.
Re:The Era of the Trident Engine by wokkel on Sunday January 26, 2020 @01:14PM (#22153605)
What does that statement mean? As far as i know stack VS AST is Apple VS. Oranges. If you meant a register based architecture that would make sense. I don't know is wasm code is verifiable, in which case it's trivial to rewrite it to a register like architecture (like dalvik does for jvm bytecode).
Re:The Era of the Trident Engine by Aeolun on Sunday January 26, 2020 @05:44AM (#22151463)
I think we can drop all non-flexbox layout without any degradation in functionality.
Re:The Era of the Trident Engine by emn13 on Sunday January 26, 2020 @03:00PM (#22154351)
You mean grid? I'm suspect you can emulate most if not all of flexbox in grid, but definitely not vice-versa.
Re:The Era of the Trident Engine by acdha on Saturday January 25, 2020 @03:58PM (#22148577)
> A rendering engine for clean, valid XHTML could be very simple. But everyone wants to be able to see web pages created by technically incompetent designers with "tag soup" HTML.

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.

Re:The Era of the Trident Engine by emn13 on Sunday January 26, 2020 @02:52PM (#22154304)
That algorithm - for what it is, namely pretty basic tree construction - is absurdly complicated. Did you actually read and grok all that stuff about the stack of open elements, and how all kinds of elements have special gotcha clauses? How you can't nest stuff like `<div>`s in `<p>`s, even in descendants - except in those weird corner cases where you can? And let's not forget that the page you linked to is only one of a few pages you need to parse html; stuff like tokenization also has a bunch of weird, legacy modes, and so on. It's pretty crazy; worse than quite a few programming languages, and they have a conceptually much, much more complex domain. Worst perhaps isn't just the sheer size, it's the haphazard inconsistency. If you don't know all the exceptions, it's hard to predict which part will be exceptional.

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.

Re:The Era of the Trident Engine by acdha on Sunday January 26, 2020 @04:15PM (#22154847)
Again, it's not like there's no work to implement it but … do you think that's more or less complexity than implementing CSS Grids, text layout systems for complex scripts, building a high-performance JavaScript engine, etc.? The browser teams are not shy about saying when they think changes are important for security, performance, or reliability so I'd consider it an indicator that it's not a huge part of their ongoing efforts.
Re:The Era of the Trident Engine by mycall on Sunday January 26, 2020 @08:57AM (#22152082)
Browser do much more than just HTML5 parsing.

https://en.wikipedia.org/wiki/Comparison_of_lightweight_web_...

Re:The Era of the Trident Engine by acdha on Sunday January 26, 2020 @02:14PM (#22154029)
Yes, that was my point? Even if it was plausible to switch to XHTML, that’s a small and rather insignificant part of browser code bases.
Re:The Era of the Trident Engine by EliRivers on Monday January 27, 2020 @07:44AM (#22158767)
"Complex software is what customers want."

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.

Re:The Era of the Trident Engine by reilly3000 on Saturday January 25, 2020 @11:06PM (#22150331)
Much of the complexity isn’t about HTML rendering, but instead about security and device optimizations.
Re:The Era of the Trident Engine by dredmorbius on Sunday January 26, 2020 @06:51PM (#22155728)
Examples?

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:

https://www.cvedetails.com/vulnerabilities-by-types.php

Re:The Era of the Trident Engine by reilly3000 on Tuesday January 28, 2020 @02:27AM (#22167187)
I think you hit on the big ones, but also issues around file system access, secure+performant+efficient use of memory across a lot of devices, and complying with an ever-changing landscape of external standards.

Great link!

Re:The Era of the Trident Engine by Vinnl on Sunday January 26, 2020 @04:10AM (#22151201)
That would be incompatible with the mantra 'don't break the web', I'm afraid.
Re:The Era of the Trident Engine by nradov on Saturday January 25, 2020 @02:14PM (#22148014)
There will probably never be another complete new web browser developed from scratch. Browsers are already being supplanted by native mobile apps, wearable devices, voice interfaces, and (just starting) AR / VR. Browser use is still growing worldwide but the trend is toward slower growth. No one will invest hundreds of person years to build a product in a market with declining growth and entrenched competition.
Re:The Era of the Trident Engine by LoSboccacc on Saturday January 25, 2020 @02:45PM (#22148210)
doubtful claim, with all the operating systems being brewed as insurance policy against google pulling a google on android. they will all have their browser too.
Re:The Era of the Trident Engine by nradov on Saturday January 25, 2020 @05:57PM (#22149165)
Modern browser engines are reasonably portable. When a new OS arrives the developers will just port Firefox or Chromium to it.
Re:The Era of the Trident Engine by smallstepforman on Sunday January 26, 2020 @12:20AM (#22150523)
Haiku had a port of Mozilla and Web+ is Webkit based, and it still doesn’t have a port of Chromium or Firefox.
Re:The Era of the Trident Engine by stilisstuk on Saturday January 25, 2020 @02:03PM (#22147945)
I don't get it. Firefox works great, maybe better
Re:The Era of the Trident Engine by 1123581321 on Saturday January 25, 2020 @02:08PM (#22147974)
Firefox is built on a similar level of effort. Brendan Eich is talking about the effort required for a company to develop a new, full-featured browser engine to complete with Firefox and Chromium.
Re:The Era of the Trident Engine by MaxBarraclough on Saturday January 25, 2020 @02:52PM (#22148250)
It may be true that starting from scratch would be impractical, but it might be practical to take Firefox/Chromium and make deep changes, to the point that it's effectively another browser.

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.

Re:The Era of the Trident Engine by acdha on Saturday January 25, 2020 @04:00PM (#22148591)
The problem is keeping pace with the upstream: it's not that it's impossible but that it's very expensive — when Google forked WebKit they dedicated a large and very talented (i.e. expensive) engineering team to the project. The same could be done again but you're looking at companies like Microsoft, not startups.
Re:The Era of the Trident Engine by MaxBarraclough on Sunday January 26, 2020 @08:16AM (#22151924)
The resources needed to maintain a Gecko-based or Blink-based browser will depend on the amount of customisation. Vivaldi/Opera/Brave are doing fine, but they make relatively shallow changes over Chromium.

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.

[0] https://en.wikipedia.org/wiki/Goanna_(software)

Re:The Era of the Trident Engine by acdha on Sunday January 26, 2020 @02:17PM (#22154048)
That’s the point: if you’re not customizing Blink, you’re not changing the huge influence which Google has over de facto web standards. If you want to make more than simple customizations you need a significant commitment just to keep pace with the upstream – Microsoft can afford that, Samsung can, etc. but it’s not clear that Brave or Opera can.
Re:The Era of the Trident Engine by zamalek on Saturday January 25, 2020 @05:21PM (#22148974)
Mozilla is rebuilding much of an engine with Servo and related (e.g. the CSS bits that are now actually integrated into FF) projects. I can really see them replacing more and more of FF with Rust in the future, because Mozilla really seem to be doubling down on trust, in all forms. For example, 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.

Edit: at that point I wouldn't really consider it "FF of yore." A rewrite is really a new product.

Re:The Era of the Trident Engine by cxr on Sunday January 26, 2020 @09:28AM (#22152204)
Firefox has been using Gecko for chrome since before it was even called Firefox. It's pretty much the reason why the Google browser has the name that it does. Anyone contributing to Firefox leading up to the birth of Chrome, including major contributors on Google payroll, dealt with chrome:// documents (or bindings, or scripts, or...) on a daily basis.
Re:The Era of the Trident Engine by SahAssar on Sunday January 26, 2020 @03:23PM (#22154506)
Yeah, but that was via XUL, not via web standards.
Re:The Era of the Trident Engine by cxr on Sunday January 26, 2020 @08:58PM (#22156302)
That's orthogonal to the comment I was responding to.
Re:The Era of the Trident Engine by zamalek on Tuesday January 28, 2020 @01:42PM (#22172642)
Your response to my comment isn't only orthogonal, it isn't even in the same realm of what I was talking about. I was referring to "the window chrome." I never once mentioned "Chrome."

The comment you called out is directly related to what I was talking about, it is not orthogonal.

Re:The Era of the Trident Engine by cxr on Tuesday January 28, 2020 @03:19PM (#22173630)
You can't rewrite history. SahAssar's comment moved the goalposts away from being about the browser engine and towards whether XUL was standardized. Whereas your comment is undeniably about using the browser engine to handle the Firefox UI—which yes, I grasped—although you seem not to have grasped my (incredibly straightforward) response to it, which contained an aside about how Chrome got its name.

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.

Re:The Era of the Trident Engine by SahAssar on Tuesday January 28, 2020 @03:49PM (#22173880)
I'm not sure what you are trying to say, but the parent comment said

> 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.

Re:The Era of the Trident Engine by cxr on Tuesday January 28, 2020 @05:40PM (#22174891)
Funny, I feel the exact same way.

> 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.

Re:The Era of the Trident Engine by SahAssar on Tuesday January 28, 2020 @05:59PM (#22175097)
I'll happily "loose" this whatever this discussion is if I'm wrong (but the "win" reference is now removed from your comment) but the basic idea is:

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.

Re:The Era of the Trident Engine by cxr on Wednesday January 29, 2020 @10:12PM (#22188542)
So what we're dealing with here is Mitch Hedberg's "I used to do drugs" bit, only you're not joking.
Re:The Era of the Trident Engine by mixmastamyk on Saturday January 25, 2020 @06:14PM (#22149243)
Android put Chrome over the top.
Re:The Era of the Trident Engine by djdusuwj3g on Saturday January 25, 2020 @06:03PM (#22149195)
Firefox worked great for a few months after the big fuss over Quantum coming out and then went right back to just being a browser for enthusiasts and privacy activists. And that's after that whole dumb advertising push they did with billboards reading scary stuff like "Big Browser is watching."

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.

Re:The Era of the Trident Engine by samantohermes on Saturday January 25, 2020 @07:07PM (#22149472)
Turning Firefox into a Chrome copycat* with built-in blocklists and Tor Browser Bundle features certainly didn't make it gain more users. Mozilla should've left Brave occupy that space. Brave, Pale Moon and Vivaldi deserve praise.

* 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...

Re:The Era of the Trident Engine by acdha on Sunday January 26, 2020 @02:27PM (#22154126)
The thing costing Firefox users is the billion-dollar advertising push and heavy promotion on Google properties. That won’t be changed by trying to satisfy a small number of critics who are not exactly jumping to contribute significant effort to the project, whereas the Mozilla team inevitably has solid answers about maintenance costs bashing their decisions.
Re:The Era of the Trident Engine by Aeolun on Sunday January 26, 2020 @05:42AM (#22151450)
Well, apparently IE has a thousand developers for a few years, so it should still be possible for a megacorp.
Re:The Era of the Trident Engine by Spooky23 on Saturday January 25, 2020 @01:59PM (#22147910)
I think the article missed the part where Microsoft basically went to sleep and stopped doing anything with the browser.

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.

Re:The Era of the Trident Engine by untog on Saturday January 25, 2020 @03:01PM (#22148315)
It’s in there:

> 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.

Re:The Era of the Trident Engine by brnt on Saturday January 25, 2020 @04:06PM (#22148614)
I recall obtaining a new version of IE was a happy occasion, from IE4 to 5 was such an improvement! Then 5.5! And then 6 came with XP and it was... the last release anybody really was eager for. I recall switching to Firefox not long after and I've not switched since.
Re:The Era of the Trident Engine by kingo55 on Saturday January 25, 2020 @08:38PM (#22149837)
IE6 was so dominant at the time there would have been little incentive to continue innovating rapidly.

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.

Re:The Era of the Trident Engine by Spooky23 on Sunday January 26, 2020 @08:46AM (#22152032)
I’m sure that someone did, but My guess is that it was more about some internal political warfare than anything.

Besides, enterprise customer adoption of browser based tech sold lots of SQL Server.

Re:The Era of the Trident Engine by mixmastamyk on Saturday January 25, 2020 @06:16PM (#22149249)
Even if they had they missed mobile as well, so IE likely would have suffered a similar fate.
Re:The Era of the Trident Engine by jcampbell1 on Saturday January 25, 2020 @06:06PM (#22149206)
For me, it was Firebug not some noble agenda. Microsoft actually had some quite good debugging tools, but getting the tool chain setup was damn near impossible.
Re:The Era of the Trident Engine by uncle_j on Sunday January 26, 2020 @12:34AM (#22150562)
I've been doing .NET dev for the last decade. I have no idea how to get the whole browser part of the toolchain working with Visual Studio. I just don't bother. The client side debugging is done with a browser that is basically Chrome (Brave these days). You can set up everything to go through VS but there I don't see any benefit in doing so.
Re:The Era of the Trident Engine by _pmf_ on Saturday January 25, 2020 @01:34PM (#22147768)
> we're still trying to pass off as a reasonable way of making the world a better place.

Outside of the SV bubble, this is seen as the creepy grandstanding that it is.

Re:The Era of the Trident Engine by wayneftw on Saturday January 25, 2020 @01:30PM (#22147735)
Just because a common open source engine has been decided upon doesn’t mean there’s no competition or that no innovation can happen.
Re:The Era of the Trident Engine by arexxbifs on Saturday January 25, 2020 @02:28PM (#22148106)
No, it doesn't. But with Microsoft, Google and Amazon all relying on Chromium, there's going to be massive pull in that direction no matter what. Together, these three companies will now, basically, control the desktop OS market, the browser market and the cloud market. I'm not exactly giddy with excitement about that.
Re:The Era of the Trident Engine by wayneftw on Monday January 27, 2020 @01:04PM (#22162006)
No, this is incorrect. It’s open source.

It’s like saying that because Microsoft Amazon and Google all use Linux - that we’ll have no innovation.

Re:The Era of the Trident Engine by bluedino on Saturday January 25, 2020 @02:11PM (#22147991)
It just goes to show how tone-deaf most of Microsoft is, and always has been.

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.

Re:The Era of the Trident Engine by arcticfox on Saturday January 25, 2020 @02:35PM (#22148145)
Most tech companies have 1-5 successful products and the rest are all "jokes"