Live data from Hacker News

Layout 2013 and Layout 2020

servo.org

21–30 of 114 posts

Re: Layout 2013 and Layout 2020

#21

Servo is now under the Linux Foundation umbrella. It's refreshing to finally see some more players in the browser engine space than the tri-opoly of Google (Blink), Apple (WebKit) and Gecko (Mozilla). LibWeb (Ladybird Browser) is another browser engine, but also in very early days of development. Gecko is depressingly tied to Firefox and not easily embedded. Blink has somehow become the de facto browser engine thanks…

Honestly why would anyone do anything other than Blink at this point?

For one, there's so many examples to crib from about how to do it.

But more generally, I just feel like every other player in the space has adopted an adversarial stance. For sure, sometimes Safari or less typically Firefox do lead, but it's rarely by much & usually the set of capabilities overall is far far less.

I don't want a monoculture either, but until we get a other pro-web player who can web-forward their shit, who is aggressive about making the web better, there's just zero hope for this conversation. Blink plus two boat anchors isn't good.

The IE comparison is so woefully out of touch & distasteful. Hard pass. Chrome tries. There wasn't the ecosystem of standards bodies back when IE was inventing stuff whenever they felt like, but today there are tons of expectations & reviews happening at multiple levels to try to refine & figure out what makes sense. In some ways it works great & a lot of review happens, but Moz + Apple hate any real power for the web & kick & scream & don't actually review what should be done if we did want to do the capability & reject on principle making a bigger web platform. There's no real debate because 2/3 players actively believe & push for a small web. It's a miserable rock & hard place situation, trying to figure out what to do when there's only one ayer who believes in a web platform at all.

I love the new entrants, but I really worry they'll also be into their own jam & not excited or interested in making a broader better web platform, and just turn the 2 Vs 1 anti/pro web into a 3 Vs 1 battle.

Re: Layout 2013 and Layout 2020

#22

And how will this layout engine help the browser gain market share over Chrome? While you are busy improving the layout engine other browsers are working on features that bring value to users.

I just wrote a long post about web platform & balance of power. And this is like 3000% more the real feels of the situation.

I really really hope it pans out & delivers. But it properly & rightly should be an ever shrinking piece of the puzzle. It underpins it all & flexility here would be key, better tech (parallelizable!) very empowering, put to the sword many criticisms, but yeah: it's an ever shrinking factor versus what we can do with the web.

And there are so so so few powers helping us make what we can do with the web better. Even the historic pro-web folk are trying to end the web as we know it. The "Towards a Modern Web Stack" Hixie mentality (Flutter CanvasKit) is to basically ignore destroy & end the contemporary web & html & make the browser a native app delivery platform with zero user-agency, to make it a giant moving picture show. The rest of the browsers have adopted a highly adversarial stance where every possible feature is portrayed as a threat to users, as ruin. There's just so few visionary hopeful excited people left building browsers that do stuff for people. You are so right on.

Re: Layout 2013 and Layout 2020

#23

Earlier quoted context omitted.

Dumb question: if CSS is under-specified and everyone designs their sites for Chrome, could we analyze Chromium's CSS rendering code and use that to create a more well-defined CSS spec which other browsers can implement?

Perl was in exactly that situation many years ago. The specification for Perl 5.x was `perl` itself; if `perl` was found to conflict with the spec, sometimes the spec would change. It was a nightmare, and part of the reason (I believe) that Perl 6 got so over-specified. It meant you couldn’t count on the spec, that you never knew if something was a bug or intended behavior. HTML4 was in a similar situation. Microsoft…

For a while while Google had a minority and everyone was still targeting IE instead of the standard, they would detect that and take a different rendering path even if it meant preserving broken behavior. At the same time they tried to fix/improve the spec and wage a publicity campaign against Microsoft for not following standards.

While that’s not necessarily a capability a smaller not well funded browser might have, certainly they have lots of forums to advertise “hey Google is doing this incorrect thing, this is how we detect existing sites relying on that buggy behavior, and this is how you fix it”. You could even show a banner while browsing “standard confirming vs not”. You leave that banner out for places the standard is underspecified to be fair and reinstitute it once you’ve got it clarified, assuming websites are still relying on those nonstandard paths / Chrome isn’t addressing the behavior.

That being said, it’s no surprise this is the situation when all commercial investment into browser tech is by commercial companies giving it away for free. Think about the hundreds of millions of dollars being pored in. That’s not out of the goodness of their heart and it’s going to be difficult to impossible for anyone else to compete.

