Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I applaud the effort but seriously though I just wonder...

For reference, Chromimum (and therefore Chrome) is a monster of a project and has at this point probably over 10 million lines of code and has taken +20 years to develop with thousands of developers involved.

I can only conclude that:

   a) the modern WEB is so complicated that this is the minimum  required level of complexity to run and render modern WEB safely

   b) chromium is extravagantly over engineered and the actual amount of complexity and code needed to run and render modern WEB is actually much less

   c) Ladybird is actually not targeting the same features but some "suitable" subset of features.
If the answer is A) how does the small team working on Ladybird think they can actually pull this off? Are they all 10000x developers?

Or maybe the answer really is C thus making this a toy/hobby project?

One could of course then hope that the answer is b) but somehow I don't feel like it is.



While the modern web is complicated, there's a few things working in Ladybird's favor.

Web Platform Tests (1) make it significantly easier to test your compliance with W3C standards. You don't have to reverse engineer what other engines are doing all the time.

The standards documents themselves have improved over time, and are relatively comprehensive at this point. Again, you don't have to reverse engineer what other engines are doing, the spec is relatively comprehensive.

Ladybird has chosen to not add a JIT compiler for JS and Wasm, reducing complexity on the JS engine. They're already reached (or exceeded) other JS engines on the ECMAScript Test Suite Test262 (2).

There's a big differential between the level of investment in Chromium and the other engines - in part because Chrome / Chromium are often doing R&D to build out new specifications, which is more work than implementing a completed specification. There's also a large amount of work that goes into security for all three major engines - which (for now) is less of a concern for Ladybird.

I'm confident that the Ladybird team will hit their goal of Summer 2026 for a first Alpha version on Linux and macOS. They'll cut a release with whatever they have at that point - it's already able to render a large swathe of the modern web, and continues to improve month-on-month.

(1) https://web-platform-tests.org/ (2) https://test262.fyi/


The Chromium codebase also implements requirements that you may not need to take on for just a web browser, e.g. all of the infrastructure to make it ChromeOS, including for example being a Wayland compositor and a lot of other stuff. The projects are somewhat apples to oranges.


The answer is probably some combination of all 3. The modern web is indeed insanely complicated, Chromium is a massive enterprise project with all the resulting inefficiencies one would expect, and a competing web browser should likely aim to support the 90% use-case and ignore a large fraction of the total complexity in the process.


A ton of that code is web APIs that, although standardized and accepted, are not really what most would consider critical to a browser. Stuff like Speech Synthesis API[0] or Device Motion[1] might be important to a PWA but are rarely relevant to the web in general

[0] https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynth...

[1] https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotio...


Note that chrome's codebase loc count contains some huge third-party libraries such as ffmpeg - pretty sure a lot of it is unused.


Chromium also includes things like a complete PDF renderer, etc.

I used to work a bit in that codebase, but I don't recall the core "blink" renderer portion being at all the largest part of the codebase.


Regarding A, I found this blogpost from 2020 interesting to get some sense of scale : https://drewdevault.com/2020/03/18/Reckless-limitless-scope....

As for C, the "suitable" subset really depends what we expect from a browser. In my experience, I was forced to use a Chrome based browser only for work, because mostly for google web apps (Google Cloud and Google Meet come to mind). For browsing the small web, I'm sure smaller browsers can work well. I tried some, but was usually put off because of the lack of adblockers, and I also quickly miss the element picker zapper feature of the ublock origin extension.


All of the above?

a) the modern WEB is stupidly complicated, it jumped the shark a while back b) enterprise development practices make this an almost certainty (though I haven't studied the code) c) it is targeting a subset, but this has 0 to do with it being a toy or not


Why does C automatically make Ladybird a toy/hobby project? Don't you think there can be room for specialized sofware? Let your Netflixes and whatever run in separate Chromium containers (they already do on your TV anway) and make the web browser efficient for browsing the web and just that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: