Live data from Hacker News

Transitioning Firefox's rendering engine from Gecko to Servo

jensimmons.com

111–120 of 219 posts

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#111
post #7

Earlier quoted context omitted.

Looking forward to it too; this is a big deal because it will put a Rust implementation on many millions of desktops. I'm totally fed up with CPU and memory hogging browser bloat on my laptop. My dev env runs so much better when I kill all Chrome processes. I know that the article is only talking about the render engine, and not JavaScript, which I suspect is the main browser bloat culprit , but I'm still hopeful. Br…

It's not going to change that. No matter how efficient you make the JS engine, crappy JS will still steal all your ressouces.

Yes, nowadays I think it is a fact of life like death, taxes etc.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#112
post #71

Wouldn't it be more appropriate to have written rust in a GPU language like OpenGL or OpenCL, since the aim here was to replace the display engine? Curious as to why use a CPU language for the display engine rewrite? It seems to be wasting the GPU all modern systems now contain.. Also, is it fully replacing the display engine, including the font renderer and image codecs?

Servo makes incredibly good use of the GPU. Being able to do that, and iterate so fast on that work, is part of what Rust brings to the table. (I don't think they've swapped out the font renderer and image codecs yet, but there are quite a few bits and pieces they have swapped out as the Rust community delivers more pure Rust libraries.)

> Servo makes incredibly good use of the GPU.

Too good, in fact: it won't run on any laptops that I own because their GPUs don't support a sufficient level of OpenGL.

One great aspect of Firefox-with-Gecko is that you can throw it onto just about any machine with more than 512MB of RAM and it will provide bootstrap web access ( slow or otherwise ). That's going to be lost when everything is Servoised. I guess it's back to links2 at that point.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#113
post #103

Earlier quoted context omitted.

I think it's unclear whether everything will get replaced by Rust components from Servo: certainly, smaller components are likely to get replaced, but larger interwoven parts are obviously going to be far harder to replace. I suspect not all of the Rust code that replaces the old C++ code will be from Servo: some will be written specifically for Gecko.

Firefox has already committed to eliminating XUL components. Once it has the correct APIs to emulate existing add-ons, mobile Firefox could probably switch over to Servo. Desktop has a lot more cruft and features, so it will probably be harder to switch. But I wouldn't be surprised if Servo is usable on mobile in 2017.

I would be astonished if Servo is usable as a mass-market web browser in 12 months. Writing a rendering engine is hard because there is quarter of a century of legacy to deal with. By the metric of "can I use this for 100% of my browsing needs" Servo is far from being complete.

Much of Mozilla's "quantum" work is actually about improving C++ code e.g. the Quantum DOM project [1], which is a drive to improve scheduling so that a single background tab, even in the same process, can't jank the tab you are currently using [2]. Importing servo components wholesale simply wouldn't help here because Servo doesn't have a sufficiently complete DOM implementation, and I'm not sure the implementation it has contains all the desired properties.

[1] https://billmccloskey.wordpress.com/2016/10/27/mozillas-quan... [2] I am occasionally taken to refer to this project as "Presto: the good parts"

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#114

What do folks think of internetisms that the author uses like "Because Mor Better Ideas™."? I see a number of engineers use broken phrasing like that in posts and presentations and it comes off really badly to others not in on the "joke". Does anyone really find that sort of thing actually funny or additive or is it the equivalent of trite office humor gone online?

It's a bit like sarcasm, even if less grumpy. But unlike conventional sarcasm, which is both best (as in enjoyable to the type of person who enjoys sarcasm) and worst (as in completely defeating communication for those who don't) when it is borderline unrecognizable, these "internetisms" don't need to play hide and seek to be good at what they are. In the servo post, extra capitalization and an ironic "™" is used for tagging, but if one ever felt the need to further reduce subtlety, any amount of emojis or "funny" typography could be added without diminishing any quality it might have (or exacerbating lack of quality, depending on where you stand). What I try to establish: amongst colloquial witticisms, this pattern is probably one of the most harmless ones.