For what it’s worth I think a huge regulatory improvement to monopoly laws would be an anti-dumping provisions for software. You’re not allowed to sell something below what it costs you to make (including accounting for R&D) and the only person’s effort your allowed to 0-rate is your own and any unpaid volunteers you convince to join you. It would mean that browsers would now cost actual money that could fund third party efforts (ie if my budget for browsers is X then maybe I want to invest in a browser that treats me better). Of course the challenge with this model is that it makes it hard to actually enforce. Are you giving a feature away for free or are you improving an existing product and it’s part of that overall cost? How do you budget recurring revenues for products that want to amortize the cost over periodic payments instead of upfront ones? Etc etc. I don’t necessarily know what the answers are. There may be none. But certainly Google’s control of the web comes from the fact that they’re poring in huge amounts of money to maintain a controlling interest over the thing that enables a good chunk of their revenue stream. It’s not as important to Apple and we see them not investing as heavily (it’s important for the product but it’s not intrinsically strategically as key hence the historic neglect). Same goes to Microsoft which ceded its spot in the internet ecosystem to Google back in the day.

Anyway, what I’m trying to say is that Google’s control won’t weaken because you cede to duplicate their particular implementation. Their control weakens when you can take away their market share and for a smaller entrant you want to replicate as much behavior verbatim as possible to lower friction for users. It doesn’t matter what the spec says. Aggressively prioritize what is important to customers and serve the market where Google is incapable of doing it. For example, memory usage is a trivial one to get them on. They’ve lost control of that beast and can’t figure out how to get better. Clobber them in the head over that failure. They can’t handle many simultaneous tabs. Make your browser work smoothly and without crashing or using terabytes of memory even if it’s handling 100k tabs. If I were to take on that endeavor, that’s how I would take on Google (and no, I wouldn’t use Blink as a starting point because you’re just picking up all the tech debt and you’re not going to do a better job than Google at trying to shovel shit away - you need to start greenfield like Chrome did and firefox and opera did for a time when they showed what a performance hog IE was and how it didn’t even have valuable features that people cares about). Similarly, ship the browser with adblock and actively fight websites that waste resources. Prioritize aggressively the user’s health and digital well being (meaningful privacy improvements by closing as many side channel data gathering techniques as possible) and respect the well being of the machine you’re running on.

Re: Layout 2013 and Layout 2020

#24
post #21

Servo is now under the Linux Foundation umbrella. It's refreshing to finally see some more players in the browser engine space than the tri-opoly of Google (Blink), Apple (WebKit) and Gecko (Mozilla). LibWeb (Ladybird Browser) is another browser engine, but also in very early days of development. Gecko is depressingly tied to Firefox and not easily embedded. Blink has somehow become the de facto browser engine thanks…

Honestly why would anyone do anything other than Blink at this point? For one, there's so many examples to crib from about how to do it. But more generally, I just feel like every other player in the space has adopted an adversarial stance. For sure, sometimes Safari or less typically Firefox do lead, but it's rarely by much & usually the set of capabilities overall is far far less. I don't want a monoculture either,…

> There's no real debate because 2/3 players actively believe & push for a small web. It's a miserable rock & hard place situation, trying to figure out what to do when there's only one ayer who believes in a web platform at all.

Not to say I don't believe you, I'm just curious. In what way(s) does Google uniquely believe in the web as a platform where Apple/Mozilla don't? Can you provide some examples of this?

Re: Layout 2013 and Layout 2020

#25
post #21

Servo is now under the Linux Foundation umbrella. It's refreshing to finally see some more players in the browser engine space than the tri-opoly of Google (Blink), Apple (WebKit) and Gecko (Mozilla). LibWeb (Ladybird Browser) is another browser engine, but also in very early days of development. Gecko is depressingly tied to Firefox and not easily embedded. Blink has somehow become the de facto browser engine thanks…

Honestly why would anyone do anything other than Blink at this point? For one, there's so many examples to crib from about how to do it. But more generally, I just feel like every other player in the space has adopted an adversarial stance. For sure, sometimes Safari or less typically Firefox do lead, but it's rarely by much & usually the set of capabilities overall is far far less. I don't want a monoculture either,…

I wouldn't say this is an uncommon philosophy. I for one am very aware that Firefox is, for the most part, an objectively worse browser than Chrome; SpiderMonkey is worse than V8, Gecko is worse than Blink. I still use it in a futile attempt to avoid Google's monopoly on the web (and for tree-style tab), but I'm perpetually disappointed by Mozilla's mismanagement of Firefox. It's as if Mozilla is trying to morph Firefox in to a discount Chrome clone by stripping it of its only appeal, killing it's viability to both markets simultaneously.

Re: Layout 2013 and Layout 2020

#26

None of this would be so difficult if the CSS specifications were well defined. But they’re not, so we all have to more or less guess what the intrinsic algorithms for drawing fundamental aspects of the web are supposed to be. Such a failure of the CSS specs.

Really? The spec might maybe be hard? Perhaps? I don't know for sure.

But there is a long long long legacy of CSS Acid Tests that have been very well established & expected, that should guide most implementations to success.

I forget what it's called but a bunch of the major browsers get together each year & find a couple things to agree to focus on & make happen each year. Trying to just play catchup & go through the years catching up seems semi intuitive a path to getting to modern. I agree that maybe not all these specs have gotten great test suites set up, but I feel like CSS in general realized this was a problem we'll over a decade ago & upped their game. Maybe the situation has decayed since, I dont K ke, but would love more idea of where we lie atm.

