Servo's progress in 2024

Servo and JavaScript Engines

  • Some readers initially conflated Servo (a rendering engine) with JavaScript engines like V8.
  • Others clarified that Servo uses SpiderMonkey, and that there are multiple “serious” JS engines besides V8: SpiderMonkey, JavaScriptCore, LibJS, QuickJS, Kiesel, Hermes, etc.
  • Several comments stressed that JS engines are largely orthogonal to the complexity and value of a rendering engine like Servo.

Web Platform Tests, Percentages, and Standards

  • People cited wpt.fyi: Chrome ~96.8%, Firefox ~95.4%, Safari ~95.0%, Ladybird ~89.3%, Servo ~78.6%.
  • Multiple replies argued raw percentages are misleading:
    • A huge share of tests are “easy” text-encoding tests (especially for Asian encodings). Removing those puts Ladybird closer to ~60% and Servo ~50% of the remaining suite.
    • Some tests target non-standard Blink-only APIs (e.g., WebUSB, WebNFC) that other vendors intentionally will not implement on security/privacy grounds.
  • There was debate over what “web compatibility” means:
    • One side: the web is a de facto platform defined by what major browsers ship.
    • The other: web standards require cross-vendor consensus and at least two independent implementations; Google APIs alone don’t qualify.

Browser Engine Lineage and Market Power

  • Discussion of how KHTML evolved into WebKit and then Blink, with Chrome, Safari, Edge, and Opera all ultimately deriving from KDE’s engine.
  • Some noted that by the time Microsoft adopted Blink, almost all original KHTML code was gone (“Ship of Theseus”).
  • Concern about Chrome/Blink’s growing de facto control, and comparisons to the IE era, but with the caveat that Safari/Firefox still constrain developers somewhat.

Servo’s History and Relationship to Firefox

  • People recalled that the original Mozilla Servo effort was a Rust testbed: find Rust pain points and upstream components into Firefox (Stylo/Quantum CSS, WebRender, etc.), not necessarily ship a full browser.
  • There was a multi-year hiatus after Mozilla’s 2020 layoffs, with activity restarting around 2023 under new funding.
  • Current Servo pulls in upgraded SpiderMonkey, Stylo, and WebRender, with some two-way syncing of shared components between Servo and Firefox.

Who Uses Servo and Potential “Killer Apps”

  • Existing uses include:
    • Standalone browsers like Verso.
    • Firefox using Servo-derived components internally for styling and rendering.
  • Proposed high-value niches:
    • A mobile-first browser for Linux phone distros (postmarketOS, Mobian), where current Firefox/Chrome UX is poor on small touch screens.
    • An embeddable, cross-platform UI engine (Electron/CEF-style) that targets a modern, performant subset of the web platform rather than full legacy web compatibility.
    • Possible future replacement backend for frameworks that currently embed Chromium, though it’s unclear if Chromium embedding compatibility is still an explicit Servo goal.

Embedded Engines, Electron, and Alternative GUI Stacks

  • Strong interest in using browser engines as the basis for desktop and embedded app UIs:
    • Pro-HTML side: engines are powerful, ubiquitous, cross-platform; flexbox/grid and rich text layout are hard to beat.
    • Skeptical side: HTML/CSS is an accidental, messy UI stack; basic widgets remain hard to style sanely; a cleaner framework atop a small subset (possibly WebGPU-driven) is preferred.
  • Electron was described as both:
    • Hugely successful in practice (many enterprise/productivity apps, “took the world by storm”).
    • Resource-hungry and unpopular with power users (RAM, disk, battery, multiple bundled Chromiums, non-native UX).
  • Alternatives discussed:
    • Using OS webviews via frameworks like Tauri and Wails: smaller binaries, but inconsistent startup performance and still high memory usage; dependent on platform webview quirks.
    • Other GUI stacks: Qt/QML, Avalonia, Sciter, NoesisGUI, .NET MAUI, XAML-based systems, Java UIs; opinions differ on their quality vs web tech.
    • Some suggested a “subset web” engine (like an unrealized Chromium project “Razor”) that drops quirks mode and legacy layout features to enable 120fps-style performance for app UIs.
  • Apple’s iOS restrictions (WebKit-only engines for non–EU contexts) were noted as a major limit on embedded browsers and alternative engines.

Headless and Agentic Browsing

  • People connected Servo’s progress to AI/agentic workflows that need programmatic browsing.
  • Headless engines like Lightpanda were mentioned as aiming to skip graphical rendering for speed and low resource use.
  • There was curiosity about whether skipping rendering but still doing layout/style is enough, and how often missing layout information breaks real-world sites.

Timelines and Difficulty of “Last Miles”

  • “Last 5% is 90% of the work” was frequently invoked: the easy tests are mostly done; remaining web features are harder and more complex.
  • Some tests may never be implemented by design (non-standard or rejected APIs), and new tests are constantly added, so 100% coverage is both moving and partially unattainable.
  • For related projects like Ladybird, a target of around 2026 for a first user-facing release was mentioned; no firm equivalent date was given for a fully “production-ready” Servo browser.