Do I personally like it? I sure would not say that I love it, but I do enjoy reading texts that are less impersonal than a press release. Patterns like this can help identifying them, so I tend to be happy when I see them. What I hate, and I feel tempted to claim that all of humanity is with me in this, is when these patterns are used to engineer press release type communication into appearing like something different.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#115

I'm on this rust hype train for a long time. This move by mozilla is probably going to be the biggest success story that might give rust a lot of attention. I hope the new engine is fast as heck and uses less battery in all my devices. Please!

Not if in the process they'll make all the existing add-ons incompatible and therefore lose all their remaining market share.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#116
post #81

Earlier quoted context omitted.

There is a real concern among a number of users here, including me, that HN might turn into reddit if we aren't careful. That said in this case I agree with you. I also think we are mostly fine for now but I still hesitate to upvote funny comments.

Would you care to elaborate? As someone who spends about half my free time on both websites, I am experiencing a mixture of hurt and intrigue.

It is a long-standing fear amongst HNers, because HN was created as an alternative space due to reddit declining. [1] It's such a prominent thing that it's in the site guidelines: [2]

> If your account is less than a year old, please don't submit comments saying that HN is turning into Reddit. It's a common semi-noob illusion, as old as the hills.

1: https://techcrunch.com/2013/05/18/the-evolution-of-hacker-ne...

2: https://news.ycombinator.com/newsguidelines.html

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#117

Wouldn't it be easier to build a new plane around the new engine, do some flight tests and after it's ready transfer all passengers?

That has two problems:

1) A lot of flight tests can't be done without a large fraction of passengers on the plane.

2) It may make getting to the final end state faster (though maybe not), but it means you don't get any benefits until you make the switch. Doing things incrementally means you start seeing benefits much earlier. Classic throughput/latency tradeoff.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#118

What do folks think of internetisms that the author uses like "Because Mor Better Ideas™."? I see a number of engineers use broken phrasing like that in posts and presentations and it comes off really badly to others not in on the "joke". Does anyone really find that sort of thing actually funny or additive or is it the equivalent of trite office humor gone online?

It's annoying and unprofessional. Stop trying to be cutesy and present the information in a way that people who are busy can consume quickly and make decisions on. Is this the tone of the whole project? I'd love to contribute, but I don't want to wade through a reddit-comment-thread-level of forced references and memes to do that. I get the reason for doing it, and I like that the internet isn't full of drab corporat…

> Is this the tone of the whole project?

Absolutely not.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#119
post #74

Earlier quoted context omitted.

I enjoy reading words which indicate the person who wrote them is not entirely dead inside. It provides, i feel, for a Mor Better Reading Experience™

I'll be dead on the outside eventually as Grim Death's grasping claw squeezes the life out of me. Please, my time on earth is precious and I would rather spend it with my loved ones in preference to skimming over forced references.

Is it a reference? If it is I did not get it, but I also did not miss it at all because I felt that it was quite clearly established as a shorthand for "improvements in the state of the art of writing software in general and specifically browsers, accumulated over the past two decades, which I don't want to describe here in detail, trust me that they exist or not, your choice" on first use. That shorthand was a considerable reading speedup for me, reference or not (if it is a reference, depending on what it references it might make reading slower for those who do get it - maybe I was just lucky?).

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#120
post #20

Earlier quoted context omitted.

It seems you either haven't read or understood either Joel's article or this article. They are going for small incremental changes, instead of rewriting code from scratch, which is what Joel warned against. They aren't saying, fuck Firefox, replace it with Servo. Instead the idea is use Servo as a way to discover better layout, rendering components and transplant it into Firefox. See Strangular Application pattern ht…

I see what you're saying, however they don't seem to be "strangling" Gecko in the Strangler-pattern sense of the word. Rather it seems they're borrowing smaller pieces (Stylo) written in a foreign language and integrating them with Gecko as the main engine. To me that sounds like the end-state is a Chimera and not a Lion, without any incremental end-user benefits along the way.

Nothing about that pattern says you need to replace everything... After all, not all vines completely replace the host.

There can be legacy system that can just be maintained without modifying. Like for example JavaScript engine.

Post reply on HN