I don't have much to add here, just wanted to say that I think this is a tremendous gift to the Internet that we loved. It would suffice to say that after many hard reality checks I don't really feel like there are any browser vendors that feel like good stewards of the open web, and it seemed like a new browser that actually managed to break out would be infeasible... until Ladybird showed up. And now, I'm typing this reply in Ladybird.
Of course, it has a long way to go before it is going to be a good daily driver, but I truly believe this is the beginning of something great. I've been consistently surprised by what works, and the rate of improvement is staggering at times.
My question: Has anyone given any thoughts regarding the stance to take with DRM features, e.g. Widevine/Encrypted Media Extensions? It seems like since our previous stewards of the open web didn't care enough, now making a browser with substantial marketshare without this may be hard. Seems like a hard problem, I really do wonder where Ladybird will stand if it continues on its current lightning fast trajectory.
I think it should be possible to have some sort of open extension to allow side band canvas rendering to allow for such extensions as optionally provided by the OS. Possibly with an API for custom engines in WASM.
I don't think it should have to be in the browser. I would like the option to watch the content. I know the while process of DRM is stupid and will be side stepped somewhere.
When Ladybird first came a long the highest hope I had for it would be something like Konquer browser or the odd ball ones you see that haven't been maintained for years on various Linux Distros/old Mac Os releases.
But with the updates, it wild to see progress moving steady but impressively. And the last year - wow! With all the donations, there is now a path towards a real viable alternative rather than something that looses interest as contributors lives get in the way.
I love that you are no over promising and have provided a reasonable time line, it is the kind of restraint that typically gets things done rather than promising the world up front. I love it and look forward to where this goes from here and it could end up in some very odd places.
If in 2001 you where to say that KHTML would be the core base of the majority of web browsers in 15 years, you would have been a great joke. And look at what happened. The big thing is to keep a Richard Stallman like resolve to do what is right for the people, even if it means a little less personal success.
First, thanks for this project and making your self accessible!
Will "plug-in" or "add-on" support be a first-party concept in Ladybird?
I ask that because in years past a few other browsers (Konqueror, Falkon, Dillo, etc) made it pretty far but lacking add-ons, useful capability such as 'NoScript' or 'uBlock' or even a tab manager made them non-starters.
NoScript for Dillo makes no sense as it doesn't support JS anyway.
uBlock... yeah, a little, but most annoyances will be blocked by the lack of JS support anyway.
I would hope that plug-ins and add-ons can be written in C (although any extensions written in C should be only allowed if installed manually by the end user (e.g. by adding it to some configuration file); it should never install them automatically from a "app store" or similar). That is a feature I would use.
Seeing someone ignore the naysayers and attempt the so-called impossible task of developing a new independent browser is awesome to see. It brings a glimmer of hope that the internet is not doomed to be ruled by advertising companies with only a stagnant controlled opposition browser as the alternative.
That said, Ladybird is obviously far from becoming the daily driver for the average webizen. What do you think is going to be the first milestone where Ladybird is going to be able to be a real alternative (even if limited to certain use cases) and in what timeframe do you think this can be accomplished?
Also, do you already have any plans or ideas for how to improve the web browsing experience beyond what existing browsers provide or is your focus entirely on the engine catching up for now?
> What do you think is going to be the first milestone where Ladybird is going to be able to be a real alternative (even if limited to certain use cases) and in what timeframe do you think this can be accomplished?
At the moment, we are focusing primarily on our own use cases as developers, since those are the easiest to test and qualify. So websites like GitHub, web specifications, MDN, etc. are likely going to be very high fidelity before other parts of the web catch up ;)
> Also, do you already have any plans or ideas for how to improve the web browsing experience beyond what existing browsers provide or is your focus entirely on the engine catching up for now?
We are definitely focused on the engine catching up right now. There is an incredible amount of work to do, and we're doing the best we can :)
> Seeing someone ignore the naysayers and attempt the so-called impossible task of developing a new independent browser is awesome to see
According to Hacker News readers, the ladybird shouldn't be able to compete in the browser space. It's too difficult, the spec is too large, its competitors have large pockets. The ladybird tries anyway, because ladybirds don't care about what HN readers think.
Congratulations on the kick-off! Now that Ladybird is no longer a part of SerenityOS, will you consider a switch to a licence which not only grants, but also protects user freedoms (e.g. the GPL, MPL, EUPL)?
Also, any thoughts on having official communication channels on some open, freedom-respecting platforms, rather than Discord only?
Thanks F3nd0! There are currently no plans to switch to a less permissive license.
And we're perfectly happy using proprietary services like GitHub and Discord as long as they make our work easier and more enjoyable. We recently evaluated a number of alternatives, and found that they all introduced more friction than we were comfortable with.
Although the task of building a browser is itself challenging, we're a pragmatic project :)
Indeed. This is something I could see myself contributing to (or attempting to, anyway), but as soon as I saw Discord+Github, I lost all interest.
Github I can understand to some extent, it's a convenient temporary staying place until they can afford, community-wise, to move to something truly open, but Discord? In this day and age?
This is a welcome initiative speaking from a personal and professional perspective, and as CEO of an independent search engine; we are all too well aware of the power of money and defaults.
This immediately comes to mind as akin to the Signal vis-a-vis WhatsApp etc. Here there is an obvious reason to use Signal and a well-understood proposition. What might it be for Ladybird? And how will you differentiate?
To be honest, we are so far behind everyone else today that we're 100% focused on catching up technically, and not thinking much about differentiation. :)
That said, I do think we'll find ways to differentiate given our uncommon situation with no ties to the advertising industry. This gives us the ability to experiment with privacy measures more aggressive than others may be comfortable with for fear of losing funding, for example.
It depends on what you mean by “Mozilla’s fate”. In general, we are setting a much narrower goal than Mozilla and hope that focusing on only browsers will allow us to keep things simple and more sustainable financially. :)
I've heard Andreas Kling say that they will not accept donations that have strings attached. This means they can never sell search engine placement to Google for instance. This is what ties Mozilla to Google.
> we have almost half a million lines of modern C++ to maintain. ...We are actively evaluating a number of alternatives and will be adding a mature successor language to the project in the near future. This process is already quite far along, and prototypes exist in multiple languages.
What languages have prototypes and where can I learn more?
I wonder if they are thinking Swift - their C++ interop is still pretty new and has a way to mature, but it’s designed for exactly this [1] (we should expect Apple to start doing it with WebKit and other big C++ projects, even perhaps LLVM).
1. Legacy hardware support.
Is it a goal for Ladybird to build for 32-bit and big-endian CPUs out of the repository?
2. Electron.
Do you have any plans to work on an Electron alternative based on Ladybird further down the line?
No free Electron alternative other than Sciter seems to use the same browser engine on all platforms.
There may be value in one that implements the latest web standards.
1. We are not focusing on legacy hardware support. Given our release date is far in the future, we are mainly targeting the kind of devices most people will have a few years from now.
2. No concrete plans, but it's not outside the realm of possibilities.
Maybe item (2) is more up Servo’s alley than what Ladybird is trying to do? Servo seem to be focusing on making an embeddable engine, Ladybird is intended to be a full browser…
We're building one of these (out of a mix of servo, rust ui ecosystem and custom components). It's still pretty early (an initial alpha-quality 0.1 release is planned for the end of this month). We're planning to have a high standard of support for CSS and anything related to rendering, but we're not planning a JavaScript engine (although one could be added) with scripting being directly in Rust (with a Rust-based React alternative).
It's been so refreshing watching this project blossom from literally almost nothing. I wish you success :) Hopefully I can contribute at some point because I think this browser has the best chance of shaking up the monopoly, and I want to daily drive it.
We have a number of big challenges in the immediate future, but I think the biggest one of all will be the long tail of compatibility and correctness issues that inevitably awaits us after everything falls into place.
This is definitely more than a hobby at this point. I already manage 3 employees, with 3 more joining in the next month!
Andreas you and your story and your passion for the open web and open tech and your merry band of hackers are going to save the web. Bravo to you and the community that is helping to pull this off. I’ll be donating to help.
Here’s hoping one day I can move to LadyBird and leave the others behind.
Are you working full time on this now? How many people are working on it and about how much time per week are they able to do? Is this expected to hold steady or do expect changes over the coming weeks, months, or years?
Not trying to pry into your personal lives, just wondering because there's a lot of meaningful information behind the answers to those questions.
Yes! I'm already working on it full time, along with 3 employees. In the next month, we are bringing on 3 more.
Given the limitations of our funding model, we won't be building a huge team, but rather a small team that allows us to maintain a runway of at least 1.5 years. :)
Where on the roadmap is GPU compositing? In modern browser programming, I kind of take for granted that I can control the rendering “layers” and certain CSS properties, like “transform,” will be accelerated.
Edit: In Blink, the layer/compositing system extends to SVG elements inside SVG tags, as well, and in WebKit, it doesn’t yet, but there is an active years-long effort going back to 2019 that will eventually land: https://youtu.be/WxqJFxiprrU?si=dhQIgW1V4yS_Ca4s Compositing and using the GPU seems like a complex but important part of rendering in a browser, and a case where it could be good to implement the kind of system that other browsers have arrived at after years of iteration, when it comes time to do so.
> Where on the roadmap is GPU compositing? In modern browser programming, I kind of take for granted that I can control the rendering “layers” and certain CSS properties, like “transform,” will be accelerated.
AFAIK there's some support for it already, but it has to be enabled explicitly with --enable-gpu-painting. I can confirm that with that switch Ladybird can do 3D CSS transforms (which don't work without it).
What’s the biggest technical challenge you envision in the future? It’s the amount of “standards” you need to implement and maintain? What’s the JavaScript engine situation?
There are a ton of standards at a glance, but when you look closer, you realize that much of it isn't implemented by other browsers either, and you only need a fraction of it to render 90%+ of the web. The last 10% will be a huge challenge, but we've got a long way to go before then.
The JavaScript engine is our own LibJS, currently sitting at 94.3% pass rate on https://test262.fyi/ (although the number might be a little outdated, it's supposed to be higher! Need to investigate this..)
Finally get out from under Google's thumb. As soon as Ladybird is half as good as Firefox, then this is reason enough for me to switch. I've lost faith in Mozilla's leadership, and I believe the root cause is the Google money that they rely on.
Are you aiming for 100% compatibility with modern web standards or are you aiming for some sensible subset of it?
It seems to me that a large volume of code in Blink deals with obscure features with relatively niche use cases (such as WebRTC, WebUSB,WebGL, WebAudio and so on and so forth), which would mean a large amount of programmer effort for very little user-facing gain.
Additionally, in these areas, web standards tend to say 'whatever Chrome does', with FF often lifting large parts of Chrome code to support these features. Even if the above wasn't true, in practicality it is, since all clients are tested against Chrome, you'd need to follow all its quirks to have your browser be compatible.
Are you planning to do a clean room implementation of these features as well?
>niche use cases (such as WebRTC, WebUSB,WebGL, WebAudio and so on and so forth)
WebUSB is a lot more common than one might think, but I mostly see it used in music gear. Companies like Novation use WebUSB to facilitate firmware upgrades, backups, patch management, etc with their synthesizers and workstations.
Its pretty much a necessity for me at this point so that I can remain OS agnostic and still manage my gear.
Fantastic - I’ve been using a bootleg wrapper of your browser for awhile now. Fair seas ahead!
I also have a personalized build step on our pre-production web app that launches the site in Ladybird for my host. It’s been awesome to see the browser lock in functionality along with our own progress.
I remember watching one of the early videos of you starting working on the browser, and you said something along the lines of wanting a browser that was sort of a dumb renderer - one that didn't attempt to be a whole Operating System.
That was a long time ago indeed! To be honest, I think I was partly saying that because I was scared of the idea of supporting the entire web platform. It seemed so far away at the time. :)
Going forward, we want to support the open web as it exists, so you can actually use Ladybird to interact with all your websites. We may not agree that every web platform API is awesome and perfect, but we will honor the open standards to the best of our ability.
That’s right. A version of Ladybird remains in the SerenityOS repo, and people are cherry-picking changes as we go.
Over time, I expect them to diverge enough that this becomes impractical, as Ladybird now allows 3rd party code while SerenityOS does not. It’s up to the SerenityOS community how to handle this.
What's your point of view about quirks as you can find in other browsers and how do you plan to handle websites that rely on unintended browser behavior ?
These days, all major browsers are taking interoperability very seriously. There’s even efforts like the annual “Interop 202x” where people vote on which interop bugs browsers should focus on fixing.
We benefit greatly from this of course, and we will do what we can to contribute when we’re mature enough!
That said, there will always be websites relying on bugs, and for that we will need a way to selectively emulate alternate behaviors in some cases. We are looking at a few different solutions for this but it’s not a huge priority right now as there are far lower hanging fruit in front of us.
Bravo Andreas, and thanks for working on keeping the Internet neutral. It's a thankless, titanic effort against the Goliaths that want to make it their playground, and us their loyal subjects.
Can't wait for the day I can drop Firefox and use Ladybird full time.
Q1: given that all browsers support non-standard functionality (e.g., CSS attributes not ratified yet, etc) - how will you decide which non standard specs you’ll implement and which you won’t?
(or will you just use Chrome as a reference spec and implement anything it implements?)
Q2: what is your “guiding principle/mission”? Is it to be the fastest browser? The most privacy centric browser? The only 100% standards compliant browser? etc…
—-
Super excited for you. Wishing you the best in this and hope you change the world for the better.
I am a bit confused by the question. Why wouldn’t all commonly used defacto standards be supported? Or are you talking about obscure standards which no one uses?
Any browser that doesn’t display normal websites normally will never achieve mainstream usage. Who willingly handicaps their software?
Will you use Vulkan when it comes to gpu accel or OpenGL?
Will you make better adblocking capabilities by embedding faster checks and rule engines/lookups in c++ than what we have now?
How much can people who do not contribute code affect development? In terms of requests suggestions? E.g. if I would suggest to skip OpenGL and use Vulkan (so basically defining a limit on how old should the hw be), would this be even considered?
Hey please be sure to design and at least mock out a way to host/run a collection of local LLM models in a generic manner. You could give the models access to context/content/history and to bubble up functionality within the browser. I can see tons of potential for something trusted and local which I'm comfortable giving full access to browsing history and not owned by big tech.
This could be key differentiator over other browsers.
I agree, though this does not seem like something that should be built until the browser is at least usable, which currently they're projecting an alpha release in 2026. By then things might be totally different, so don't architect yourself into a corner with it, but I also wouldn't invest much or any time into it right now. Focus on building good APIs/extension points though, and those will be immensely useful whether for local LLMs, extensions, or anything.
Do you see Ladybird beating the incumbent browsers in any dimension .e.g. performance, usability?, security, etc?
Personally, I much prefer developing for the web than native so if there were APIs exclusive to Ladybird it might create a nice virtuous cycle of developers targeting Ladybird to do new things and users using Ladybird to try those new experiences.
As someone who has very little experience working on a browser, but is interested in helping, could you possibly recommend where a dumb dude that wants to help could get started?
There's probably a huge influx of people trying to get involved now, which probably really complicates and muddies the waters right now as well.
Would be awesome to have the UI/UX of arc with non-chrome browsers! It's the most productive browser ever, with the spaces and the bar on the left. Safari doesn't come close I'm afraid, as it closes all the windows when switching a space
We’re always open to new developers! Find a website that doesn’t work right, then try to figure out why, and see if you can fix it :)
The best for a beginner is usually to start with some simple page you made yourself, since you know how it’s supposed to work, and can debug more easily.
And come join us on Discord, there are new people getting into the codebase all the time :)
Just wanted to add a note for the roadmap: Please make sure it can compete with Safari on battery usage, so those who are mobile on a Mac are not left behind.
Hey kosolam! There are already many forks and ports of existing browsers. Do we really need another one? :)
By building a new engine, we can increase ecosystem diversity and put all these open standards to the test. We regularly find, report, and sometimes even fix bugs in the various web standards - stuff we find just by being the first to try and implement everything from scratch in a long time!
We also believe it’s good for the world to have more engines that aren’t directly or indirectly funded primarily by the advertising industry.
I'm also curious about this. When it was just a toy project it made sense to write everything from scratch. If it's supposed to eventually be usable by people, a hard fork of Chromium, or at least some Chromium components might make more sense. Having a browser that improves hackability and user freedom while working just as well as Chromium sounds like heaven to me. Anyways, I'm clueless about browser development so I might be completely wrong.
It's an unmaintained prototype without anyone actively working on it.
Once we get the desktop version into decent shape, we will direct more attention to mobile platforms. At the moment there's just too much important low-hanging fruit that's easier to develop (and debug!) on desktop :)
Please. If you ever reach feature "parity" that is sanely competitive with something like Firefox or Chrome and have regular everyday production ready releases. Please. Please. Do not turn into Mozilla where you waste funds. Make a paid version and I will gladly pay for it monthly if it means you will put all the profits (or most) into development efforts exclusively. I'm still sour at how much money Mozilla wastes (and Wikipedia for that matter), they had so many great initiatives and projects they have tossed.
Please forgive me if this was talked about already, but I don't see it. Do you have any thoughts on Web3 support of any kind? Metamask enabled dApp development, but it hasn't evolved particularly well. There have been other attempts to replace Metmask with a better wallet such as Coinbase's wallet or Tally. But I think the whole paradigm needs a rethink. Is any of this even on your radar at all?
What can you do with $1M? Writing a web browser is difficult, so the salary for 1 developer is about $300k/year. Then you can have 3 developers. Can 3 developers create a web browser in a year? I don't think so. If those 3 developers can do that, then they'll ask for more than $400k/yr/person. That means, IMO, this project will go nowhere. However, any project that can create jobs is good, in fact very good.
I know that many on HN can't imagine it, but a lot of us work for less than that for any number of reasons:
* We're already making a top 5% income for our area and have more than enough for our needs and even an early retirement.
* We get non-monetary benefits from our job like WFH and/or flexible scheduling.
* We're working on projects that excite us and make us happy to go to work and that matters more than total comp.
Money aside, I'd rather see Ladybird hire 6 developers who are seriously passionate and live all across the world than see them hire 6 Bay Area developers who think they're better because they ask for more comp. That the passionate and global developers are cheaper is just a nice bonus.
>Why build a new browser in C++ when safer and more modern languages are available?
>Ladybird started as a component of the SerenityOS hobby project, which only allows C++. The choice of language was not so much a technical decision, but more one of personal convenience. Andreas was most comfortable with C++ when creating SerenityOS, and now we have almost half a million lines of modern C++ to maintain.
>However, now that Ladybird has forked and become its own independent project, all constraints previously imposed by SerenityOS are no longer in effect. We are actively evaluating a number of alternatives and will be adding a mature successor language to the project in the near future. This process is already quite far along, and prototypes exist in multiple languages.
Nice to see. The only thing that would meaningfully set it apart from the others would be to have a core that isn’t a big ball of C++. That would potentially allow it to be developed and maintained with less resource than the other browsers, and that would be the only way this ever reaches any kind of impact.
Will Jakt be used as a C++ replacement long term? Going Rust for Ladybird is probably too far fetched given the sheer amount of C++ code. And also, Jakt seems to solve the memory safety problem while still giving C++ performance.
I kind of hope it stays with C++. C++ has been around for decades and is the gold standard for large performance applications, if they used python like many open source projects I worry it would be too slow, and rust feels like a fad
Let us hope it is not a fad. It is already in the windows kernel, android, and chrome in addition to Firefox. MS, google, and the NSA have all said to stop using languages like c and c++.
I think that's too pessimistic. The code is there and it can be used to push the project forward. If some part of it is not good enough, then an alternative implementation can be created (potentially in a different language)
Also the web standards themselves are written in an object oriented style. Using a non oo language like rust is therefore an uphill battle where you end up fighing against the language. The web standards just lend themselves naturally to be implemented in an oo language like c++.
I think that pioneering the work of reimplementing web standards in not strictly OOP language will make the implementation easier for anyone else in the future, surely many of the problems exist by virtue of being done for the first time
The browser is good, but Mozilla has been consistently losing market share despite being well-funded. There is considerable debate as to what specific mistakes were made, but the foundation spent a lot of money on side projects that did not benefit the browser such as Servo, Rust and FireFox OS. Likely market share could have been improved had this been spent on marketing or engineering work that directly benefited the browser.
Hard disagree. If you're a fan of the strictly functional "what's CSS?" look, you might as well stick to viewing README.md on GitHub and call it a day.
This design makes it look like something that is looking for developer contributions. The original looks like something where a sales chatbot is likely to pop up in the corner.
I love this version SO MUCH BETTER. Clean, easy to read and I don't have to scroll down for half an hour to get to the bottom. I hate "modern design", whatever it is. To much padding, to much useless css and styles.
The original sure looks bland, but a HTML4-esque webpage gives absolutely the wrong message about the maturity level of a browser regardless of how much more usable it may be. Branding matters even if it's a tough pill to swallow.
Maybe it's because they want their website to work in their own browser ;)? I can see that if they start off simple with the browser, they start off simple with the website too, and it progressively grows with the browser.
Interesting, as the icon present on the parent user's site seems to be an even earlier, less refined (and clearly AI generated) version than the prior iteration[1] before changing to the abstract design.
It is a great honor to see a website I designed and coded at the top of the Hacker News front page! A big thank you to Chris Wanstrath for allowing me to work on it. I hope Ladybird becomes a mainstream browser, and I feel this is a moment similar to when Firefox rebranded from Phoenix.
No talk of the license on the frontpage. Visiting the GitHub repo tells me it is 2-clause BSD license. It's high time we had a GPLv3 web browser, otherwise, this risks the same fate as the rest of the browsers with proprietary forks.
This of course comes at the cost of not being able to support non-free parts of the web standard such as DRM.
Perhaps BSD in its anarchic freedom is compelling to the kinds of people who decide to do something crazy like building a brand new browser engine from scratch, and GPLv3 with its detailed rules and regulations is compelling to people who like to talk about how they wish the world had more software licensed under GPLv3.
Open source isn’t handed down from God, it starts with one person deciding to type mkdir.
There is absolutely nothing wrong with have proprietary forks. They exist for good reasons -- either a new browser or get embedded in another product which provides value for their end users. They may (or may not) contribute back to the original projects with bug reports, fixes and features.
Sorry this is not the GPLv3 everywhere world you are dreaming of, and I'm glad it works this way.
Like others said, if you want to have a GPLv3 licensed browser (that will probably be as unusable as GIMP), write one yourself.
Absolutism like this hurts adoption of otherwise-useful tools. Given the choice between a tool which simply cannot play DRM-protected content, and a tool which can, _ceteris paribus_ most consumers will prefer the former. If you believe there are other properties of a proposed tool that mean it is a public good for it to be adopted, it behooves you to make it attractive to adopt.
Or GPLv2 with binaries loaded at runtime, like Linux does. This is a definitive good candidate for v2 as not having DRM is simply just not going to work.
I think people in this comment section are too harsh on the website. I think the design is pleasing and functional, and the project is communicated about clearly. The AI laptop is a bit of a shame, and the logo being bland instead of clever is a bummer, though. But plenty of products have a similar front page style, and it doesnt make me feel like it's a soulless startup.
I agree, after reading the comments, I was expecting a complete monstrosity, but it's a simple, informative website. That style of website design is used because it's appealing and easy to parse. I'm not sure what people were expecting.
I must admit I'm not crazy about the logo though. It's fine at the top of a page, but I cant see it as my browser icon on my desktop, and it's much less appealing and identifiable than the old Ladybird.
I actually really like the logo. It's a simple, mathematically-defined curve that also resembles an abstract ladybird opening its wings. You don't find that clever?
I think this is more for the end user. If the eventual goal is to convince people to use this instead of Chrome or Safari it is probably going to be a hard sell if it looks like a hobby project.
Nitpick (or is it?) but the website is soulless and just bad. The website design communicates that this is just another immature project, desperately looking for a VC funding, just following modern design trends where "design == aesthetics". Yuck.
I don't know if that's true for non-developers. (Of course non-developers aren't the target yet, but they hopefully will be in the future.) I'd assume that non-developers are usually the main audience for a project website like this.
Developers can simply look at the Github readme and get their near plain text overview there.
We're all nitpicking no matter what our thoughts are on the design. I have my own thoughts on the design, but I'm more excited about the product than to put any more care in what the website looks like. It's easy enough to ignore and doesn't have an effect on the product.
> Nitpick (or is it?) but the website is soulless and just bad.
It is a nitpick, and the website works just fine for conveying what Ladybird is & what the project will be doing: The elevator pitch given was straightforward & at the top of the main page.
Have to agree, though I think as the saying goes, "don't hate the playa, hate the game". Capitalism sucks. Sorry for my non-HN-like comment, but it's the truth.
Here's a short video from Chris Wanstrath announcing our non-profit yesterday, and kicking things off with a $1M donation: https://www.youtube.com/watch?v=k9edTqPMX_k
Happy to answer questions :)
Of course, it has a long way to go before it is going to be a good daily driver, but I truly believe this is the beginning of something great. I've been consistently surprised by what works, and the rate of improvement is staggering at times.
My question: Has anyone given any thoughts regarding the stance to take with DRM features, e.g. Widevine/Encrypted Media Extensions? It seems like since our previous stewards of the open web didn't care enough, now making a browser with substantial marketshare without this may be hard. Seems like a hard problem, I really do wonder where Ladybird will stand if it continues on its current lightning fast trajectory.
I don't think it should have to be in the browser. I would like the option to watch the content. I know the while process of DRM is stupid and will be side stepped somewhere.
But with the updates, it wild to see progress moving steady but impressively. And the last year - wow! With all the donations, there is now a path towards a real viable alternative rather than something that looses interest as contributors lives get in the way.
I love that you are no over promising and have provided a reasonable time line, it is the kind of restraint that typically gets things done rather than promising the world up front. I love it and look forward to where this goes from here and it could end up in some very odd places.
If in 2001 you where to say that KHTML would be the core base of the majority of web browsers in 15 years, you would have been a great joke. And look at what happened. The big thing is to keep a Richard Stallman like resolve to do what is right for the people, even if it means a little less personal success.
Be well.
First, thanks for this project and making your self accessible!
Will "plug-in" or "add-on" support be a first-party concept in Ladybird?
I ask that because in years past a few other browsers (Konqueror, Falkon, Dillo, etc) made it pretty far but lacking add-ons, useful capability such as 'NoScript' or 'uBlock' or even a tab manager made them non-starters.
Plus there are plugins for dillo... https://dillo-browser.github.io/#plugins
That said, Ladybird is obviously far from becoming the daily driver for the average webizen. What do you think is going to be the first milestone where Ladybird is going to be able to be a real alternative (even if limited to certain use cases) and in what timeframe do you think this can be accomplished?
Also, do you already have any plans or ideas for how to improve the web browsing experience beyond what existing browsers provide or is your focus entirely on the engine catching up for now?
At the moment, we are focusing primarily on our own use cases as developers, since those are the easiest to test and qualify. So websites like GitHub, web specifications, MDN, etc. are likely going to be very high fidelity before other parts of the web catch up ;)
> Also, do you already have any plans or ideas for how to improve the web browsing experience beyond what existing browsers provide or is your focus entirely on the engine catching up for now?
We are definitely focused on the engine catching up right now. There is an incredible amount of work to do, and we're doing the best we can :)
Well the impossibility isn't so much in making a browser but making a browser that manages to get a chunk of web audience.
That means presence on mobile, feature and performance parity with Chrome, surprasing Chrome on some level (e.g. Safari having better vendor lock-in).
According to Hacker News readers, the ladybird shouldn't be able to compete in the browser space. It's too difficult, the spec is too large, its competitors have large pockets. The ladybird tries anyway, because ladybirds don't care about what HN readers think.
Inspired by https://www.goodreads.com/quotes/823379-according-to-all-kno...
Also, any thoughts on having official communication channels on some open, freedom-respecting platforms, rather than Discord only?
And we're perfectly happy using proprietary services like GitHub and Discord as long as they make our work easier and more enjoyable. We recently evaluated a number of alternatives, and found that they all introduced more friction than we were comfortable with.
Although the task of building a browser is itself challenging, we're a pragmatic project :)
Github I can understand to some extent, it's a convenient temporary staying place until they can afford, community-wise, to move to something truly open, but Discord? In this day and age?
So he knows that corporations can take open source browsers and make it proprietary.
This immediately comes to mind as akin to the Signal vis-a-vis WhatsApp etc. Here there is an obvious reason to use Signal and a well-understood proposition. What might it be for Ladybird? And how will you differentiate?
That said, I do think we'll find ways to differentiate given our uncommon situation with no ties to the advertising industry. This gives us the ability to experiment with privacy measures more aggressive than others may be comfortable with for fear of losing funding, for example.
https://servo.org/
Servo wants to build an embeddable engine for controlled sets of HTML/CSS/JS content, with a focus on modularity and parallelism.
Ladybird wants to build a usable browser for the open web, warts and all, with a focus on compatibility and correctness.
I'm a big fan of Servo and I hope they become a huge success! Competition and new ideas in browser engines will benefit all of us! :)
https://wiki.mozilla.org/Past-projects
Indeed, I doubt very much that Ladybird will get there.
What languages have prototypes and where can I learn more?
1. https://www.youtube.com/watch?v=lgivCGdmFrw
1. Legacy hardware support. Is it a goal for Ladybird to build for 32-bit and big-endian CPUs out of the repository?
2. Electron. Do you have any plans to work on an Electron alternative based on Ladybird further down the line? No free Electron alternative other than Sciter seems to use the same browser engine on all platforms. There may be value in one that implements the latest web standards.
2. No concrete plans, but it's not outside the realm of possibilities.
https://github.com/DioxusLabs/blitz
Thanks again for your hard work!
This is definitely more than a hobby at this point. I already manage 3 employees, with 3 more joining in the next month!
Here’s hoping one day I can move to LadyBird and leave the others behind.
Bravo again.
Not trying to pry into your personal lives, just wondering because there's a lot of meaningful information behind the answers to those questions.
Given the limitations of our funding model, we won't be building a huge team, but rather a small team that allows us to maintain a runway of at least 1.5 years. :)
Edit: In Blink, the layer/compositing system extends to SVG elements inside SVG tags, as well, and in WebKit, it doesn’t yet, but there is an active years-long effort going back to 2019 that will eventually land: https://youtu.be/WxqJFxiprrU?si=dhQIgW1V4yS_Ca4s Compositing and using the GPU seems like a complex but important part of rendering in a browser, and a case where it could be good to implement the kind of system that other browsers have arrived at after years of iteration, when it comes time to do so.
Will the JS engine still be LibJS?
AFAIK there's some support for it already, but it has to be enabled explicitly with --enable-gpu-painting. I can confirm that with that switch Ladybird can do 3D CSS transforms (which don't work without it).
The JavaScript engine is our own LibJS, currently sitting at 94.3% pass rate on https://test262.fyi/ (although the number might be a little outdated, it's supposed to be higher! Need to investigate this..)
https://mozilla.github.io/standards-positions/
https://www.webkit.org/standards-positions/
https://chromestatus.com/newfeatures
It seems to me that a large volume of code in Blink deals with obscure features with relatively niche use cases (such as WebRTC, WebUSB,WebGL, WebAudio and so on and so forth), which would mean a large amount of programmer effort for very little user-facing gain.
Additionally, in these areas, web standards tend to say 'whatever Chrome does', with FF often lifting large parts of Chrome code to support these features. Even if the above wasn't true, in practicality it is, since all clients are tested against Chrome, you'd need to follow all its quirks to have your browser be compatible.
Are you planning to do a clean room implementation of these features as well?
WebUSB is a lot more common than one might think, but I mostly see it used in music gear. Companies like Novation use WebUSB to facilitate firmware upgrades, backups, patch management, etc with their synthesizers and workstations.
Its pretty much a necessity for me at this point so that I can remain OS agnostic and still manage my gear.
I also have a personalized build step on our pre-production web app that launches the site in Ladybird for my host. It’s been awesome to see the browser lock in functionality along with our own progress.
Does Ladybird still follow that ideal?
Going forward, we want to support the open web as it exists, so you can actually use Ladybird to interact with all your websites. We may not agree that every web platform API is awesome and perfect, but we will honor the open standards to the best of our ability.
But please do consider putting up some screenshots of the browser - including how it renders the popular sites.
Over time, I expect them to diverge enough that this becomes impractical, as Ladybird now allows 3rd party code while SerenityOS does not. It’s up to the SerenityOS community how to handle this.
We benefit greatly from this of course, and we will do what we can to contribute when we’re mature enough!
That said, there will always be websites relying on bugs, and for that we will need a way to selectively emulate alternate behaviors in some cases. We are looking at a few different solutions for this but it’s not a huge priority right now as there are far lower hanging fruit in front of us.
Can't wait for the day I can drop Firefox and use Ladybird full time.
Dead Comment
(or will you just use Chrome as a reference spec and implement anything it implements?)
Q2: what is your “guiding principle/mission”? Is it to be the fastest browser? The most privacy centric browser? The only 100% standards compliant browser? etc…
—-
Super excited for you. Wishing you the best in this and hope you change the world for the better.
Any browser that doesn’t display normal websites normally will never achieve mainstream usage. Who willingly handicaps their software?
Will you use Vulkan when it comes to gpu accel or OpenGL?
Will you make better adblocking capabilities by embedding faster checks and rule engines/lookups in c++ than what we have now?
How much can people who do not contribute code affect development? In terms of requests suggestions? E.g. if I would suggest to skip OpenGL and use Vulkan (so basically defining a limit on how old should the hw be), would this be even considered?
This could be key differentiator over other browsers.
Personally, I much prefer developing for the web than native so if there were APIs exclusive to Ladybird it might create a nice virtuous cycle of developers targeting Ladybird to do new things and users using Ladybird to try those new experiences.
There's probably a huge influx of people trying to get involved now, which probably really complicates and muddies the waters right now as well.
Either way, congrats!
The best for a beginner is usually to start with some simple page you made yourself, since you know how it’s supposed to work, and can debug more easily.
And come join us on Discord, there are new people getting into the codebase all the time :)
Best of luck!
By building a new engine, we can increase ecosystem diversity and put all these open standards to the test. We regularly find, report, and sometimes even fix bugs in the various web standards - stuff we find just by being the first to try and implement everything from scratch in a long time!
We also believe it’s good for the world to have more engines that aren’t directly or indirectly funded primarily by the advertising industry.
Here's a tweet with a couple of diagrams that illustrate how much control Google has over all browsers (including Firefox and Safari): https://x.com/awesomekling/status/1793937129250214344
Once we get the desktop version into decent shape, we will direct more attention to mobile platforms. At the moment there's just too much important low-hanging fruit that's easier to develop (and debug!) on desktop :)
Deleted Comment
Dead Comment
Dead Comment
* We're already making a top 5% income for our area and have more than enough for our needs and even an early retirement.
* We get non-monetary benefits from our job like WFH and/or flexible scheduling.
* We're working on projects that excite us and make us happy to go to work and that matters more than total comp.
Money aside, I'd rather see Ladybird hire 6 developers who are seriously passionate and live all across the world than see them hire 6 Bay Area developers who think they're better because they ask for more comp. That the passionate and global developers are cheaper is just a nice bonus.
>Ladybird started as a component of the SerenityOS hobby project, which only allows C++. The choice of language was not so much a technical decision, but more one of personal convenience. Andreas was most comfortable with C++ when creating SerenityOS, and now we have almost half a million lines of modern C++ to maintain.
>However, now that Ladybird has forked and become its own independent project, all constraints previously imposed by SerenityOS are no longer in effect. We are actively evaluating a number of alternatives and will be adding a mature successor language to the project in the near future. This process is already quite far along, and prototypes exist in multiple languages.
[0] https://github.com/SerenityOS/jakt
https://doc.rust-lang.org/book/ch17-00-oop.html
https://assets.mozilla.net/annualreport/2022/mozilla-fdn-202...
I want ladybird to succeed and show the world how ridiculous the Mozilla situation has been.
I quickly put together a "cleaner" design for anyone interested, which also uses the original (and objectively better) logo:
https://ladybird-dev.netlify.app/
2. gives black text white background
3. now its "clean(er)"
4. "also your old logo is objectively better"
This isn't design work.
[1] https://web.archive.org/web/20240208004519im_/https://ladybi...
P.S. Check out my UI/UX portfolio at https://hipfolio.co
https://hicks.design/journal/firefox-logo?trk=feed-detail_co...
This of course comes at the cost of not being able to support non-free parts of the web standard such as DRM.
Then write one.
Perhaps BSD in its anarchic freedom is compelling to the kinds of people who decide to do something crazy like building a brand new browser engine from scratch, and GPLv3 with its detailed rules and regulations is compelling to people who like to talk about how they wish the world had more software licensed under GPLv3.
Open source isn’t handed down from God, it starts with one person deciding to type mkdir.
So poetic! I love that sentence!
Sorry this is not the GPLv3 everywhere world you are dreaming of, and I'm glad it works this way.
Like others said, if you want to have a GPLv3 licensed browser (that will probably be as unusable as GIMP), write one yourself.
That would be a benefit, not a cost.
LGPLv3 would solve that, wouldn't it?
I must admit I'm not crazy about the logo though. It's fine at the top of a page, but I cant see it as my browser icon on my desktop, and it's much less appealing and identifiable than the old Ladybird.
I am happy to see the project thrive.
Developers can simply look at the Github readme and get their near plain text overview there.
We're all nitpicking no matter what our thoughts are on the design. I have my own thoughts on the design, but I'm more excited about the product than to put any more care in what the website looks like. It's easy enough to ignore and doesn't have an effect on the product.
It is a nitpick, and the website works just fine for conveying what Ladybird is & what the project will be doing: The elevator pitch given was straightforward & at the top of the main page.
That might play if this was another Chromium fork, instead of something built from scratch.