Live data from Hacker News

Servo’s new home

blog.servo.org

171–180 of 326 posts

Re: Servo’s new home

#171

Is Servo planning to get back to the whole "writing a web rendering engine" part, and backburner the "let's play around with VR and stuff" plans? Because until then, I don't think Servo is especially interesting as a project. As far as I can tell, the last few years of Servo have been characterized by an obsession with chasing shiny things, and not with the kind of rigid and dedicated engineering efforts necessary to…

We spent a significant amount of effort in the last year and a half working on a redesigned modular/parallel layout subsystem. The VR focus was because it was a good way to get servo out to end users early without needing to be fully web compat -- WebXR doesn't require complex layout. We didn't drop our focus on full web compat during this, but full web compat has always been a more long term goal given how complex t…

Get back to focusing on embedders and stop all the other nonsense that isn't directly related to embedding.

Re: Servo’s new home

#172
post #129

Earlier quoted context omitted.

My understanding is that Servo was more experimental research, with an eye towards possibly being integrated at some point.

Does Firefox have any Rust component at all if Servo is not apparently used at all by it, currently? People have been claiming Firefox components were written in Rust for ages, usually meaning Servo, but it seems now that those claims were just misleading.

The first Rust component in Firefox was the URL parser, followed by the MP4 metadata arser for audio. Then the charset conversion component was rewritten in Rust, and then some other tiny components. And then Firefox imported Stylo (the CSS parsing and rendering) from Servo as the biggest Rust component yet. The Web Assembly portion of the JS engine is shifting to cranelift (written in Rust) as its backend, another massive component, but I don't believe it has done so in a released browser version yet.

In general, a lot of text handling, and parsing in general, is moving to Rust, although some code is moving far more slowly than others. Additionally, APIs that had been implemented in JS that are too slow (or memory-heavy) are being moved to a Rust implementation instead, such as the l10n implementation.

Re: Servo’s new home

#173

Is Servo planning to get back to the whole "writing a web rendering engine" part, and backburner the "let's play around with VR and stuff" plans? Because until then, I don't think Servo is especially interesting as a project. As far as I can tell, the last few years of Servo have been characterized by an obsession with chasing shiny things, and not with the kind of rigid and dedicated engineering efforts necessary to…

We spent a significant amount of effort in the last year and a half working on a redesigned modular/parallel layout subsystem. The VR focus was because it was a good way to get servo out to end users early without needing to be fully web compat -- WebXR doesn't require complex layout. We didn't drop our focus on full web compat during this, but full web compat has always been a more long term goal given how complex t…

WebXR is also completely inane. What users are you "shipping" to? A tenth of a tenth of a tenth of a tenth of a percent of internet users?

You have a massive effort ahead of you, and you won't get there by chasing distractions. You need to have a singular focus if you're going to accomplish this goal.

Re: Servo’s new home

#174

Earlier quoted context omitted.

Cobalt is definitely not for someone like you.

I have to make code work in Cobalt as part of my job. You?

Parent was tone deaf but the point is that if you want a bunch of cutting edge APIs then Cobalt isn’t really for you. It’s light weight.

Re: Servo’s new home

#175

Earlier quoted context omitted.

My personal opinion is that, for a servo based browser, it's probably better to just use UWP/C++ on Windows, C/GTK on Linux, and SwiftUI on Mac, and just embed Servo via its C-API layer. Rust shine when it comes to building a safe and fast web engine. For the OS "glue" code, I would stick to whatever is best for each platform.

You missed Android. Firefox for mobile is so far behind Chrome, it’s unusable for me, most plugins don’t work. I would vote for HTML/CSS based browser (React / React Native?), though I know that a lot of operating system specific code needs to be written.

I find Firefox more usable than Chrome on Android. uBlock Origin works perfectly, and that's part of the reason.

Re: Servo’s new home

#176
post #156

Earlier quoted context omitted.

Rust has the ability to expose a C API. So, I don't see it as a non-starter. It's just that no one bothered to expose it. EDIT: I'm wrong, but I do think the documentation isn't that great. https://github.com/servo/servo/tree/master/ports/libsimplese... https://github.com/paulrouget/servo-embedding-example

> It's just that no one bothered to expose it. Almost the entire quick start guide is about using Rust. So you know, if I want to embed it, how do I do it? If I need a view offscreen rendered to a framebuffer, how do I get it? Can I blit? If so, how? How do I pass events to the browser abstraction? Servo talks about none of these things and leaves it up to you, but 110% emphasizes everything possible about Rust. I do…

Having looked at it more, it seems servo does expose C API. The part I was working on doesn't.

Anyway servo comes with libservo and libservosimple. Admittedly they don't seem to be well documented for people coming from C world.

Perhaps you might want to comment on raise an issue for Servo?

I haven't worked on it in quite a while.

Re: Servo’s new home

#177
I wish servo would adopt a more permissive license, something like MIT or BSD instead of MPL. I think that existing projects like chromium have a competitive advantage because they have permissive licenses. If the community around servo would like to see more projects like electron built around servo they should consider it.

Re: Servo’s new home

#178
post #158

Earlier quoted context omitted.

Indeed, as an FYI the LF is truly "Foundation as a Service" and has entities in the US, EU, Japan and China. The RISC-V Foundation (hosted by the LF) is even based out of Switzerland.

> Linux Foundation is truly "Foundation as a Service" That made me chuckle. If you have a reading about that, I think I would enjoy.

heh, here's a couple links that should be useful:

https://www.linuxfoundation.org/blog/2020/05/building-a-succ... https://www.linuxfoundation.org/blog/2020/09/software-define...

Along with an older presentation I gave on the topic: https://docs.google.com/presentation/d/1Q2jKVpeGkbDVdcUhrzxC...

Re: Servo’s new home

#179
post #99

Haven't heard of Servo before so was excited about the possibility of a lean new engine, but was pretty deflated when the preview build is 200Mb+ on disk (80Mb just for the main exe). It's possible some of it comes from the unoptimized extras like the JS engine, media libraries, etc.

I don’t recall that disk size was ever something we’ve optimized or tracked. Why is it important?

> I don’t recall that disk size was ever something we’ve optimized or tracked. Why is it important?

If you're targeting application developers, minimizing the system requirements (including size-on-disk) for an installed app that embeds Servo is going to matter.

I don't know how much it matters, though.

Re: Servo’s new home

#180
post #176

Earlier quoted context omitted.

> It's just that no one bothered to expose it. Almost the entire quick start guide is about using Rust. So you know, if I want to embed it, how do I do it? If I need a view offscreen rendered to a framebuffer, how do I get it? Can I blit? If so, how? How do I pass events to the browser abstraction? Servo talks about none of these things and leaves it up to you, but 110% emphasizes everything possible about Rust. I do…

Having looked at it more, it seems servo does expose C API. The part I was working on doesn't. Anyway servo comes with libservo and libservosimple. Admittedly they don't seem to be well documented for people coming from C world. Perhaps you might want to comment on raise an issue for Servo? I haven't worked on it in quite a while.

Why would I ask people working on embeddable web technologies how to embed their software? They should just tell me. I don't care that there's 19 people on their "technical steering committee" if not a single one of those 19 people is responsible for actual adoption.

If they don't have a getting started guide for people like me to actually embed and use the software it's a waste of my time and hypeware or vaporware depending on how you want to look at it.

18k stars and I know there aren't 18k embedders out there.

Post reply on HN