Re: Layout 2013 and Layout 2020

#27
post #21

Servo is now under the Linux Foundation umbrella. It's refreshing to finally see some more players in the browser engine space than the tri-opoly of Google (Blink), Apple (WebKit) and Gecko (Mozilla). LibWeb (Ladybird Browser) is another browser engine, but also in very early days of development. Gecko is depressingly tied to Firefox and not easily embedded. Blink has somehow become the de facto browser engine thanks…

Honestly why would anyone do anything other than Blink at this point? For one, there's so many examples to crib from about how to do it. But more generally, I just feel like every other player in the space has adopted an adversarial stance. For sure, sometimes Safari or less typically Firefox do lead, but it's rarely by much & usually the set of capabilities overall is far far less. I don't want a monoculture either,…

Google/Blink consistently pushes for bad things like EME, FLoC and Topics API.

They have a very different vision of the web where users live in a corporate playground and complex browser engines which only a few large corps can manage.

At this point what is making the web a better platform? The web has feature overload, even with features like Server Push which are seldom used. FWIW I think there are some exciting possibilities and new features for the web, especially around the P2P space, but I don't think it's in Google's interests to push for that at all.

Re: Layout 2013 and Layout 2020

#28

None of this would be so difficult if the CSS specifications were well defined. But they’re not, so we all have to more or less guess what the intrinsic algorithms for drawing fundamental aspects of the web are supposed to be. Such a failure of the CSS specs.

Dumb question: if CSS is under-specified and everyone designs their sites for Chrome, could we analyze Chromium's CSS rendering code and use that to create a more well-defined CSS spec which other browsers can implement?

The issue with this approach is that it would encode all the bugs and quirks into the specification which isn't a good idea.

(I'm an engineer on Blink's layout engine).

We've recently finished re-architecting Blink's layout engine, part of the reason why we did this investment was we were concerned that we couldn't fix WebKit era bugs (e.g. too many sites would depend on them due to our shared heritage). This makes other engines jobs (e.g. Gecko) super difficult as they'd need to encode even more quirks than they have time for.

I think we've broadly mitigated a large part of that risk. There are still large parts of CSS which are underspecified, e.g. tables/block/float layout. But its slowly getting better.

Re: Layout 2013 and Layout 2020

#29
post #24
post #21

Earlier quoted context omitted.

Honestly why would anyone do anything other than Blink at this point? For one, there's so many examples to crib from about how to do it. But more generally, I just feel like every other player in the space has adopted an adversarial stance. For sure, sometimes Safari or less typically Firefox do lead, but it's rarely by much & usually the set of capabilities overall is far far less. I don't want a monoculture either,…

> There's no real debate because 2/3 players actively believe & push for a small web. It's a miserable rock & hard place situation, trying to figure out what to do when there's only one ayer who believes in a web platform at all. Not to say I don't believe you, I'm just curious. In what way(s) does Google uniquely believe in the web as a platform where Apple/Mozilla don't? Can you provide some examples of this?

Like 18 months ago Safari launched a "look at us we are so great, we don't support these long list of web apis; isn't chrome evil" and Moz joined in like two days latter repeating the exact same claims in an obviously coordinated negativity-campaign. Web USB, web Bluetooth, web midi, ambient light sensor, bunch of other sensors.

I'm sorry I really want to find the links & show this off more. It was the most boldfaced & honest admission that basic useful interesting things were not welcome, profiteering off suspicion & hostility while telling users that the anti-feature was undecidedly the only acceptable way.

One can also review moz's standards positions. It's a great effort & I applaud Moz for their transparency & don't want to hurt the effort. There's aot of good too. But there's such a long sordid history of Moz saying no absolutely not this is awful, then eventually having to circle back around & at least make some effort to not be a huge stick in the mud, to at least help figure out at some degree what would fit if this was a goal. And often deciding yeah, we will do it https://mozilla.github.io/standards-positions/

They just don't seem to have any ability to differentiate between what a privileged/permission-ed site should be granted versus what the baseline security model should be. Any potential information leak anywhere seems like cause to terminate effort.

Re: Layout 2013 and Layout 2020

#30
post #24
post #21

Earlier quoted context omitted.

Honestly why would anyone do anything other than Blink at this point? For one, there's so many examples to crib from about how to do it. But more generally, I just feel like every other player in the space has adopted an adversarial stance. For sure, sometimes Safari or less typically Firefox do lead, but it's rarely by much & usually the set of capabilities overall is far far less. I don't want a monoculture either,…

> There's no real debate because 2/3 players actively believe & push for a small web. It's a miserable rock & hard place situation, trying to figure out what to do when there's only one ayer who believes in a web platform at all. Not to say I don't believe you, I'm just curious. In what way(s) does Google uniquely believe in the web as a platform where Apple/Mozilla don't? Can you provide some examples of this?

WebUSB: You can argue their resistance was justified in that specific instance, but it's a prototypical example of their general stance
Post reply on HN