Hacker News new | ask | show | jobs
by tolmasky 2588 days ago
The history of "Blink" has been Company X using it, then eventually forking, and winning:

Apple decides to use KHTML instead of developing their own browser engine from scratch. This allows a very small team to focus on user experience, instead of the monumental task of replicating the entirety of the historical W3C standard, and ship Safari. Eventually Apple forks KHTML into WebKit.

Google decides to use WebKit instead of developing their own browser engine from scratch. This allows Google to focus on unique features like process isolation and the new V8 javascript engine, instead of the monumental task of replicating the entirety of the historical W3C standard, and ship Chrome. Eventually Google forks WebKit into Blink.

Microsoft decides to use Blink instead of developing their own browser engine from scratch. This allows Microsoft to focus on privacy-related features, instead of the monumental task of replicating the entirety of the historical W3C standard, and ship Edge Chrome. [What will happen next?]

The HTML spec is HUGE, and getting to a point where a new engine can successfully render all the quirks of HTML, CSS, and JS (and WebAssembly, and...) is a harder and harder task every year. Look how long its taking Firefox to get their Rust rewrite going. If you want to focus on end-user features, it makes no sense to start by arbitrarily making a new browser engine that's goal is to... successfully replicate the behavior of existing competing engines (since that's the real standard). If your competitor is open source, then just use that, and focus on what you want to provide.

It is my opinion that people have severely misinterpreted the power dynamic here. Every Windows machine will soon ship with a browser that, as is evident in this very thread, is "basically Chrome"... minus all the Google ID stuff. This is a nightmare for Google, what do they have to offer? "Download Chrome so we can track you!". That's the way its going to sound if Edge Chrome correctly puts its privacy features front and center. Meanwhile, they're getting support for CSS grid or whatever-js-feature for free from Google's hundreds of workers on Chrome.

3 comments

The power dynamic is more marketing than technical. Google is willing to push Chrome in their most valuable web real estate:

- Chrome ads on the google.com landing page

- Pop-overs when you log into gmail

- Inside the security alerts when you log in with a new device

And probably lots more than I haven't found. Is there any other product that they push so hard?

> Chrome ads on the google.com landing page

And the best way to fight this is with a browser that ships with the OS that takes you to Bing instead of Google.

Either way, this seems orthogonal to the question at hand. Google will push Chrome in all those places regardless of the engine Microsoft chooses to use. Having complete parity with Chrome rendering seems at worst neutral, and at best competitive as Google now needs to rely entirely on marketing (or on features present exclusively in Chrome and not Chromium). I'm not saying Google doesn't have many cards left to play here, but this move is absolutely a net positive for Microsoft in this fight.

I fear that Microsoft has given up the fight, and is content to enjoy the seigniorage from defaulting the home page on Windows, while allowing Google to completely dominate the evolution of the web. Time will tell.
> Microsoft decides to use Blink instead of developing their own browser engine from scratch.

Microsoft decides to use Blink instead of the browser engine they already had.

> This is a nightmare for Google, what do they have to offer? "Download Chrome so we can track you!".

The same things they offer now.

"Download Chrome because it's a better and faster browser!" It doesn't have to be true, people believe it anyway.

"Download Chrome because Edge doesn't support Youtube!" They totally didn't intentionally break Edge.

> Microsoft decides to use Blink instead of the browser engine they already had.

The stated goal of the EdgeHTML rewrite was to "be fully compatible with the WebKit layout engine used by Safari, Chrome and other browsers. Microsoft has stated that "any Edge–WebKit differences are bugs that we’re interested in fixing."" [1] It seems the hardest way of doing this is black-boxing WebKit and making a parallel implementation.

What's going on here is that browser rendering is being commoditized. Just like OpenSSL, or Clang, it doesn't necessarily make sense to implement these on your own anymore, there's no clear business reason. There is little to be gained from having a better flex-box implementation, but lots to be lost by having a worse one than the dominant browser. Using Chrome's source disarms this problem.

> "Download Chrome because it's a better and faster browser!" It doesn't have to be true, people believe it anyway.

I mean, maybe... that's not what's won every previous iteration of the browser wars. Its been either through exploiting an existing monopoly (IE, Safari on iOS) or merit (FireFox). Sure, doesn't have to go that way now, but I don't know why we assume that people are going to be moved by "Chrome is faster!" advertising on something that most people prefer not to care about probably.

> "Download Chrome because Edge doesn't support Youtube!" They totally didn't intentionally break Edge.

They can do this regardless of the engine Microsoft chooses to use. If anything, using Chrome makes it more blatant that they're purposely doing it since there's no plausible deniability that its a weird rendering bug in Edge's code. So this seems neither here nor there, if any Edge with any engine got popular then they could choose to go this route and then maybe we'd have an antitrust case on our hands. Unless the argument is "Microsoft should stop making browsers altogether", not sure what the point of this is (maybe that is the thing that is being proposed?).

1. https://en.wikipedia.org/wiki/Microsoft_Edge#EdgeHTML

> Unless the argument is "Microsoft should stop making browsers altogether"

Of course MS should keep making browsers. That gives them control over the UX, just not over the rendering engine.

My point is that assuming that Blink Edge means that there is now a variant of Blink not controlled by Google is optimistic.

> Its been either through exploiting an existing monopoly (IE, Safari on iOS) or merit (FireFox).

Yes, but which way is Chrome winning? I don't think it's merit, at least not solely.

The entire reason they adopted blink was YouTube putting invisible divs over the video and breaking edge’s hardware acceleration for video.

They rewarded googles shitty behaviour by becoming dependent on them for a rendering engine, and any chance of forking is pointless because they’ll be back where they started: using something different than google, and thus ripe for shit code on google properties.

A browser that can't hardware-accelerate <video> if there's an invisible <div> above it is broken. It's a perfectly reasonable thing to do and any other browser can handle that.
I agree that they should have just fixed the issue but my point was that there’s zero chance they’re going to fork blink because their reason for adopting it was google properties doing weird things in their own engine - after enough time google properties will do weird things in their forked engine too.
That doesn't excuse Google intentionally exploiting that bug to attack Microsoft.
> how long its taking Firefox to get their Rust rewrite going

Nobody is rewriting Firefox into Rust. Servo is a new research engine not intended to replace Gecko, and some Servo components are being reused back in Gecko (Stylo and WebRender). These are fairly self-contained. The bulk of Gecko is still that C++ codebase and it's here to stay.

Allow me to restate:

"Look how long Servo, one of the few examples of a mostly-from scratch browser engine that we can look to and thus compare (although technically some components of Servo are borrowed from Gecko so even it is not fully a from-scratch effort), is taking to write."

The point was to find any comparable effort to demonstrate what an undertaking this is. Servo was started 7 years ago by one of the few companies with engine expertise. Although, granted, I agree that perhaps framing it as a rewrite might lead you to believe more effort is being placed there than actually is (although I don't think it's totally unfair to look at it that way given their original embedding goals).