Live data from Hacker News

Layout 2013 and Layout 2020

servo.org

11–20 of 114 posts

Re: Layout 2013 and Layout 2020

#11

I’m not sure I understand the context. They began a replacement engine 7 years later to address shortcomings, and 3 years after that still aren’t sure if it’s actually better and worth switching over to? Now that I write this, I kind of get it. But I’ve only experienced this for weeks worth of work, not for years.

Mozilla abandoned work on Servo in 2020 (source: https://tildes.net/~tech/ra8/i_am_a_mozilla_employee_amaa ) shortly after Layout 2020 came about. Servo was in limbo for some time before recently being handed over to the Linux Foundation, hence the time delay.

I feel like that would be helpful context at the top of this article, because before knowing this I was pretty confused why a project was publicly questioning a decision it made 3 years ago, whereas with that context it seems this was more a discovery exercise by the new maintainers.

Re: Layout 2013 and Layout 2020

#12

I’m not sure I understand the context. They began a replacement engine 7 years later to address shortcomings, and 3 years after that still aren’t sure if it’s actually better and worth switching over to? Now that I write this, I kind of get it. But I’ve only experienced this for weeks worth of work, not for years.

I heard that Firefox incorporated some parts of Servo years ago as part of the Quantum project. However my knowledge is limited to those buzzwords and I don’t have any real sense of how big a portion of the work that went into Servo got used.

The major Servo components that made it into Gecko were the style subsystem (Stylo) and WebRender.

Re: Layout 2013 and Layout 2020

#13

I’m not sure I understand the context. They began a replacement engine 7 years later to address shortcomings, and 3 years after that still aren’t sure if it’s actually better and worth switching over to? Now that I write this, I kind of get it. But I’ve only experienced this for weeks worth of work, not for years.

Mozilla abandoned work on Servo in 2020 (source: https://tildes.net/~tech/ra8/i_am_a_mozilla_employee_amaa ) shortly after Layout 2020 came about. Servo was in limbo for some time before recently being handed over to the Linux Foundation, hence the time delay.

Ah that makes complete sense. They’re dusting it off to see if it’s worth continuing development of.

Re: Layout 2013 and Layout 2020

#14

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?

That’s basically what’s happening, chrome implements something, it gets put into the standard, some others choose to implement or not.

Re: Layout 2013 and Layout 2020

#16

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?

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 and Netscape developed competing variations of under-specified features, leading to a decade of the worst Dark Ages for web development.

So if we use Chromium’s CSS engine, then either (a) Google now controls a fundamental part of the web (and there’s no evidence that they’ll behave in any sort of responsible manner), or (b) we now have the same specification problem.

Getting complex code and specs to agree 100% is a Hard Problem, unsolved almost everywhere. Giving more power to Google won’t help.

Re: Layout 2013 and Layout 2020

#17

I’m not sure I understand the context. They began a replacement engine 7 years later to address shortcomings, and 3 years after that still aren’t sure if it’s actually better and worth switching over to? Now that I write this, I kind of get it. But I’ve only experienced this for weeks worth of work, not for years.

Mozilla abandoned work on Servo in 2020 (source: https://tildes.net/~tech/ra8/i_am_a_mozilla_employee_amaa ) shortly after Layout 2020 came about. Servo was in limbo for some time before recently being handed over to the Linux Foundation, hence the time delay.

This is a very useful comment.

I knew Servo was part of Mozilla, but was confused by the article. It said 2013 was in use, but listed multiple major issues with it that I would think would prevent FF from being acceptable by any normal person.

Knowing it was a project and not a part of the current FF engine (as I had assumed) is the context I was missing.

Thank you. I don’t follow FF development closely enough to know this stuff, I just know enough to recognize a few project names.

Re: Layout 2013 and Layout 2020

#19

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.

Isn’t CSS, like so many things, limited by backwards compatibility? They can’t clean slate it and call it CSS 4, no one would bother.

Everything they do has to work with the old stuff, or be very explicit that you’re changing the rules (like adding “display: flex”).

I suspect there is also a fair amount of “this is what everyone did so try not to break it” in there too, much like HTML.

I’m not sure anyone could make a clean spec under those circumstances.

Post reply on HN