It's been so inspiring to see him and his crew of hackers build a new, independent browser from scratch. I must admit I didn't think it was possible on this small scale in terms of man hours and funding.
However, the thought has also crossed my mind if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back. While the web is of course still evolving, it feels more "settled in" than 10-15 years ago.
There's also the factor that past developers didn't have the more complete roadmap set when they initially planned browser design, but now we have huge amounts of web standards already there AND also know how popular they got over time i.e. what to prioritize to support a modern web. One might superficially think there's simply more of everything, but I also think ideas that can be discarded. Just imagine that Internet Explorer had XSLT support, and FTP was common once upon a time!
It would be interesting to hear more about their own thoughts on these topics!
Edit: My bad; XSLT is still commonly supported and by all major browsers but a rarely used feature and stuck in limbo in XSLT 1.0. So it's probably among those things that can be safely omitted for quite some time.
> It's been so inspiring to see him and his crew of hackers build a new, independent browser from scratch. I must admit I didn't think it was possible on this small scale in terms of man hours and funding.
Thanks jug! I'm super proud of all the folks who have worked on it with me :^)
> However, the thought has also crossed my mind if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back. While the web is of course still evolving, it feels more "settled in" than 10-15 years ago
This is definitely true! I've worked on browsers on and off since 2006, and it's a very different landscape today. Specs are better than ever and there's a treasure trove of tests available.
It is not any easier, because we still have a monopoly running the show, only it's not called Microsoft anymore.
If anyone threatens Google position, they can literally throw money at the problem, invent some overcomplicated standard, implement it in Blink, and have the competition chase them. It doesn't need to go through W3C either, if it works in Chrome, all web developers will adopt it and any smaller engine will necessarily have to support it or risk losing whatever little market share they have left.
Having control of the internet now is of greater strategic importance than it was 20-30 years ago when Microsoft was king of the hill.
> if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back.
Writing a web browser was hard in the old days for a lot of reasons, but trying to write a full-featured one today is a huge undertaking and we're still adding a bunch of new features all the time and expecting browsers to support them
> if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back.
Probably not. Yeah we have web standards and some idea of how to architect it, but the total set of APIs and HTML/CSS features a browser supports is probably changing faster than the Ladybird team can actively implement it. The API surface is just impossibly large compared to 10 or 15 years ago. Look at all of these: https://developer.mozilla.org/en-US/docs/Web/API
And that doesn't include the updates to Javascript, MathML, SVG, HTTP-based security features, encryption or media support.
The web as a platform keeps getting better. As someone who's been developing for it for a living since 1998, I'm delighted to see and to share things like "Interop 2024"^1 and Web Platform Tests ^2, which are improving the adoption pace and reliability of key platform features:
IMO most of the complexity of modern browsers is in all those strictly optional, app-like features. PWAs, service workers, JS JIT and all that stuff. If you want to build just a hypertext viewer, not a full-fledged OS/application environment, just leave them out and nothing of value will break. Things also become substantially simpler if you aren't looking to make your JS execution as performant as theoretically possible (and you don't really need to with how most websites actually use JS).
It would be a bummer IMO to see XSLT abandoned. Its still a really interesting approach to the web and an alternative to today's JS-heavy client rendering.
The idea of being able to ship an XML template with basic logic like for loops alongside the actual XML data source is really unique today. If people cared to use XML at all, that really does cover quite a few use cases that we current reach for JSON + client JS today.
It's really quite incredible that one guy basically started a project to create a whole operating system from scratch for fun and to give himself something interesting to do, and then accidentally created one of the most viable new browser engines in a decade or two...
I've been watching the development videos for a year or two, and the speed that this has progressed in such a short time is unbelievable. Now they have multiple volunteers and enough sponsorship to pay more than one developer, it's pretty exciting what could happen here!
He is a world expert on Web rendering, and an extremely capable C++ developer. One of their success recipes is to code up the various specifications directly, which is - today - the best way to go about this. They are also heavily test-driven.
He did not even use the C++ standard library, when he says "from scratch" it includes his own string class, for better or worse, which is fine since it's "just for fun", "to learn" etc.
And just when you think a library and an OS are crazy, he announced a browser and a JavaScript engine on top. Then a JIT compiler, then Jakt, their own novel programming language, because neither C++ nor Rust is what makes him perfectly happy.
More than his expertise I admire his modesty and kindness - unlike Linus etc. he is not full of himself, and each of his videos gives lots of credit name by name of who did what. A perfect role model for open source.
I have hopes it will become a daily usable browser. A new Web engine is great. I hope Servo succeeds at this too.
I would consider contributing but development is coordinated on Discord and I avoid proprietary software… [1]. It's a shame. Can't blame them though, they are doing it for fun.
Wow - that article was a tough read. I like a LOT of what Drew has to say, but this seems over the top.
He claims that authors promoting their open source software on channels like Twitter, Hacker news, LinkedIn or even Github is "selfish and unethical outright":
> Many projects choose to prioritize access to the established audience that large commercial platforms provide, in order to maximize their odds of becoming popular, and enjoying some of the knock-on effects of that popularity, such as more contributions.
> To me, this is selfish and unethical outright, though you may have different ethical standards.
I find Zealotry like this tough, and promotes a definition of FOSS that feels hostile against those who want to simply build something cool, and share it with the world - (or even more controversially, make money from FOSS).
Given such a strong view, it's really surprising that he then posts stuff like "Can I be on your podcast"[1] to try to promote Hare - his programming language.
He didn't ask for podcasts that aren't distributed on platforms like Spotify or Apple Podcasts. In fact - he's right there with several appearances promoting Hare.
Great to see some competition still alive in browser engine development. See also Servo (previously part of Mozilla) https://servo.org/ - that and Ladybird are still very underdeveloped compared to every day browsers.
It's a huge shame that there are no nightly builds of ladybird to try out but I assume that's because they just don't want the bug reports (if everything doesn't work it's pointless getting random bugs filed).
Last I tried Ladybird didn't take very long to build. This was admittedly sometime last year and it's likely slower now, but still. It's very far from a 9 hour chromium build.
IIRC there are no builds because forcing people to compile it themselves ensures that users (and people who file issues) have a certain amount of technical competency. Keeps life easier for maintainers, but will probably change if/when the project matures.
Looking at the timestamps, the pace of progress just him working alone in the beginning is nothing short of amazing. He seems to be a true jack of all trades when it comes to programming.
A thought experiment. What about a new kind of browser for a new kind of web? Much of CSS is obsolete. So doing a "modern" version (I'm thinking css grid and flex in particular) would provide the same functionality without the cruft. All that old stuff about the holy grail three columns layout.
And for me there is the question of canvas, threejs, react-three-fiber and react-drei. Is it possible that - especially with mobile - that canvas could be used to provide a better user experience? Who writes games for mobile with a HTML and CSS? Not saying it can't be done, but I wonder how many web sites require HTML & CSS instead of canvas?
A big barrier to browser competition is needing to implement obsolete and outdated technology. Why not just a minimum set of html and canvas.
I've worked a bit on browser engines, although it was quite some time ago.
I don't think it'd help much.
- There's been a Cambrian Explosion in the web API surface era. The modern stuff dwarfs the old stuff. Dropping support for older/less frequently used mechanisms does not shed as much code and complexity as you might think.
- Beyond mere surface area, the level of engineering required to implement a sort of "Restricted Core Profile" to a competitive degree (e.g. performance) is quite high, if you're talking true blank-canvas development.
- There's a long tail effect in full force, where even mostly-modern websites will use and rely on some cruft here and there, making very few pages work in your supposed browser.
That is to say, it's still a very large, tough project. But the FOSS community has achieved quite a few large, tough projects; it's not the same as saying that it's not possible, of course.
Please stop following Google who is trying to turn the Web into an OS for their own ad-fueled, user-tracking profit.
If you want to make connected (or not) apps, there's already the Internet and OSes for that. And you don't have to make your interface worse by fighting with the browser about it ! (Especially important for games and other "deep" software.)
The whole point of the Web is to be an hyperlinked collection of documents, sometimes multimedia, with maybe a little bit of interactivity with some forms and scripts sprinkled on that.
(As an example to how incongruous the current situation is, imagine a parallel universe where it was Adobe rather than Google that got humongous, and it was the JavaScript in PDFs that was (ab)used instead to make apps.)
What exactly is obsolete about css? There are still valid use cases for float and inline block. border-box also fixes most of the teeth-gnashing from the 00s. I think it's a nice idea but I don't see what would get cut. Tables are still best for actual tables of data, too.
I dunno, he's pretty committed to his positive utlook on things. Mastodon seems to be the far angrier place in comparison to Twitter. Twitter used to be a lot more like that, but it seems like most of the angriest people on twitter moved ot mastodon when Elon took over.
It's (IMO) very pronounced and hard to avoid on Mastodon.
How many days can Google resist the urge to charge 30% for payments on Chrome after Chrome gets all the marketshare and the last drops of Mozilla are milked by the CEO? It's both good PR and a hedge against an (unlikely) bad scenario in the future.
Are there any plans to rewrite the browser implementation in the Jakt language once that gets a bit more stable? Memory safety would be a unique advantage over other browsers (aside from Servo).
I am also looking forward to that, but I think the Serenity philosophy is to not make any long term plans and commitments.
If the language becomes mature enough, and there are people interested enough in doing that porting, it will likely happen.
I think their C++ code is also constrained enough due to the use of their custom standard library that it would be possible to write a transpiler from C++ to Jakt.
There are no concrete plans for anything with the Serenity ecosystem. But the main design goal of Jakt was originally for developing mainly GUI applications in SerenityOS. But if Jakt ever gets used in SerenityOS, a gradual rewrite of the libraries underlying the browser engine seems likely to me.
I will note though that development on the Jakt language has slowed down significantly. After extremely fast initial development, most Serenity developers no longer contribute to the language. Because everything is done exclusively when the contributors feel like it, development happens in bursts. And right now, Andreas is not actively working on Jakt, so very little improvement is happening there. The main developer working on the language is Ali Mohammadpur, but I don't think he is currently being paid to work on the project. So his contributions are also inconsistent.
"Usable" as a term is a bit of a wash in the browser world. Some people will argue Firefox or Chrome are unusable due to some minor annoyance and others will say filling is still usable. Trying to give an answer though I'd say most will say it works with most sites in a few years time but most would also not recommend it due to security concerns. It's not that they haven't thought about security, sometimes they even try newer more segmented approaches than current major browsers use, just that everything has been done from scratch and the work to make the code safe and battle tested as other browsers would be more than the work to make the browser to that point.
Not my experience at all. Firefox works great for all the popular sites and 99+% of the unpopular ones. The trouble comes with websites that generally seem shoddy. I haven't had to install and delete Chrome for a long time!
In many many years of Firefox use, it has always loaded my sites with perhaps only one exception, but that was an odd graphics css treatment the signed out Patreon homepage used, probably fixed by now.
> I would love to use this as my daily driver, but a lot of popular sites don't even work with Firefox.
you mean minor aesthetics differences or functionality? I just use firefox, I don't even have chrome, and everything works. And I use mainstream web, nothing too niche.
small group of lazy front-end people? i think you actually mean a small group of chrome developers single-handedly deciding how web should work, while having the vast majority of the market share to push those decisions.
I exclusively use Firefox, and I probably browse more websites than most. I very rarely run into websites that don't work on Firefox, and I can't recall the last time I ran into a page that didn't work on Firefox when serving a Chrome UserAgent (btw, if you're a web developer and you're accessing your user's UA, you're doing something horribly wrong. Stop).
Which sites don't work with Firefox? I'm a daily Firefox user for 15 years now and I can count on a few fingers the amount of sites that were "broken" in FF (and weren't a legacy IE issue).
Are you sure they are lazy? Maybe they are overworked, exhausted and constantly pressured by management to output new features? Did you ever work as a front end developer?
I want to feel excited for Ladybird, but it's an incredible shame that such a promising and potentially very important project has settled on a pushover licence and Discord for their communication platform. The latter especially is an antithesis of freedom and openness, which I feel ought to be valued by people celebrating Ladybird's progress.
They used IRC but they switched because IRC is just too inconvenient. Discord is proprietary, but it works really well for them. They chose to be pragmatic.
It sounds cool, and it’s nice that someone is disproving the myth. I use Qutebrowser daily, these projects are great, but not without their pain points: once you start using them in anger you’ll quickly realise lots of basic features are missing.
It would be really nice if the more common oss libs had more work done on them to unbloat them
Is there a way to create a binary to use this browser in a normal-ish way. Looks like the docks recommend using a script to run it, but I’d like to be able to package it for my personal package repository.
I just made a wrapper script that calls the script in the serenity repo (which I cloned into my home directory) and put the script in PATH e.g. in /usr/bin/ladybird.
The content my script.
> #!/usr/bin/env bash
> cd ${HOME}/serenity && ./Meta/serenity.sh run lagom ladybird
I guess you could create a .desktop file that invokes the script, or just the "serenity.sh" script directly.
Ohne Makler sponsored the project with 10k USD to make their website render correctly in Ladybird, it was covered in one of the browser update videos last year[0].
I think that’s often the point with OSS projects, especially those that have an ambitious long term vision. If you “don’t want to boot up a Linux VM” etc, they don’t want you. It’s a filter. It means their concern at the moment is the coherence of their community, not increasing their numbers. It’s the same reason projects like this often have absurdly ugly logos, and landing pages that don’t work on mobile. Fast growth is often seen as destructive when you already have a nice little community vibe. It’s essential to maintain that vibe carefully if you have a long term goal of building something important.
Counterpoint, it would be another release / packaging they would have to build and maintain, unless they find a volunteer that can do it without detracting from their core business, it's not worth the investment (to them).
Anyone can set up a pipeline to distribute ISO images though, it's open source.
Is it just for fun or not? I think it's important to face this question, because users should not trust a just-for-fun browser with their security, and we should not look to Ladybird as a meaningful contribution towards competition in the browser space if it's just for fun.
If it's just for fun, we need to temper our expectations accordingly.
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.
It's very tiring to see these kinds of comments, even as a bystander. I can't imagine how it is for the developers. People have spent a fair amount of time building this thing and deserve better than to have their efforts dismissed by the likes of you. Please, do better.
The current browser engine landscape is a monoculture, so this is a very welcome addition IMO.
The whole point of the project is to write a completely independent browser from scratch. The effort seems focused to me, write a complete engine. Not write a small part of a browser.
But why would reusing something be better? Reusing someone else code wouldn't be competing with them, it'd be depending on them.
I strongly disagree. The point of the whole SerenityOS project is to do everything from scratch, both for fun and to bring a bit of innovation in a classic environment. I see this "rebuild everything from scratch" effort as beneficial in many areas of browser development, since there are technologies shared by most browsers that create a sort of sub-monopoly, independent from the actual browser marketshare.
Take for example the JavaScript engine. Spidermonkey and V8 are much more prominent in browser engines, even the lesser known ones, compared to JavaScriptCore. Spidermonkey for example is used in Firefox, Servo and Flow (Eikoh's browser engine), while V8 is used in every chrome derivate and most javascript implementations outside of a browser. JavaScriptCore is literally used in only one browser engine, and while WebKit is rather popular, it doesn't change the fact that the browser-grade javascript engine market is dominated by only two engines.
Rebilding everything from scratch is such a fresh breath of air from all of those technological monopolies. I only wish the best for the SerenityOS team and contributors.
> So, no motivation why not port Servo/WebKit, but write from scratch. One could at least use HTML/CSS layout manager or JavaScript engine. I mean, I am very pro competition and open web, but writing everything from scratch seems like waste of effort. I'd expect efforts to be focused.
Why write Servo from scratch instead of porting Blink/Webkit? One could at least use the HTML/CSS layout manager. Seems like a waste of effort.
This mindset is why we now have countless new browsers that all run on Chromium. What's the motivation for those?
Also calling the project a "waste of effort" seems a bit out of touch. Effort doesn't have to pay off in any way to be worthwhile. If the act of building is part of the motivation then taking shortcuts at building it defeats the purpose.
Besides the actually answer - because they want to - I don't think it would even work, because of the dependencies. (SerenetyOS is also written from scratch.) But since Kling used to work on the webkit team - you can bet that they don't work in a vacuum and reinvent the wheel, but just reimplement in a way they think is best. Also, they are not doing it for you, but for them.
Why have any other browser engines at all? Why not just require everyone use chrome?
If you think you are "pro open web" but don't see the value in new browser engines (rather than just Safari, Firefox, and endless Chrome skins), then you're not actually "pro open web" you're pro status quo.
But also, you're completely missing that the whole point of serenityos was to do everything from scratch, and simply porting an existing engine like webkit (which Andreas is extremely familiar with) isn't an interesting task. Porting something like servo (that doesn't even benefit from significant web compatibility) is even more pointless.
At least building a new engine from scratch has the potential to introduce a new non-gecko, non-webkit derived browser, even if it takes a while (though despite the size of modern web specs, it's in many respects easier[1] than doing it 10 or 20 years ago).
[1] It's still not easy, but prior to the immense work from the major browser developers in the late 2000s and 2010s to actually make the specifications accurate and complete, you could not do what serenity/ladybird has been doing and just implement the spec. Firstly often times the spec simply did not exist, but then the W3C specs were largely incomplete, often times ambiguous, and frequently just did not match reality. Even TC39/ECMAScript, which was much more constrained, had absurd amounts of ambiguity and incompleteness. Nowadays, you can go to most specs and be fairly assured that if you implement the spec as written the behaviour will actually be correct (maybe inefficient or slow), and the difficulty is the much more tractable problem of there being more features to implement.
I thing I understand what you mean: in theory rewriting a browser in ‘ship of Theseus’ way focusing on one thing at a time should be more manageable. But in practice the integration points between different parts are not standardized and you’ll have to deal with a huge C++ code base that takes hours to compile.
It seems there is zero c++ in their web engine (cannot clone their repo right now and github is spitting raw json while browsing their source code with noscript/basic (x)html browsers).
jug|2 years ago
However, the thought has also crossed my mind if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back. While the web is of course still evolving, it feels more "settled in" than 10-15 years ago.
There's also the factor that past developers didn't have the more complete roadmap set when they initially planned browser design, but now we have huge amounts of web standards already there AND also know how popular they got over time i.e. what to prioritize to support a modern web. One might superficially think there's simply more of everything, but I also think ideas that can be discarded. Just imagine that Internet Explorer had XSLT support, and FTP was common once upon a time!
It would be interesting to hear more about their own thoughts on these topics!
Edit: My bad; XSLT is still commonly supported and by all major browsers but a rarely used feature and stuck in limbo in XSLT 1.0. So it's probably among those things that can be safely omitted for quite some time.
awesomekling|2 years ago
Thanks jug! I'm super proud of all the folks who have worked on it with me :^)
> However, the thought has also crossed my mind if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back. While the web is of course still evolving, it feels more "settled in" than 10-15 years ago
This is definitely true! I've worked on browsers on and off since 2006, and it's a very different landscape today. Specs are better than ever and there's a treasure trove of tests available.
sph|2 years ago
If anyone threatens Google position, they can literally throw money at the problem, invent some overcomplicated standard, implement it in Blink, and have the competition chase them. It doesn't need to go through W3C either, if it works in Chrome, all web developers will adopt it and any smaller engine will necessarily have to support it or risk losing whatever little market share they have left.
Having control of the internet now is of greater strategic importance than it was 20-30 years ago when Microsoft was king of the hill.
autoexec|2 years ago
A decade back, maybe... but decades ago the number of things you had to support was just so much smaller even if you only looked at HTML! Consider https://www.ietf.org/rfc/rfc1866.txt vs https://html.spec.whatwg.org/multipage/
Writing a web browser was hard in the old days for a lot of reasons, but trying to write a full-featured one today is a huge undertaking and we're still adding a bunch of new features all the time and expecting browsers to support them
rjh29|2 years ago
Probably not. Yeah we have web standards and some idea of how to architect it, but the total set of APIs and HTML/CSS features a browser supports is probably changing faster than the Ladybird team can actively implement it. The API surface is just impossibly large compared to 10 or 15 years ago. Look at all of these: https://developer.mozilla.org/en-US/docs/Web/API
And that doesn't include the updates to Javascript, MathML, SVG, HTTP-based security features, encryption or media support.
chrisweekly|2 years ago
1. https://www.webkit.org/blog/14633/get-ready-for-interop-2024...
2. https://wpt.fyi
nox101|2 years ago
https://web-platform-tests.org/
grishka|2 years ago
_heimdall|2 years ago
The idea of being able to ship an XML template with basic logic like for loops alongside the actual XML data source is really unique today. If people cared to use XML at all, that really does cover quite a few use cases that we current reach for JSON + client JS today.
stephen_g|2 years ago
I've been watching the development videos for a year or two, and the speed that this has progressed in such a short time is unbelievable. Now they have multiple volunteers and enough sponsorship to pay more than one developer, it's pretty exciting what could happen here!
jll29|2 years ago
He did not even use the C++ standard library, when he says "from scratch" it includes his own string class, for better or worse, which is fine since it's "just for fun", "to learn" etc. And just when you think a library and an OS are crazy, he announced a browser and a JavaScript engine on top. Then a JIT compiler, then Jakt, their own novel programming language, because neither C++ nor Rust is what makes him perfectly happy.
More than his expertise I admire his modesty and kindness - unlike Linus etc. he is not full of himself, and each of his videos gives lots of credit name by name of who did what. A perfect role model for open source.
pjerem|2 years ago
It’s still really impressive but he is not the new kid in town when we talk about developing browsers.
kouru225|2 years ago
zerd|2 years ago
twiclo|2 years ago
jraph|2 years ago
I would consider contributing but development is coordinated on Discord and I avoid proprietary software… [1]. It's a shame. Can't blame them though, they are doing it for fun.
[1] https://drewdevault.com/2022/03/29/free-software-free-infras...
martypitt|2 years ago
He claims that authors promoting their open source software on channels like Twitter, Hacker news, LinkedIn or even Github is "selfish and unethical outright":
> Many projects choose to prioritize access to the established audience that large commercial platforms provide, in order to maximize their odds of becoming popular, and enjoying some of the knock-on effects of that popularity, such as more contributions.
> To me, this is selfish and unethical outright, though you may have different ethical standards.
I find Zealotry like this tough, and promotes a definition of FOSS that feels hostile against those who want to simply build something cool, and share it with the world - (or even more controversially, make money from FOSS).
Given such a strong view, it's really surprising that he then posts stuff like "Can I be on your podcast"[1] to try to promote Hare - his programming language.
He didn't ask for podcasts that aren't distributed on platforms like Spotify or Apple Podcasts. In fact - he's right there with several appearances promoting Hare.
That feels like hypocrisy.
[1]: https://drewdevault.com/2023/11/09/Can-I-be-on-your-podcast....
Thorrez|2 years ago
gsich|2 years ago
" Q: Why bother? You can’t make a new browser engine without billions of dollars and hundreds of staff.
Sure you can. Don’t listen to armchair defeatists who never worked on a browser. "
Nice take.
winterplace|2 years ago
webprofusion|2 years ago
It's a huge shame that there are no nightly builds of ladybird to try out but I assume that's because they just don't want the bug reports (if everything doesn't work it's pointless getting random bugs filed).
marginalia_nu|2 years ago
niutech|2 years ago
vmfunction|2 years ago
ripley12|2 years ago
szehe|2 years ago
harha_|2 years ago
talkingtab|2 years ago
And for me there is the question of canvas, threejs, react-three-fiber and react-drei. Is it possible that - especially with mobile - that canvas could be used to provide a better user experience? Who writes games for mobile with a HTML and CSS? Not saying it can't be done, but I wonder how many web sites require HTML & CSS instead of canvas?
A big barrier to browser competition is needing to implement obsolete and outdated technology. Why not just a minimum set of html and canvas.
Just thinking. Your thoughts?
sho_hn|2 years ago
I don't think it'd help much.
- There's been a Cambrian Explosion in the web API surface era. The modern stuff dwarfs the old stuff. Dropping support for older/less frequently used mechanisms does not shed as much code and complexity as you might think.
- Beyond mere surface area, the level of engineering required to implement a sort of "Restricted Core Profile" to a competitive degree (e.g. performance) is quite high, if you're talking true blank-canvas development.
- There's a long tail effect in full force, where even mostly-modern websites will use and rely on some cruft here and there, making very few pages work in your supposed browser.
That is to say, it's still a very large, tough project. But the FOSS community has achieved quite a few large, tough projects; it's not the same as saying that it's not possible, of course.
BlueTemplar|2 years ago
Please stop following Google who is trying to turn the Web into an OS for their own ad-fueled, user-tracking profit.
If you want to make connected (or not) apps, there's already the Internet and OSes for that. And you don't have to make your interface worse by fighting with the browser about it ! (Especially important for games and other "deep" software.)
The whole point of the Web is to be an hyperlinked collection of documents, sometimes multimedia, with maybe a little bit of interactivity with some forms and scripts sprinkled on that.
(As an example to how incongruous the current situation is, imagine a parallel universe where it was Adobe rather than Google that got humongous, and it was the JavaScript in PDFs that was (ab)used instead to make apps.)
fzzzy|2 years ago
novagameco|2 years ago
dang|2 years ago
Interview with Andreas Kling of Serenity OS (2022) - https://news.ycombinator.com/item?id=39286638 - Feb 2024 (134 comments)
Related to OP:
Ladybird browser update (July 2023) [video] - https://news.ycombinator.com/item?id=36939402 - July 2023 (1 comment)
Chat with Andreas Kling about Ladybird and developing a browser engine - https://news.ycombinator.com/item?id=36620450 - July 2023 (65 comments)
Shopify Sponsored Ladybird Browser - https://news.ycombinator.com/item?id=36502583 - June 2023 (1 comment)
I have received a $100k sponsorship for Ladybird browser - https://news.ycombinator.com/item?id=36377805 - June 2023 (166 comments)
Early stages of Google Docs support in the Ladybird browser - https://news.ycombinator.com/item?id=33511831 - Nov 2022 (84 comments)
Github.com on Ladybird, new browser with JavaScript/CSS/SVG engines from scratch - https://news.ycombinator.com/item?id=33273785 - Oct 2022 (1 comment)
Ladybird: A new cross-platform browser project - https://news.ycombinator.com/item?id=32809126 - Sept 2022 (473 comments)
Ladybird: A truly new Web Browser comes to Linux - https://news.ycombinator.com/item?id=32014061 - July 2022 (8 comments)
Ladybird Web Browser - https://news.ycombinator.com/item?id=31987506 - July 2022 (2 comments)
Ladybird Web Browser – SerenityOS LibWeb Engine on Linux - https://news.ycombinator.com/item?id=31976579 - July 2022 (2 comments)
KingOfCoders|2 years ago
kome|2 years ago
codemusings|2 years ago
marginalia_nu|2 years ago
It's (IMO) very pronounced and hard to avoid on Mastodon.
niutech|2 years ago
wtracy|2 years ago
asicsp|2 years ago
Discussion: https://news.ycombinator.com/item?id=36502433 (246 points | 7 months ago | 66 comments)
gkbrk|2 years ago
ptx|2 years ago
TheCoreh|2 years ago
If the language becomes mature enough, and there are people interested enough in doing that porting, it will likely happen.
I think their C++ code is also constrained enough due to the use of their custom standard library that it would be possible to write a transpiler from C++ to Jakt.
Dessesaf|2 years ago
I will note though that development on the Jakt language has slowed down significantly. After extremely fast initial development, most Serenity developers no longer contribute to the language. Because everything is done exclusively when the contributors feel like it, development happens in bursts. And right now, Andreas is not actively working on Jakt, so very little improvement is happening there. The main developer working on the language is Ali Mohammadpur, but I don't think he is currently being paid to work on the project. So his contributions are also inconsistent.
hosteur|2 years ago
What are the chances that this could become a real world usable replacement for chrome or Firefox witching the next couple of years?
zamadatix|2 years ago
TheCoreh|2 years ago
kramerger|2 years ago
I hate what a small group of lazy front-end people have done to our world...
jraph|2 years ago
Which ones? I have always exclusively used Firefox and rarely have issues.
thenoblesunfish|2 years ago
imperialdrive|2 years ago
kome|2 years ago
you mean minor aesthetics differences or functionality? I just use firefox, I don't even have chrome, and everything works. And I use mainstream web, nothing too niche.
la_oveja|2 years ago
OkayPhysicist|2 years ago
DiggyJohnson|2 years ago
This seems like hyperbole, frankly.
sesm|2 years ago
timeon|2 years ago
lemper|2 years ago
BMSR|2 years ago
Seems like they're involved in many browser technologies, and other technologies.
https://en.wikipedia.org/wiki/Igalia
https://www.youtube.com/watch?v=9lkIX5ryZZ4
niutech|2 years ago
F3nd0|2 years ago
logicprog|2 years ago
ambigious7777|2 years ago
paddim8|2 years ago
yarekt|2 years ago
simonebrunozzi|2 years ago
> 2023-06-28: Welcoming Shopify as a Ladybird sponsor
Hmm, no new sponsor since august 2023. Not a good sign. I cheer for them to succeed though!
DiggyJohnson|2 years ago
niutech|2 years ago
vimsee|2 years ago
> #!/usr/bin/env bash
> cd ${HOME}/serenity && ./Meta/serenity.sh run lagom ladybird
I guess you could create a .desktop file that invokes the script, or just the "serenity.sh" script directly.
cpach|2 years ago
I also find it curious that they are sponsored by a real estate site (:
Hanschri|2 years ago
[0]: https://youtu.be/xdVOdrWuzLQ?t=147
hendi_|2 years ago
pipeline_peak|2 years ago
dev213|2 years ago
"Where are the ISO images?
There are no ISO images. This project does not cater to non-technical users."
This comes off as really abrasive. Wanting an ISO image to quickly test this out is not an indicator of someones technical ability.
I'm sorry I don't want to boot up a linux vm, install a lot of development packages and then build my own boot image just to try this out.
cal85|2 years ago
I think that’s often the point with OSS projects, especially those that have an ambitious long term vision. If you “don’t want to boot up a Linux VM” etc, they don’t want you. It’s a filter. It means their concern at the moment is the coherence of their community, not increasing their numbers. It’s the same reason projects like this often have absurdly ugly logos, and landing pages that don’t work on mobile. Fast growth is often seen as destructive when you already have a nice little community vibe. It’s essential to maintain that vibe carefully if you have a long term goal of building something important.
zaebal|2 years ago
Cthulhu_|2 years ago
Anyone can set up a pipeline to distribute ISO images though, it's open source.
AndyKelley|2 years ago
If it's just for fun, we need to temper our expectations accordingly.
10000truths|2 years ago
whyever|2 years ago
Is it really important to answer this question? A lot of widely used software started as "just for fun", e.g. Linux or OpenSSL.
I think tempering our expectations should be the default for Open Source software.
jraph|2 years ago
And that having expectations as a end user is still a bit premature.
You can expect the project to move somewhat fast.
redder23|2 years ago
unknown|2 years ago
[deleted]
unknown|2 years ago
[deleted]
unknown|2 years ago
[deleted]
unknown|2 years ago
[deleted]
unknown|2 years ago
[deleted]
fifteen1506|2 years ago
adontz|2 years ago
[deleted]
andyjansson|2 years ago
The current browser engine landscape is a monoculture, so this is a very welcome addition IMO.
grayhatter|2 years ago
But why would reusing something be better? Reusing someone else code wouldn't be competing with them, it'd be depending on them.
rice7th|2 years ago
Take for example the JavaScript engine. Spidermonkey and V8 are much more prominent in browser engines, even the lesser known ones, compared to JavaScriptCore. Spidermonkey for example is used in Firefox, Servo and Flow (Eikoh's browser engine), while V8 is used in every chrome derivate and most javascript implementations outside of a browser. JavaScriptCore is literally used in only one browser engine, and while WebKit is rather popular, it doesn't change the fact that the browser-grade javascript engine market is dominated by only two engines.
Rebilding everything from scratch is such a fresh breath of air from all of those technological monopolies. I only wish the best for the SerenityOS team and contributors.
kramerger|2 years ago
gkbrk|2 years ago
Why write Servo from scratch instead of porting Blink/Webkit? One could at least use the HTML/CSS layout manager. Seems like a waste of effort.
spintin|2 years ago
Re-inventing the wheel is not the problem. It's copying the wheel that is the problem.
detolly|2 years ago
Kostic|2 years ago
devmor|2 years ago
1. https://github.com/SerenityOS/serenity/blob/master/Documenta...
alpaca128|2 years ago
Also calling the project a "waste of effort" seems a bit out of touch. Effort doesn't have to pay off in any way to be worthwhile. If the act of building is part of the motivation then taking shortcuts at building it defeats the purpose.
lukan|2 years ago
olliej|2 years ago
If you think you are "pro open web" but don't see the value in new browser engines (rather than just Safari, Firefox, and endless Chrome skins), then you're not actually "pro open web" you're pro status quo.
But also, you're completely missing that the whole point of serenityos was to do everything from scratch, and simply porting an existing engine like webkit (which Andreas is extremely familiar with) isn't an interesting task. Porting something like servo (that doesn't even benefit from significant web compatibility) is even more pointless.
At least building a new engine from scratch has the potential to introduce a new non-gecko, non-webkit derived browser, even if it takes a while (though despite the size of modern web specs, it's in many respects easier[1] than doing it 10 or 20 years ago).
[1] It's still not easy, but prior to the immense work from the major browser developers in the late 2000s and 2010s to actually make the specifications accurate and complete, you could not do what serenity/ladybird has been doing and just implement the spec. Firstly often times the spec simply did not exist, but then the W3C specs were largely incomplete, often times ambiguous, and frequently just did not match reality. Even TC39/ECMAScript, which was much more constrained, had absurd amounts of ambiguity and incompleteness. Nowadays, you can go to most specs and be fairly assured that if you implement the spec as written the behaviour will actually be correct (maybe inefficient or slow), and the difficulty is the much more tractable problem of there being more features to implement.
sesm|2 years ago
Powdering7082|2 years ago
> Will SerenityOS support $THING? > Maybe. Maybe not. There is no plan.
mnau|2 years ago
Then there are raccoon digging through dumpsters for free code.
I find this mindset (why aren’t you working on something that benefits me, Bender) rather toxic.
sylware|2 years ago
Is this true?
nhinck3|2 years ago
unknown|2 years ago
[deleted]