News for hackers. Stuff that matters.
Re:The Ladybird Browser Project by adontz on Wednesday February 07, 2024 @01:47AM (#39285310)
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.
Re:The Ladybird Browser Project by andyjansson on Wednesday February 07, 2024 @02:16AM (#39285525)
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.

Re:The Ladybird Browser Project by grayhatter on Wednesday February 07, 2024 @01:52AM (#39285361)
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.

Re:The Ladybird Browser Project by adontz on Wednesday February 07, 2024 @02:01AM (#39285428)
Because you can have something usable instead of dreams. If you want to have completely independent code eventually, then replace modules one by one, while having a working product. Like Mozilla did with Servo. They had C++ codebase they wanted to replace with Rust codebase. They did not create entire browser from scratch, but replaced C++ with Rust gradually. While one figures what HTML and CSS layout should look like, no need to have no JavaScript engine and basically unusable browser. Use existing JavaScript engine, replace it later when/if project has enough resources.
Re:The Ladybird Browser Project by SpecialistK on Wednesday February 07, 2024 @02:11AM (#39285491)
Why is it "dreams" if they're making quantifiable progress toward their goal? The browser is steadily becoming more usable and performant. Proving that such a project is possible is one of Andreas (the project lead's) goals as stated in interviews.

I'd rather encourage promising "dreams" than have a web with only 2.5 usable browser engines.

Re:The Ladybird Browser Project by Scarblac on Wednesday February 07, 2024 @02:43AM (#39285694)
This is Hacker News, not just Lets Bring Yet Another Product To Market news.

He is doing this for fun and to be creative, is incredibly inspiring for a lot of people, and actually gets things done on top.

The epitome of a hacker, I want to be more like him.

Re:The Ladybird Browser Project by Klonoar on Wednesday February 07, 2024 @06:07AM (#39287087)
You have a very different definition than what this site has historically been about. :)
Re:The Ladybird Browser Project by adontz on Wednesday February 07, 2024 @09:25AM (#39288911)
Have you ever wondered what ycombinator.com is in news.yconbinator.com?
Re:The Ladybird Browser Project by DiggyJohnson on Wednesday February 07, 2024 @11:48AM (#39290815)
Do you want what you're arguing for?
Re:The Ladybird Browser Project by Scarblac on Wednesday February 07, 2024 @10:08AM (#39289460)
Yeah yeah, I know. They could have chosen to call it Startup News but didn't.
Re:The Ladybird Browser Project by hadjian on Wednesday February 07, 2024 @02:34AM (#39285647)
Andreas worked professionally on WebKit at Apple and succeeded in writing SerenityOS from scratch.

So he is in a good position to decide on the approach and has proven he can finish things. I’d just trust him on this, if my opinion was even relevant.

But as it’s a for fun project, he can write a browser in Fortran and abandon it half-way ;-)

Re:The Ladybird Browser Project by stephen_g on Wednesday February 07, 2024 @02:15AM (#39285519)
They already do have something that is incredibly usable for how long the project has been going (this context is part of why you're being downvoted, as well as just the general principle). They have probably got something that is looking more viable as a new browser than what the Servo project is doing now it's been detached from Mozilla. It really is quite incredible what they've done, and the velocity it's improving is just mind-blowing.
Re:The Ladybird Browser Project by k8svet on Wednesday February 07, 2024 @02:05AM (#39285450)
Sometimes it's nice to dream. A nice bonus if other people respect your autonomy to use one's time on Earth as one sees fit.
Re:The Ladybird Browser Project by navane on Wednesday February 07, 2024 @03:05AM (#39285832)
Dreams are what gets you out of bed in the morning.
Re:The Ladybird Browser Project by gaazoh on Wednesday February 07, 2024 @04:23AM (#39286368)
It's very possible to have other goals than having a usable and marketable product, Andreas Kling and SerenityOS developpers have explicitly stated other goals on numerous occasions, and other positive side-effects have emerged from the project. These include having something to stay busy long term to stay away from drug use, having fun, learning, prove that things are possible, identifying and reporting mistakes in specifications that were caught thanks to the blank slate implementation approach.

Maybe Ladybird is not usable right away, so what? It's getting impressively close to this point with barely 5 years of development, from scratch (and it goes much deeper than HTML, CSS and JS engine, they also re-implemented the whole networking stack, image/audio/video codecs, font...) and by a small team of mostly volunteers, but more importantly, it's a positive project not only for the developers, but also for their audience and for greater scale web standardization.

I hardly imagine a project such as the one you're describing getting as much traction as Ladybird / SerenityOS (in fact, there are many such of these, but I don't see nearly as much talk and interest for their development), the whole project isn't about the end product, it's explicitly about the process to get there.

Re:The Ladybird Browser Project by alpaca128 on Wednesday February 07, 2024 @06:21AM (#39287174)
> you can have something usable instead of dreams

Realising dreams is called progress.

The reason Chrome and Firefox exist is because people dreamt of having something better than the already "usable" Internet Explorer.

Re:The Ladybird Browser Project by rice7th on Wednesday February 07, 2024 @02:22AM (#39285571)
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.

Re:The Ladybird Browser Project by sesm on Wednesday February 07, 2024 @04:27AM (#39286394)
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.
Re:The Ladybird Browser Project by kramerger on Wednesday February 07, 2024 @02:18AM (#39285546)
Don't criticise people hacking for the fun of it, on Hacker News of all places.
Re:The Ladybird Browser Project by lukan on Wednesday February 07, 2024 @04:20AM (#39286340)
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.
Re:The Ladybird Browser Project by Kostic on Wednesday February 07, 2024 @03:00AM (#39285798)
When the alternative was using drugs, writing everything from scratch is way better.
Re:The Ladybird Browser Project by spintin on Wednesday February 07, 2024 @02:22AM (#39285570)
https://imgur.com/dP2c3j6

Re-inventing the wheel is not the problem. It's copying the wheel that is the problem.

Re:The Ladybird Browser Project by sham1 on Wednesday February 07, 2024 @04:24AM (#39286377)
As years have gone by, I've realised that the whole "don't reinvent the wheel" is fundamentally an anti-innovation and anti-intellectualist idiom.

Like yeah, the idea is that the wheel already works pretty well, so you wouldn't need a better one, but really now? First of all, how would we know that we've explored all the possible ways wheels can be? How do we know whether what we have is actually the most optimal way that wheels can exist? You won't know unless you try! You might fail, but I'd say that the learning opportunity is worth it.

Also, when it comes to people who criticise projects like Ladybird here for "reinventing the wheel", I feel that comparing software to wheels is a bit disingenuous. Because while manufacturing wheels does take skillful craftsmanship and such, most software is probably just a tad more complex than just the wheel. Call it a hunch.

So, the ethos that one shouldn't "waste effort in writing this stuff from scratch, but that off-the-shelf components should be used" is the kind of ethos that can be applied to a lot of things. And usually when that kind of ethos is adopted, it tends to lead to stuff like stagnation and lack of innovation. And we know this, because we have examples of entire countries doing this, which has usually lead to either reforming away from this sort of model, or the country just not existing anymore.

We should not let the web for example stagnate due to browser monoculture. We should have alternative implementations of stuff, actually.

Re:The Ladybird Browser Project by autoexec on Wednesday February 07, 2024 @05:16AM (#39286723)
> So, the ethos that one shouldn't "waste effort in writing this stuff from scratch, but that off-the-shelf components should be used" is the kind of ethos that can be applied to a lot of things. And usually when that kind of ethos is adopted, it tends to lead to stuff like stagnation and lack of innovation.

I think the advice still has its place, but only in certain contexts. You can get a lot of work done very quickly by making good use of work that others have already done for you. It's why modules and libraries are so popular.

When you've got the time to try and and improve on existing code, or when you'd have to compromise too much on what you want by using something preexisting, or when you're just learning then reinventing the wheel is invaluable.

There's a time and place for both.

Re:The Ladybird Browser Project by bowsamic on Wednesday February 07, 2024 @07:09AM (#39287564)
I agree, imagine a carpenter who is told "don't bother making tables, you can buy them from the shop". We tell software devs this all the time. The javascript ecosystem was the perfect example of this, it professed an ideology that most devs should only write glue code between libraries, and only the arrogant devs we can't stop and/or FAANG are writing the libraries.
Re:The Ladybird Browser Project by detolly on Wednesday February 07, 2024 @01:50AM (#39285340)
Then you have not understood the motivation of the project.
Re:The Ladybird Browser Project by adontz on Wednesday February 07, 2024 @02:02AM (#39285433)
There is no motivation on linked page.
Re:The Ladybird Browser Project by recursive on Wednesday February 07, 2024 @02:29AM (#39285617)
That might be part of the reason you don't understand the motivation.
Re:The Ladybird Browser Project by jotaen on Wednesday February 07, 2024 @02:27AM (#39285610)
Why would there have to be one there?
Re:The Ladybird Browser Project by austinjp on Wednesday February 07, 2024 @04:26AM (#39286385)
The project initiator has written about this several times, for example:

https://awesomekling.substack.com/p/i-quit-my-job-to-focus-o...

Re:The Ladybird Browser Project by prmoustache on Wednesday February 07, 2024 @07:32AM (#39287756)
They don't have to justify themselves too.
Re:The Ladybird Browser Project by gkbrk on Wednesday February 07, 2024 @03:13AM (#39285893)
> 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.

Re:The Ladybird Browser Project by Powdering7082 on Wednesday February 07, 2024 @02:14AM (#39285511)
Taken from the FAQ of serenityOS:

> Will SerenityOS support $THING? > Maybe. Maybe not. There is no plan.

Re:The Ladybird Browser Project by devmor on Wednesday February 07, 2024 @01:51AM (#39285349)
It is a SerenityOS project. You can find the answer to that question in their primary project's FAQ[1].

1. https://github.com/SerenityOS/serenity/blob/master/Documenta...

Re:The Ladybird Browser Project by olliej on Wednesday February 07, 2024 @03:24AM (#39285955)
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.

Re:The Ladybird Browser Project by alpaca128 on Wednesday February 07, 2024 @06:11AM (#39287108)
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.

Re:The Ladybird Browser Project by charcircuit on Wednesday February 07, 2024 @08:46AM (#39288470)
>What's the motivation for those?

To compete on the actual end user experience. Most users do not care at all about the code of the project. They don't care if your layout engine code is completely unique, they care that it does layout for the sites they use correctly. Having a good browser engine to work off of lets people start delivering value to users immediately instead of having to spend a ton of time recreating the parts of a browser that users do not care about.

Re:The Ladybird Browser Project by mnau on Wednesday February 07, 2024 @08:16AM (#39288170)
A big part of open source motivation is a creative expression.

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.