As someone who's been quite heavily involved with web-platform-tests, I'd caution against any use of the test pass rate as a metric for anything.
That's not to belittle the considerable achievements of Ladybird; their progress is really impressive, and if web-platform-tests are helping their engineering efforts I consider that a win. New implementations of the web platform, including Ladybird, Servo, and Flow, are exciting to see.
However, web-platform-tests specifically decided to optimise for being a useful engineering tool rather than being a good metric. That means there's no real attempt to balance the testsuite across the platform; for example a surprising fraction of the overall test count is encoding tests because they're easy to generate, not because it's an especially hard problem in browser development.
We've also consciously wanted to ensure that contributing tests is low friction, both technically and socially, in order that people don't feel inclined to withhold useful tests. Again that's not the tradeoff you make for a good metric, but is the right one for a good engineering resource.
The Interop Project is designed with different tradeoffs in mind, and overcomes some of these problems by selecting a subsets of tests which are broadly agreed to represent a useful level of coverage of an important feature. But unfortunately the current setup is designed for engines that are already implementing enough feature to be usable as general purpose web-browsers.
The tweet mentions that this is an arbitrary metric thrust upon them by Apple, so I don’t think they would necessarily disagree with you. During the monthly updates they do also show the passing number of tests without including the encoding tests because of how much they skew things.
I think it’s just fantastic that the Ladybird browser is close to being usable. I was under the impression this was going to take many years before it became competitive.
While I haven't tried it myself, I've seen a few of the monthly summaries videos. Passing the tests and being fast enough for daily usage is two very different things and right now Ladybird doesn't appear to be all that speedy.
Still an amazing feat of development from the entire team.
Why are the tests so disconnected from the usability? My assumption is the tests are closer to a unit test, while browsing a page is essentially an E2E test, and if anything in the pipeline goes wrong (especially given that we use complex JS everywhere) the result is essentially useless.
There's not a linear relationship between the tests and usability. There are many tests for various character encodings, but viewing a web page means you're only "using" one of them, for example.
As such, 90% test pass rate but low usability simply means that 10% of the tests cover a lot of very visible usability features that ladybird hasn't addressed yet.
web platform tests are closer to unit tests than to integration tests or to smoke tests. Many of those are also very hard to write and check for correctly, since there are tens of thousands of lines of specs, and thousands of web APIs.
I'll guess that the remaining 10% will take more than another 90%, and also that it will keep growing as time goes on. Web standards are becoming more complex every day.
Don't hold your breath though. Looking at the September progress report[0] there are many many things to iron out. It's great progress but there are still several years of development for LB to be ready.
Three years ago I was very skeptical of Ladybird. But two things have changed. First, they have funding for 8 full time engineers, which I definitely wasn’t expecting. Second, it’s been three years. So given that, I am more optimistic.
There’s still a very long way before they can compete with Chrome, of course. And I’m not sure I ever understood the value proposition compared to forking an existing engine.
The value proposition is not having vendor lockin and having WebKit/Blink be the defacto behaviour. For example the Ladybird team have found and raised spec issues in the different specs.
Another example is around ad blockers -- if Blink is the only option, they can make it hard for ad blockers to function whereas having other engines allows different choices to be made.
It really goes to show what a dedicated team can accomplish. Before Ladybird it was taken for granted that building an entirely new browser engine would take decades and people would laugh at you for even bringing it up.
Wipr and UserScripts on Safari prove to me that that's not a real issue...I understand compatibility problems are still issues, but ads/etc. are a fully solved one for Safari users.
Blink supports Windows, Android and Linux better than WebKit or Gecko does, to name at least one one reason. If it weren't for uBlock I'd probably be using a Chrome fork right now.
It is nuts, when you think about how much a browser does, it is a crazy feat.
Just building a good html/css renderer and a JS engine is crazy, but now you are hooked into the ecosystem and at the mercy of whatever comes next. Chrome can push back against proposals but little browsers either use chromium or are basically in a riptide trying to make sure they keep up.
The government(s) need to force Google to obey web standards that are set by an industry consortium. One that also has small player participation as a requirement.
If Google is strong arming or pushing ahead their own agenda, the standards body should have plenty enough votes to veto.
And for teeth, compliance should be a requirement for Google to even be allowed to have its own browser. If they break it, no more browser for Google.
Google mostly does obey web standards that are set by an industry consortium (WHATWG, W3C, or in the case of JavaScript EMCA).
Chrome has the best compliance with standards of any of the big three (see wpt.fyi) - which is not surprising, because they also have the most engineering time dedicated to their browser, and the most people working on standards.
These bodies require buy in from multiple vendors, but generally not unanimity. That said, browsers can and do ship things which haven't been standardized (e.g. WebUSB, which is still only a draft because only Chrome wants to ship it). In a lot of cases this pretty much has to happen pre-standardization, because it is difficult to come up with a good standard from the ivory tower with no contact with actual use. Chrome is unusually good about working in public to develop specifications for such features even when other browsers aren't currently interested in shipping them.
I don't know what problem you think this proposal would solve.
The government and most voters don't even know what a file is. They can't even vote in favor of their own basic needs like health care. Do you really think this band of incompetents should be empowered to strangle innovation?
Definitely... IF they keep this up, they will be a real contender by the end of 2027. I keep saying I'd like to see a similar push for Servo though... since it's probably the next most feature-rich engine option. It really needs a corresponding browser project to go along side it though, since FF/Mozilla isn't that interested.
Can you elaborate? What do you mean by how to pass tests securely? It doesn't read like you mean security tests but otherwise I have no idea what you're talking about.
Conformance testing means that you meet certain specifications. It tells nothing about how you handle data which is different from the specs or random data; or in other words, the root of most security problems.
The general public probably just needs basic HTML/CSS/JS support along with gzip, zstd, and common image and video formats. Stuff like beacons, accelerometers, bluetooth, device memory, webusb, battery status, etc. (so basically all of the "platform" part of the "web platform") are either extremely niche or actively harmful.
It really depends on what the big sites they use decide to use. I can see Google using more niche web features just to push people to Chrome.
Do I need accelerometer support to watch a full screen video in landscape on YouTube? That’s probably a big deal for anyone who doesn’t use the app, for example.
Browsers have been historically the biggest and most difficult projects, so hard to say why it wouldn’t be. When they can start promising 20k bounties for segfaults, they are getting close.
I just tried building and running it. Surprisingly many websites already load fine, though Youtube doesn't and Vimeo/Reddit comment section crashed it. Still, the results are quite encouraging! It takes ~6GB of HDD to build it.
- browsers having to go through Apple means slower updates (including for bugs or security), not needed on Mac or any other platform
- Apple forces every alternative-engine browser to use a pretty broken framework that Safari does not use, not needed on Mac or any other platform
- Apple's restrictions on alternative engines in the EU are a vast list of malicious compliance[0], making those engines a theoretical academic exercise, so they're definitely still fucking you as a consumer.
As a consumer I definitely want my browsers to always be up to date and be able to address 0day bugs as soon as the browser vendors are aware. Any potential delays on fixing security issues make me nervous.
Consumers in a general sense don't know much of how the world works - safe radiation exposure, food safety, drug dosing thermodynamics, household electrical wiring, airborne particulate, airline maintenance...
This is why we have a government regulatory regime to protect them. The government has to strong arm companies out of bad behavior, because consumers do not understand.
Some people who have Apple and Google stock will voice opinion against regulation. Or people who really love their devices and don't understand the harms.
But the fact is that this Titanic command of markets damages the robustness of the economy. Google and Apple are doing massive harm.
Capitalism should be hard. It should be a treadmill. You shouldn't be able to coast.
We like the market. We like evolutionary pressure. Giants this large, however, are an ecological hack that get to escape the same algorithm we subject every other company to. They created an artificial and illegal means to prevent themselves from facing competition. They're an invasive species picking on ecosystems that literally cannot fight back.
It's a good thing that new companies can (or could) threaten old companies. It's a renewing forest fire, a de-ossification. It rewards innovation capital rather than institutions.
Apple and Google have found a way to forever avoid this by wedging themselves in as "owners of mobile computing". These two companies own it. Period. You don't. Consumers don't. No other company can even enter into the arena. You play by their rules.
Antitrust enforcement has never been more needed. We've had two decades of devices we really only rent and don't own. Devices that strangle consumer control over how we spend our time and money.
If America doesn't do it, foreign countries seeking sovereignty should.
- Companies forking over more margin and control to Apple mean they have to make up for it in other ways.
- Apple and Google wielding so much control removes overall choice and competition from the market.
- I sure hope Apple and Google only ever have my interests at heart because they have all the keys to the kingdom and could really screw me over.
- I wish I could do XYZ with my phone. Too bad...
- I wish there were more diverse phone SKUs. It used to be wildly competitive and we used to have all kinds of innovation because it wasn't so winner-take-all. Where's my eink low power open source phone with gpio and thermal sensors, etc.
- My car and phone feel like frenemies.
- There's still no good alternative OS for phones. Probably because it'd be impossible to make money and compete against titans.
- The company that removed manifest V2 is now forcing app signing? I wonder if they'll limit web browsing options and ad blocking soon.
- Why do I have to de-Google my phone with every update? They have tyranny of defaults (that lay people can't adjust) and just reset the defaults back to themselves every time you upgrade. Or give you scare walls and alerts asking to be default again. Lay people are probably stuck with this.
- "Google News" legitimately has half page ads and popups and that's the default experience. It is physically impossible to even read the news.
Me as engineer: does apple even pass the bar by their own? I hit shit tons of safari only bug that is 100% non web-compliment. Some are so stupid that as a normal person writing web pages must have ran into it already.
The point is they are not even compliment to their "own" spec. They are part of whatwg. But if you ever write web page. You will know it's always the safari that differs from the spec. Firefox in the other end never have such issue.
Write a page on chrome, works 90% on Firefox. But will likely works 10% on safari. Supports safari literally means support another browser (by workaround all its bugs).
What's the security story in Ladybird? Do they use sandboxes etc? I'm a bit concerned that hundreds of thousands of lines of C++ browser code written in just three years could be a minefield, but I hope I'm wrong.
The specs and the test suite are both moving targets. There are regularly new proposals to the specs, and new tests that cover them as they progress towards acceptance. The main engines implement these proposals behind feature flags, and only enable them once the proposal has been fully accepted.
Ladybird does not hide implementations behind feature flags (yet) because there's no need when you don't have users. So its score on test262.fyi includes all proposals it has implemented thus far.
The other engines on that site have an "experimental options" variant to include these proposals, which is a bit more of an honest comparison. As of right now, that shows: Spidermonkey (Firefox) at 98.3%, V8 (Chrome) at 97.9%, LibJS (Ladybird) at 96.9%, and JavaScriptCore (Safari) at 93.2%.
And paying money to software vendors to bundle Chrome with "Set Chrome as default browser" ticked by default. This is exactly the same thing all the malware browsers and toolbars did in the time period too.
Google's business model was to take FLOSS software, ostensibly make it work without them being involved, but make it obvious that if you wanted things to be as simple as possible, you needed to use their version of it. Can you use Chromium as your daily driver? Sure, but it's not as simple as just using Chrome. Android is even more like this. And of course, the simplest way to use this software also just happens to give Google a ton of your data, which enabled them as an ad-serving company.
They wouldn't have given the browser away for free if they weren't making at least the cost of the browser development back in the take from ad revenues.
I guess you could argue that the moves to buy services like YouTube and other big pillars of the web and have that reflected in Chrome development cost money.
Don't forget, Firefox didn't succeed because Firefox was good, it succeeded because IE was bad. People don't like having to choose between Google Chrome and Google Firefox.
If nothing else, having an alternative engine with any amount of viability at all that isn't Blink is great news. I'll be interested to see how this progresses.
It's always struct me as interesting that ladybird is built with C++. I like C++, and prefer it to languages like Rust, but it's not uncommon to see new OSS projects using weird languages and the newest tools. Lots of languages offer improvements in regards to threading models, development speed, or cross-platform support which we don't get in C++.
I suppose their success is likely directly related to the fact they made reasonable, practical development choices, but still.
LadyBird grew out of the SerenityOS project which was originally written in C++ (they've since moved to Jakt). All software for Serenity had to be written natively for the OS, and C++ was the language originally supported there. Andreas had worked on browsers previously (notable Safari), and was already a seasoned C/C++/ObjC developer. While one can cite many valid reasons for using a C language for a browser (and OS), I think his experience and preferences were likely a large part of it.
It's the same language most of the code in Chrome and Firefox is written in.
It's also not clear what you're looking for in terms of cross-platform support. Some languages provide better standard library support for UI elements, but that's the part a browser will be implementing for itself regardless.
Thank you for the belly-laugh. It's Goodhart's Law in graph form.
"Oh, is this metric important? Let me get right on that."
No shade intended towards the Ladybird team. You were given the terms and you're behaving rationally in response to them. More power to you. It's just a fantastic demonstration of what it looks like to very suddenly be developing against a very specific metric.
I think that this metric correlates well with the browser being usable on real websites
Also, I don't think that the Ladybird folks are just doing the bare minimum to only increase their score on WPT. They're implementing each feature in such a way that basic browsing seems to work better and that their WPT score improves.
The wpt score is not that well balanced. Look at https://staging.wpt.fyi/results/?product=servo&product=ladyb... : out of about 2 million tests, more than half are for the "encoding" category. Good encoding support is needed for sure, but likely not at that level of prevalence.
It seems my communication did not adequately convey the fact that I have no problem with the Ladybird team doing this. It makes perfect sense and is the right thing to do.
However, a jump like that means precisely and exactly what I said it means; very suddenly, that metric became much more important to the team. It is written straight into the graph.
A large number of encoding-related tests that were probably relatively easy to fix in bulk is certainly a plausible explanation.
A lot of people are imputing to me assumptions that they are bringing to my post, such as assuming that such improvements must be fake or bad or somehow otherwise cheating. Nope. Moreover, if you are thinking that, don't take it up with me, go take it up with the graph directly. It's not my graph. I'm just amused at the spectacular demonstration of Goodhart's Law.
Are the commentators who think I'm being critical of the Ladybird project going to defend their implicit proposition that the browser got twice as good in whatever period that graph is in, a week or a month or whatever? Of course that's not the case.
> However, a jump like that means precisely and exactly what I said it means; very suddenly, that metric became much more important to the team. It is written straight into the graph.
Not really, though. The latest jump was from implementing some CSS Typed OM features, which has been in-progress work for a while now. The 6k increase in the test score was a bit of a happy surprise. It's also not that much of a jump when you zoom out and see it's "just" a continuation of a steady increase in score over a long period.
fwiw, I'm not imputing you any assumptions. I'm just pointing out that using wpt score as a criteria is not necessarily a good proxy for browser readiness. So I'm not sure why Apple uses that, other than... there's no other objective measure? Of course it's fair game for browser engines to improve their score!
Dude at this point just raise your knickers up and criticize the thing. You’ve got the most valuable observation about this topic on your side. The graph is jarring and for someone only recently made familiar with Goodhart’s Law this is a great example of it in practice. You must be further well-informed enough to defend any issues you actually have with the project outright instead of this small war of attrition playing out waaay down here.
Too much useful insight is withheld or misappropriated these days.
While it is kinda unfortunate to have one unbalanced test suite as the major external progress indicator, there are.. like no other good options that don't involve someone manually going through like the top 1000 sites or something and checking whether they look good. That leaves having no progress indication whatsoever, which is also pretty bad.
And, in any case, implementing more of the standards is just simply good, and would need to be done at some point anyway.
Have you tried using Ladybird recently? Admittedly I haven't but I've seen the rapid progress they've made over the last year. They might just be targeting this arbitrary metric but I'm inclined to believe that they've made real progress towards building a usable browser.
I mean, sure, but can you point to any work that you think they should be doing that they're not doing because they're chasing this benchmark instead of doing whatever it is you think they should be doing?
Is distribution the only problem? If Mozilla or Google were to make their code freely available on some git forge like GitHub and I cloned the repo and built it myself, would I be able to run it for seven days or something in the US?
OT, but I really like the name Ladybird for a silly reason - it's the name of Hank Hill's dog. Whenever I hear it I think of her and smile. That's right, the thought of a cartoon dog makes me happy. I told you it was silly.
You seem to totally be overlooking who Hank was paying homage to with that name. Thanks to Ladybird, spring time in Texas provides a colorful palette of wildflowers, especially the bluebonnet, to travelers along the highways.
I heard the story of Lady Bird Johnson and the bluebonnets on a sunny spring day, on a passenger seat of a pickup truck driving through the Hill Country, among endless fields and hills covered in wildflowers. We were probably listening to Merle Haggard or Willie Nelson, one of them outlaw country boys. That's how I know America the Beautiful does exist, though it may be hard to believe from the darkness that covers the land today.
If you have a spec and a test suite, shouldn't you really be passing all the tests before shipping this stuff to a user?
To do otherwise seems like pissing in the swimming pool of the web ecosystem. Web developers are going to have to be special casing this browser for years to come, and then the browser will need a 'quirks mode' for all the webpages that come to rely on the bugs.
One would think, but ironically Apple's own browser fails the most out of the big three. I've also seen examples of web-developers who already have to do special cases for Chrome, Firefox, and Safari due to their own unique quirks and differences. Web development is hell. https://wpt.fyi/results/
It doesn’t have anything other than a pre-alpha release and it’s got a clear warning that it’s only for use by developers. That will keep adoption far away from people special casing the browser. Further, it’s open source so incomplete public development is the only way to go for this type of project.
It's still early in development. You are free to build it and run it, but there have been no actual releases to end users. It's very much alpha quality, if even that. It's still slow and full of bugs. However, the code quality is generally very good and there's great potential for this browser to eventually go somewhere.
I don't think Andreas is suggesting that it will be offered on iOS any time soon so much as he is pointing out that they achieved this arbitrary milestone.
As someone who's been quite heavily involved with web-platform-tests, I'd caution against any use of the test pass rate as a metric for anything.
That's not to belittle the considerable achievements of Ladybird; their progress is really impressive, and if web-platform-tests are helping their engineering efforts I consider that a win. New implementations of the web platform, including Ladybird, Servo, and Flow, are exciting to see.
However, web-platform-tests specifically decided to optimise for being a useful engineering tool rather than being a good metric. That means there's no real attempt to balance the testsuite across the platform; for example a surprising fraction of the overall test count is encoding tests because they're easy to generate, not because it's an especially hard problem in browser development.
We've also consciously wanted to ensure that contributing tests is low friction, both technically and socially, in order that people don't feel inclined to withhold useful tests. Again that's not the tradeoff you make for a good metric, but is the right one for a good engineering resource.
The Interop Project is designed with different tradeoffs in mind, and overcomes some of these problems by selecting a subsets of tests which are broadly agreed to represent a useful level of coverage of an important feature. But unfortunately the current setup is designed for engines that are already implementing enough feature to be usable as general purpose web-browsers.
The tweet mentions that this is an arbitrary metric thrust upon them by Apple, so I don’t think they would necessarily disagree with you. During the monthly updates they do also show the passing number of tests without including the encoding tests because of how much they skew things.
The problem is, there's no other good metric. We used to have Acid tests for CSS, but in absence of that, it's as good metric as any.
Then talk to apple. They are the ones who put this bar in place.
Why are you bringing this up, when it’s not been implemented as a metric here, but because Apple requires it for iOS.
> but because Apple requires it for iOS
Therefore it is a metric used by Apple.
In the spirit of malicious compliance, thus being a bad metric would probably be a feature in their book.
There are literally no other metrics.
Web Platform Tests were literally a project to align browsers on compatible implementations of a bunch of web APIs. Started by Opera and w3c and maintained by w3c https://www.bocoup.com/blog/wpt-an-overview-and-history
I think it’s just fantastic that the Ladybird browser is close to being usable. I was under the impression this was going to take many years before it became competitive.
While I haven't tried it myself, I've seen a few of the monthly summaries videos. Passing the tests and being fast enough for daily usage is two very different things and right now Ladybird doesn't appear to be all that speedy.
Still an amazing feat of development from the entire team.
I was going to say the same thing.
Why are the tests so disconnected from the usability? My assumption is the tests are closer to a unit test, while browsing a page is essentially an E2E test, and if anything in the pipeline goes wrong (especially given that we use complex JS everywhere) the result is essentially useless.
There's not a linear relationship between the tests and usability. There are many tests for various character encodings, but viewing a web page means you're only "using" one of them, for example.
As such, 90% test pass rate but low usability simply means that 10% of the tests cover a lot of very visible usability features that ladybird hasn't addressed yet.
web platform tests are closer to unit tests than to integration tests or to smoke tests. Many of those are also very hard to write and check for correctly, since there are tens of thousands of lines of specs, and thousands of web APIs.
I do wonder if it's the case of "90% of completeness takes 90% of time; the remaining 10% takes another 90%".
Though, I suppose even if true, it would still be a pretty good timeframe.
I'll guess that the remaining 10% will take more than another 90%, and also that it will keep growing as time goes on. Web standards are becoming more complex every day.
Don't hold your breath though. Looking at the September progress report[0] there are many many things to iron out. It's great progress but there are still several years of development for LB to be ready.
[0] https://www.youtube.com/watch?v=6vsjIIiODhY
Three years ago I was very skeptical of Ladybird. But two things have changed. First, they have funding for 8 full time engineers, which I definitely wasn’t expecting. Second, it’s been three years. So given that, I am more optimistic.
There’s still a very long way before they can compete with Chrome, of course. And I’m not sure I ever understood the value proposition compared to forking an existing engine.
The value proposition is not having vendor lockin and having WebKit/Blink be the defacto behaviour. For example the Ladybird team have found and raised spec issues in the different specs.
Another example is around ad blockers -- if Blink is the only option, they can make it hard for ad blockers to function whereas having other engines allows different choices to be made.
I've started using it for some websites. It's surprisingly very capable already.
It really goes to show what a dedicated team can accomplish. Before Ladybird it was taken for granted that building an entirely new browser engine would take decades and people would laugh at you for even bringing it up.
Well, it is going to take decades…
It’s a valuable, ambitious project, but it is going to take a while before it can be used for anything real.
To be fair. They have a really long way to go.
The linked tweet notes that this is an important milestone in getting Ladybird considered as an alternative browser engine in iOS.
Good context for why "Apple" is in the headline
...in the EU at least, anywhere else Apple is going to say "no" regardless of how good your engine is.
How does it work for the likes of Google and Mozilla? Do they use their own engines for iOS versions in the EU and wrap WebKit for other areas?
AFAICT, Chrome and Firefox on iOS are still just WebKit wrappers. I’d love for that to change though, WebKit in iOS sucks in quite a few ways.
such as? I consider myself a power user and I've never run into anything I couldn't handle or get around. Genuinely curious.
No support for uBlock Origin and other tools that make the web sane
Wipr and UserScripts on Safari prove to me that that's not a real issue...I understand compatibility problems are still issues, but ads/etc. are a fully solved one for Safari users.
Chrome doesn't allow the full version of uBlock Origin on desktop, or any version of it on mobile.
How does Chrome have so much market share?
Blink supports Windows, Android and Linux better than WebKit or Gecko does, to name at least one one reason. If it weren't for uBlock I'd probably be using a Chrome fork right now.
Chrome on Android makes the web completely unusable without having access to uBlock, especially on resource constrained devices.
Chrome on Windows doesn't allow the full version of uBlock Origin that still works on the YouTube website.
It's just Google abusing its browser monopoly in the name of ad revenue.
Orion is doing it somehow on iOS in a way I still don’t really understand.
No they aren't?
https://orionfeedback.org/d/9145-ublock-origin-not-existent-...
https://orionfeedback.org/d/11882-ublock-origin-not-function...
As far as I know, they just emulate the Chrome extension API right?
Super impressive that an independent, non-corpo project has gotten this far this quickly.
It is nuts, when you think about how much a browser does, it is a crazy feat.
Just building a good html/css renderer and a JS engine is crazy, but now you are hooked into the ecosystem and at the mercy of whatever comes next. Chrome can push back against proposals but little browsers either use chromium or are basically in a riptide trying to make sure they keep up.
> Chrome can push back against proposals
The problem isn't Chrome pushing back proposals. The problem is Chrome pushing ahead with its own proposals regardless of anyone: https://news.ycombinator.com/item?id=45371575
The government(s) need to force Google to obey web standards that are set by an industry consortium. One that also has small player participation as a requirement.
If Google is strong arming or pushing ahead their own agenda, the standards body should have plenty enough votes to veto.
And for teeth, compliance should be a requirement for Google to even be allowed to have its own browser. If they break it, no more browser for Google.
Google mostly does obey web standards that are set by an industry consortium (WHATWG, W3C, or in the case of JavaScript EMCA).
Chrome has the best compliance with standards of any of the big three (see wpt.fyi) - which is not surprising, because they also have the most engineering time dedicated to their browser, and the most people working on standards.
These bodies require buy in from multiple vendors, but generally not unanimity. That said, browsers can and do ship things which haven't been standardized (e.g. WebUSB, which is still only a draft because only Chrome wants to ship it). In a lot of cases this pretty much has to happen pre-standardization, because it is difficult to come up with a good standard from the ivory tower with no contact with actual use. Chrome is unusually good about working in public to develop specifications for such features even when other browsers aren't currently interested in shipping them.
I don't know what problem you think this proposal would solve.
The government and most voters don't even know what a file is. They can't even vote in favor of their own basic needs like health care. Do you really think this band of incompetents should be empowered to strangle innovation?
There are plenty of experts in our industry willing to help the government pen regulations. I'd gladly volunteer.
Google isn't your friend.
If you're a consumer, they're limiting choice.
If you're a startup or midcap, they're in your way.
I expect startups to out-innovate once the giants get a regulatory buzz cut.
Are they really non-corpo? I remember seeing some corpos bankrolling it?
And in that sense, is it better than Gecko with firefox, which is non-profit?
Definitely... IF they keep this up, they will be a real contender by the end of 2027. I keep saying I'd like to see a similar push for Servo though... since it's probably the next most feature-rich engine option. It really needs a corresponding browser project to go along side it though, since FF/Mozilla isn't that interested.
It looks like Amazon has people looking at Servo integration in GTK: https://blogs.gnome.org/nacho/2025/10/01/servo-gtk/
I believe this would be Verso: https://github.com/versotile-org/verso
That repo is a mirror of the GitLab version.
https://gitlab.com/verso-browser/verso/
Seemed to have fairly frequent commits but they abruptly spotted 3 months ago.
https://gitlab.com/verso-browser/verso/-/commits/main?ref_ty...
But how to pass tests securely, is completely different problem. This is conformance testing. But impressive regardless.
Can you elaborate? What do you mean by how to pass tests securely? It doesn't read like you mean security tests but otherwise I have no idea what you're talking about.
Conformance testing means that you meet certain specifications. It tells nothing about how you handle data which is different from the specs or random data; or in other words, the root of most security problems.
cloudflare is sponsoring. says it all.
What does that say?
> Super impressive that an independent, non-corpo project has gotten this far this quickly.
Well, it could be that AI actually speeds up development, who knows.
Data so far says that it doesn't https://mikelovesrobots.substack.com/p/wheres-the-shovelware...
I wonder how hard the last 10% will be? If its a typical software project its going to be 90% more effort for the last 10%.
And the last 1% will be constantly changing, and never really “done” as a result.
90% is Apple’s standard. I wonder what the general public requires.
The general public probably just needs basic HTML/CSS/JS support along with gzip, zstd, and common image and video formats. Stuff like beacons, accelerometers, bluetooth, device memory, webusb, battery status, etc. (so basically all of the "platform" part of the "web platform") are either extremely niche or actively harmful.
It really depends on what the big sites they use decide to use. I can see Google using more niche web features just to push people to Chrome.
Do I need accelerometer support to watch a full screen video in landscape on YouTube? That’s probably a big deal for anyone who doesn’t use the app, for example.
Browsers have been historically the biggest and most difficult projects, so hard to say why it wouldn’t be. When they can start promising 20k bounties for segfaults, they are getting close.
They are pretty far way from that. I still think it is one of the most exciting open source projects in recent years.
I just tried building and running it. Surprisingly many websites already load fine, though Youtube doesn't and Vimeo/Reddit comment section crashed it. Still, the results are quite encouraging! It takes ~6GB of HDD to build it.
There is a big jump in the graph! I wonder what contributed to that big improvement.
Someone asked Andreas on that Twitter thread - it was the merging of the CSS Typed Object Model API spec.
This PR added ~6400 passes for some css stuff. That's not enough to warrant the spike I think, but surely helped: https://github.com/LadybirdBrowser/ladybird/pull/6370
Me as engineer: it's wild a big corporation dictates a quality bar and limit API access for 3rd party software.
Me as customer: oh man I'm sure glad stuff is reviewed to some quality bar and the OS limits API access.
Me as a consumer:
- browsers having to go through Apple means slower updates (including for bugs or security), not needed on Mac or any other platform
- Apple forces every alternative-engine browser to use a pretty broken framework that Safari does not use, not needed on Mac or any other platform
- Apple's restrictions on alternative engines in the EU are a vast list of malicious compliance[0], making those engines a theoretical academic exercise, so they're definitely still fucking you as a consumer.
[0]: https://open-web-advocacy.org/blog/apples-browser-engine-ban...
Those views are "you as a developer." Very few actual end users think about or care about any of these things.
You're right. They may be a "consumer" but they're wearing their develop hat. Consumers don't care about update cycles.
As a consumer I definitely want my browsers to always be up to date and be able to address 0day bugs as soon as the browser vendors are aware. Any potential delays on fixing security issues make me nervous.
Very few actual care about Apple controlling the apps you install as well. And even fewer understand what “OS API access” mean.
Just because consumers are unaware that a problem exist doesn't mean they wouldn't care if they knew.
The consumer can't articulate policy.
Consumers in a general sense don't know much of how the world works - safe radiation exposure, food safety, drug dosing thermodynamics, household electrical wiring, airborne particulate, airline maintenance...
This is why we have a government regulatory regime to protect them. The government has to strong arm companies out of bad behavior, because consumers do not understand.
Some people who have Apple and Google stock will voice opinion against regulation. Or people who really love their devices and don't understand the harms.
But the fact is that this Titanic command of markets damages the robustness of the economy. Google and Apple are doing massive harm.
Capitalism should be hard. It should be a treadmill. You shouldn't be able to coast.
We like the market. We like evolutionary pressure. Giants this large, however, are an ecological hack that get to escape the same algorithm we subject every other company to. They created an artificial and illegal means to prevent themselves from facing competition. They're an invasive species picking on ecosystems that literally cannot fight back.
It's a good thing that new companies can (or could) threaten old companies. It's a renewing forest fire, a de-ossification. It rewards innovation capital rather than institutions.
Apple and Google have found a way to forever avoid this by wedging themselves in as "owners of mobile computing". These two companies own it. Period. You don't. Consumers don't. No other company can even enter into the arena. You play by their rules.
Antitrust enforcement has never been more needed. We've had two decades of devices we really only rent and don't own. Devices that strangle consumer control over how we spend our time and money.
If America doesn't do it, foreign countries seeking sovereignty should.
Me as a consumer:
- Companies forking over more margin and control to Apple mean they have to make up for it in other ways.
- Apple and Google wielding so much control removes overall choice and competition from the market.
- I sure hope Apple and Google only ever have my interests at heart because they have all the keys to the kingdom and could really screw me over.
- I wish I could do XYZ with my phone. Too bad...
- I wish there were more diverse phone SKUs. It used to be wildly competitive and we used to have all kinds of innovation because it wasn't so winner-take-all. Where's my eink low power open source phone with gpio and thermal sensors, etc.
- My car and phone feel like frenemies.
- There's still no good alternative OS for phones. Probably because it'd be impossible to make money and compete against titans.
- The company that removed manifest V2 is now forcing app signing? I wonder if they'll limit web browsing options and ad blocking soon.
- Why do I have to de-Google my phone with every update? They have tyranny of defaults (that lay people can't adjust) and just reset the defaults back to themselves every time you upgrade. Or give you scare walls and alerts asking to be default again. Lay people are probably stuck with this.
- "Google News" legitimately has half page ads and popups and that's the default experience. It is physically impossible to even read the news.
Me as engineer: does apple even pass the bar by their own? I hit shit tons of safari only bug that is 100% non web-compliment. Some are so stupid that as a normal person writing web pages must have ran into it already.
Me as customer: having trouble using the likes of GitHub and Threads using the "OS sanctioned browser"
That's on nobody except Microsoft and Meta for testing against Chromium only.
It was a bug in WebKit that WebKit had to fix (and as you know, Safari takes a long time getting those fixes into consumer's hands).
> takes a long time
If it even does.
Person in tech me is in conflict with customer me as to who is to blame. Maybe system imposed browser/agent defaults were a mistake after all.
So it's okay for a website builder to test in only one browser defaulting to an imposed browser/agent restriction?
The point is they are not even compliment to their "own" spec. They are part of whatwg. But if you ever write web page. You will know it's always the safari that differs from the spec. Firefox in the other end never have such issue.
Write a page on chrome, works 90% on Firefox. But will likely works 10% on safari. Supports safari literally means support another browser (by workaround all its bugs).
Those are some exaggerated beyond belief numbers you just made up. Some of us also work in web development and know better.
You couldn't figure out by yourself not to use a dysfunctional browser?
It’s not wild, it is anti-competitive and entirely about maintaining control in unfair ways
also me as an engineer:
I hope it’s the correct 90%!
What's the security story in Ladybird? Do they use sandboxes etc? I'm a bit concerned that hundreds of thousands of lines of C++ browser code written in just three years could be a minefield, but I hope I'm wrong.
What JS engine does it run on?
It's own, LibJS
https://github.com/LadybirdBrowser/ladybird/tree/master/Libr...
Wow, how does it compare to V8 ? They spent many years optimising it.
It's not as fast or as feature-complete. That's OK for now, though.
It doesn't.
LibJS from Ladybird has more spec-compliance than V8 (Chrome) and JavaScriptCore (Safari) in many categories.
https://test262.fyi/
doesn't this just mean the spec is overwritten? (and covering things that are not in use by the dominant engines)
It's useless to get a higher score on compliance than the leading engines because ... no one else can use them.
The specs and the test suite are both moving targets. There are regularly new proposals to the specs, and new tests that cover them as they progress towards acceptance. The main engines implement these proposals behind feature flags, and only enable them once the proposal has been fully accepted.
Ladybird does not hide implementations behind feature flags (yet) because there's no need when you don't have users. So its score on test262.fyi includes all proposals it has implemented thus far.
The other engines on that site have an "experimental options" variant to include these proposals, which is a bit more of an honest comparison. As of right now, that shows: Spidermonkey (Firefox) at 98.3%, V8 (Chrome) at 97.9%, LibJS (Ladybird) at 96.9%, and JavaScriptCore (Safari) at 93.2%.
Here's a link with those options selected: https://test262.fyi/#|v8_exp,jsc_exp,sm_exp,libjs
It is all original code.
That's really impressive
I wish them well, but browsers are very much pay-to-play. Google had to pay their way to their current dominant position.
Pay? You mean putting the "you are using X, why not try chrome" adtext everywhere for every search result?
And paying money to software vendors to bundle Chrome with "Set Chrome as default browser" ticked by default. This is exactly the same thing all the malware browsers and toolbars did in the time period too.
Depends on what you mean by "pay-to-play".
Google's business model was to take FLOSS software, ostensibly make it work without them being involved, but make it obvious that if you wanted things to be as simple as possible, you needed to use their version of it. Can you use Chromium as your daily driver? Sure, but it's not as simple as just using Chrome. Android is even more like this. And of course, the simplest way to use this software also just happens to give Google a ton of your data, which enabled them as an ad-serving company.
They wouldn't have given the browser away for free if they weren't making at least the cost of the browser development back in the take from ad revenues.
I guess you could argue that the moves to buy services like YouTube and other big pillars of the web and have that reflected in Chrome development cost money.
Don't forget, Firefox didn't succeed because Firefox was good, it succeeded because IE was bad. People don't like having to choose between Google Chrome and Google Firefox.
I'm not sure about it - there were other contestants: Opera, Netscape, even the big Mozilla Suite.
Ad blockers were another huge draw, in my experience.
Now that 90% of the work is done, it is only 90% of the work that remains :)
If nothing else, having an alternative engine with any amount of viability at all that isn't Blink is great news. I'll be interested to see how this progresses.
Oh yes cus Apple really care about the web.
It's always struct me as interesting that ladybird is built with C++. I like C++, and prefer it to languages like Rust, but it's not uncommon to see new OSS projects using weird languages and the newest tools. Lots of languages offer improvements in regards to threading models, development speed, or cross-platform support which we don't get in C++.
I suppose their success is likely directly related to the fact they made reasonable, practical development choices, but still.
I believe they are or will be transitioning to Swift: https://x.com/awesomekling/status/1822236888188498031
This is often cited, but it seems like there has been very little movement toward swift since this tweet.
LadyBird grew out of the SerenityOS project which was originally written in C++ (they've since moved to Jakt). All software for Serenity had to be written natively for the OS, and C++ was the language originally supported there. Andreas had worked on browsers previously (notable Safari), and was already a seasoned C/C++/ObjC developer. While one can cite many valid reasons for using a C language for a browser (and OS), I think his experience and preferences were likely a large part of it.
It's the same language most of the code in Chrome and Firefox is written in.
It's also not clear what you're looking for in terms of cross-platform support. Some languages provide better standard library support for UI elements, but that's the part a browser will be implementing for itself regardless.
Thank you for the belly-laugh. It's Goodhart's Law in graph form.
"Oh, is this metric important? Let me get right on that."
No shade intended towards the Ladybird team. You were given the terms and you're behaving rationally in response to them. More power to you. It's just a fantastic demonstration of what it looks like to very suddenly be developing against a very specific metric.
I think that this metric correlates well with the browser being usable on real websites
Also, I don't think that the Ladybird folks are just doing the bare minimum to only increase their score on WPT. They're implementing each feature in such a way that basic browsing seems to work better and that their WPT score improves.
The wpt score is not that well balanced. Look at https://staging.wpt.fyi/results/?product=servo&product=ladyb... : out of about 2 million tests, more than half are for the "encoding" category. Good encoding support is needed for sure, but likely not at that level of prevalence.
It seems my communication did not adequately convey the fact that I have no problem with the Ladybird team doing this. It makes perfect sense and is the right thing to do.
However, a jump like that means precisely and exactly what I said it means; very suddenly, that metric became much more important to the team. It is written straight into the graph.
A large number of encoding-related tests that were probably relatively easy to fix in bulk is certainly a plausible explanation.
A lot of people are imputing to me assumptions that they are bringing to my post, such as assuming that such improvements must be fake or bad or somehow otherwise cheating. Nope. Moreover, if you are thinking that, don't take it up with me, go take it up with the graph directly. It's not my graph. I'm just amused at the spectacular demonstration of Goodhart's Law.
Are the commentators who think I'm being critical of the Ladybird project going to defend their implicit proposition that the browser got twice as good in whatever period that graph is in, a week or a month or whatever? Of course that's not the case.
> However, a jump like that means precisely and exactly what I said it means; very suddenly, that metric became much more important to the team. It is written straight into the graph.
Not really, though. The latest jump was from implementing some CSS Typed OM features, which has been in-progress work for a while now. The 6k increase in the test score was a bit of a happy surprise. It's also not that much of a jump when you zoom out and see it's "just" a continuation of a steady increase in score over a long period.
fwiw, I'm not imputing you any assumptions. I'm just pointing out that using wpt score as a criteria is not necessarily a good proxy for browser readiness. So I'm not sure why Apple uses that, other than... there's no other objective measure? Of course it's fair game for browser engines to improve their score!
Dude at this point just raise your knickers up and criticize the thing. You’ve got the most valuable observation about this topic on your side. The graph is jarring and for someone only recently made familiar with Goodhart’s Law this is a great example of it in practice. You must be further well-informed enough to defend any issues you actually have with the project outright instead of this small war of attrition playing out waaay down here.
Too much useful insight is withheld or misappropriated these days.
While it is kinda unfortunate to have one unbalanced test suite as the major external progress indicator, there are.. like no other good options that don't involve someone manually going through like the top 1000 sites or something and checking whether they look good. That leaves having no progress indication whatsoever, which is also pretty bad.
And, in any case, implementing more of the standards is just simply good, and would need to be done at some point anyway.
Have you tried using Ladybird recently? Admittedly I haven't but I've seen the rapid progress they've made over the last year. They might just be targeting this arbitrary metric but I'm inclined to believe that they've made real progress towards building a usable browser.
I mean, sure, but can you point to any work that you think they should be doing that they're not doing because they're chasing this benchmark instead of doing whatever it is you think they should be doing?
So was there any app with an alternative browser engine already approved by Apple?
IRC I think the roadblock isn't that they need to be approved, but that they can only distribute in the EU.
Is distribution the only problem? If Mozilla or Google were to make their code freely available on some git forge like GitHub and I cloned the repo and built it myself, would I be able to run it for seven days or something in the US?
Unless it can be distributed it's not worth Mozilla or Google's time to bother developing support.
> If Mozilla or Google were to make their code freely available on some git forge like GitHub
https://github.com/mozilla-firefox/firefox
https://github.com/chromium/chromium
nope, one can't get the entitlement -- even just for 7 days dev mode -- just like that.
OT, but I really like the name Ladybird for a silly reason - it's the name of Hank Hill's dog. Whenever I hear it I think of her and smile. That's right, the thought of a cartoon dog makes me happy. I told you it was silly.
In the UK a ladybird is what Americans call a ladybug.
You seem to totally be overlooking who Hank was paying homage to with that name. Thanks to Ladybird, spring time in Texas provides a colorful palette of wildflowers, especially the bluebonnet, to travelers along the highways.
I heard the story of Lady Bird Johnson and the bluebonnets on a sunny spring day, on a passenger seat of a pickup truck driving through the Hill Country, among endless fields and hills covered in wildflowers. We were probably listening to Merle Haggard or Willie Nelson, one of them outlaw country boys. That's how I know America the Beautiful does exist, though it may be hard to believe from the darkness that covers the land today.
Well and knowing Hank, the dog is surely named after Lady Bird Johnson.
https://en.wikipedia.org/wiki/Lady_Bird_Johnson
If you have a spec and a test suite, shouldn't you really be passing all the tests before shipping this stuff to a user?
To do otherwise seems like pissing in the swimming pool of the web ecosystem. Web developers are going to have to be special casing this browser for years to come, and then the browser will need a 'quirks mode' for all the webpages that come to rely on the bugs.
One would think, but ironically Apple's own browser fails the most out of the big three. I've also seen examples of web-developers who already have to do special cases for Chrome, Firefox, and Safari due to their own unique quirks and differences. Web development is hell. https://wpt.fyi/results/
No browser passes 100% of WPT, the leader is chrome which has about 1000 failing tests
It doesn’t have anything other than a pre-alpha release and it’s got a clear warning that it’s only for use by developers. That will keep adoption far away from people special casing the browser. Further, it’s open source so incomplete public development is the only way to go for this type of project.
It is an open source project in development, that requires you build it from source to use.
Are you suggesting they reach 100% code completion and test coverage before making it available to anyone?
It's still early in development. You are free to build it and run it, but there have been no actual releases to end users. It's very much alpha quality, if even that. It's still slow and full of bugs. However, the code quality is generally very good and there's great potential for this browser to eventually go somewhere.
I don't think Andreas is suggesting that it will be offered on iOS any time soon so much as he is pointing out that they achieved this arbitrary milestone.
Following the specification perfectly is not possible, even for major players, https://whatwg.org/faq#living-standard
If you have a spec and a test suite, shouldn't you really be passing all the tests before shipping this stuff to a user?
Have you seen the state of the tech industry?
"Ship it, then fix it" is considered normal now, for some reason.
If you take a browser for example, you shouldn't be using any current browser. This is the best example of why this isn't always the way to go