Understanding Complexity Like an Engineer – The Case of the Ladybird Browser

159 points2
ofrzeta2 days ago

Related (chat with Andreas Kling about SerenityOS and Ladybird):

However I don't understand why many people are longing for Ladybird as another free browser. There are already some and Firefox is losing marketshare every day. So please do use it.

Ok, I guess Mozilla Foundation's running the Firefox project is not to everyones liking, so that would be a valid reason. But not to throw out the baby with the bathwater.

Firefox is a great browser and the only reason I sometimes use Chrome is that more and more sites require Chrome (e.g. Teams).

NoboruWataya1 day ago

I think it's more excitement about the idea that it is possible to write a web browser from scratch, than about this specific browser. This is just one of the most promising implementations of that idea.

I am very much team Firefox and think it is important to protect and promote it as much as possible. But I don't think the attention that people are giving to Ladybird would otherwise be dedicated to Firefox. Maybe when Ladybird gets more functional and stable they might become competitors but not right now.

IMO it is exactly because building a fully featured browser from scratch is considered basically impossible today, that we so desperately need Firefox to succeed.

andrewstuart1 day ago

>> I think it's more excitement about the idea that it is possible to write a web browser from scratch

Depends on your definition of “a web browser”.

It’s not possible to clone Firefox or Chrome without huge huge resources and time and effort.

It is probably possible to make something like a web browser from 20 years ago.

zamadatix1 day ago

I think Ladybird has already surpassed that mark. Maybe not in 100% of attributes, technically modern Chrome/Firefox don't even meet that mark, but it's also already gone well beyond in most of them. This including that they are doing everything in house from the image decoding to the font rendering (well, on Serenity - for other platforms like Linux/macOS they have QT bridge their implementation to existing stacks).

Still a long ways to go to be a Chrome/Firefox for sure but that it's already beyond what you suppose might be possible is just the point of why it's its own kind of excitement.

_heimdall1 day ago

That might be true, but if that's where we've found ourselves it seems like the best course of action is to start over with a fresh web spec focused on staying as simple as possible.

Browsers have never had a sustainable revenue model. If we're at a point where building one is so complex that it requires a massive resource investment we're setup to eventually be left with only one or two highly centralized and controlled browsers. That defeats the whole purpose of the web.

asadotzler1 day ago
apex_sloth2 days ago

Side note: Teams works for me in firefox on linux if I change the UserAgent with this add-on:

For these urls

To Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Edg/85.0.564.51

jwells892 days ago

Changing the user agent seems to make things work more often than not in the case of sites/apps like this. My inclination is that most of them don’t actually have hard browser requirements and just haven’t been tested against anything but Chrome and the devs (or those managing them) would prefer to not change that.

jcul1 day ago

It seems to work for me on FF / linux out of the box, without any user agent change.

jwells892 days ago

Some of the discontent comes from Firefox not being very interesting compared to other browsers.

The various Chrome-clones are doing interesting things like adding toggleable vertical tabs built in (Vivaldi, Edge) or even vertical-only (Arc) and Arc is playing with using native OS widgets for UI across platforms for example.

There’s also functionality advantages. All the chrome-clones have better out of the box profile support, as does Safari as of the last major release or so. Safari also IMO has a better stock tab groups implementation than any of the other major browsers.

Firefox can be fixed up to support these things, but you’ll need multiple extensions and if you want to make it all look good (e.g. hiding the ugly sidebar header, extending sidebar into toolbar area, configuring Sidebery/TST/etc), a substantial amount of tinkering is needed. More of this should be rolled into the base browser and “just work”.

timw4mail2 days ago

I use Firefox, but I still want more browser engine diversity. Blink and Webkit have a significant shared ancestry, and the only other major one is Gecko.

joshmarinacci1 day ago

Adding another free browser changes nothing. People don’t choose free browsers because people don’t choose. The owner of the platform chooses (with the notable exception of Windows where Google has spent billions of dollars to advertise it).

metaxy21 day ago

Chrome is also very big on macOS even though it's not preinstalled, although yeah, that also has to do with the marketing. It seems hard to find good stats on this but it's definitely in the web developer zeitgeist. On mobile, though, people do pretty much just use whatever comes installed.

squarefoot1 day ago

> However I don't understand why many people are longing for Ladybird as another free browser. There are already some and Firefox is losing marketshare every day. So please do use it.

Having more options in the FOSS world is always a good thing. Firefox unfortunately lost market share because the Mozilla Foundation does absolutely nothing to promote it, and that's not going to change until they find a better source of revenue than Google.

DiggyJohnson1 day ago

I'm not sure if longing is the right word, and I think you may be confusing excitement and buzz around Serenity and Ladybird as longing for another free browser, when it is more accurately excitement and curiosity about a technically very impressive project.

dale_glass1 day ago

> However I don't understand why many people are longing for Ladybird as another free browser.

I'm longing for a free web browser *engine*.

Neither Firefox nor Chrome like being used as a component of something else. Chrome is used by Qt, but only by force through a pile of hacks.

I'm really hoping a new project drops that nonsense and just allows rendering HTML to a texture without needing a big corporation to maintain a patch set to make it actually possible.

jcul1 day ago

That's strange, I sometimes (once every few months) use teams with Firefox on Linux and it seems to work fine.

TheRealPomax1 day ago

Firefox isn't made, run, or owned by the Mozilla Foundation, though. You're thinking of the Mozilla corporation, which is a for-profit company working on the Firefox product.

The Mozilla Foundation is a separate advocacy and campaigning non-profit (which is also why donating to the foundation means your money goes towards advocacy and campaigns, not Firefox)

DiggyJohnson1 day ago

It's disingenuous to not explain the connection between these organizations. You're making it sound like they both happen to be named "Mozilla", when the reality is much more nuanced and interdependent, but in terms of their current funding and leadership, as well as their history.

TheRealPomax1 day ago

No, it's not. Having worked at the foundation for a decade: to the vast majority of folks, the difference that matters is that "one makes Firefox, the other does campaigning/advocacy/outreach".

The history behind why there are two different entities is fascinating, but also doesn't change the fact that they are two completely different companies with completely different org charts and completely different focuses, united under the Mozilla manifesto.

(And even in the tech crowd, far too many people have no idea that there are two different things called Mozilla, and that their donations to the Foundation go to "the things the Foundation does", not Firefox)

asadotzler1 day ago
wheybags1 day ago
NoboruWataya1 day ago
DiggyJohnson1 day ago

Honestly I didn't realize that you worked personally with the Mozilla Foundation, so I'll defer to you (and color myself surprised).

My apologies, and thanks for the information.

fifteen15061 day ago
intelVISA1 day ago

It's time to sunset Firefox and usher in The Next Age of libre browsers.

Mozilla has betrayed FOSS for Google monies, at last the chickens come home...

arcanemachiner1 day ago

Maybe we should wait for a viable alternative before sunsetting things and ushering in ages.

robador1 day ago

> As an example, the recently launched website for Dialogic requires about 700 JavaScript-modules, and has about 19.000 lines of code of its own. There is however a staggering amount of complexity hiding beneath: just this website alone depends on (potentially) another 1.3 million (!) lines of code in modules it uses.

This is fine.

Seriously though, that's insane.

misterdata1 day ago

Author here - this figure is insane but also a bit of an exaggeration. I calculated it by running 'cloc' on the source code directory, not excluding node_modules. Many modules in there are actually unused or only used at build time. The built output (from Nuxt) that is actually run is much more compact (though partly minified so line counts are not that interesting). Also, Nuxt specifically is a bit overkill here, but greatly improved my productivity developing this website (and was chosen because it aligns with our other web applications, so less 'innovation tokens' [1]).


AlienRobot1 day ago

The irony is that I clicked on the website and it looks like you could make it with wordpress...

rokkitmensch1 hour ago

You can make anything short of million users per day ecomm with WordPress, and even that would only take a few hardy engineers willing to put on waders.

yogorenapan2 days ago

Looking at the screenshots, it’s crazy good. I only frequent 5-6 sites on a daily basis; will actually daily drive LadyBird if at least 3 work

fifilura1 day ago

He was lucky that the fix was to disable the functionality.

More likely would have been that it was non-compliant but chrome renders it anyway.

And from there starts the work of figuring out how exactly to make it bug-compliant with Chrome.

epgui1 day ago

Very cool project, but this article isn’t really about complexity, and complexity makes a background appearance at best.

misterdata1 day ago

Author here, I guess I could have chosen a better title. This article is about diving into complexity that seems insurmountable at first, with an engineer's mindset.

andrewstuart1 day ago

I put it to you that the web browser and the operating system are the two most sophisticated applications ever built.

No doubt it’s possible to build a simple web browser that gets some 50% of the job done and could serviceabley display some websites.

However there would a very very long tail of detail and nuance and edge cases that would be very very hard to catch up.

This is why you should use Firefox and we should never lose Firefox.

If you don’t follow it closely, the pace of new feature development in web browsers is stunning. There is a huge amount of new stuff going in constantly.

I’m not knocking this project….. developers can build whatever they like. I’m just observing that the web browser is already the Pyramids of Giza or some other such gigantic human endeavor.

asadotzler1 day ago

It's been a while since I had a need to know, but Firefox is certainly over 20 million lines of code by now. The web platform has a lot of features to support, both standardized and proprietary, and it needs to also work when web authors mis-write their sites and apps. (Forgot to close that tag, Firefox still works, that kind of stuff.)

What are the chances that a group of people come together to build another 20 million line browser? I'm with you in thinking not great. I'm also with you in supporting Firefox. That shouldn't be surprising as I'm one of the guys that started Firefox back in 2002 at Netscape when I was a member of

andrewstuart1 day ago

I thank you for your service!

samatman1 day ago

Ladybird is doing an excellent job of demonstrating that the putative unreproducible complexity of the modern web browser is just FUD.

I'm glad they didn't listen to all the people repeating the conventional wisdom that writing a modern web engine from scratch is impossible. Success is the best proof.

asadotzler1 day ago

Use it for a week. It's not really a complete web browser, IMO, kind of like trying to navigate a massive Microsoft Office document repository with Open Office in 2004.

samatman1 day ago

It isn't finished, that's true. But my bet is that at some point it will be.

notso4111 day ago


kerrie1 day ago

But is it really necesary to use the such a bloated piece of software as a web browser? i think it would be better to discard the whole web and replace it with the gemini protocol.

It can do 99.99% of what you use the web for with less resource usage. you can implement your own gemini client in 100 lines of code.

For the remainder 0.01% of stuff, use a dedicated application. Dont trust it? Use it with docker or similar.

As far as Im concerned all the browser bloat is worse than useless. Much of it is just to spy on you. Im sure these dedicated spying apps, you call web browsers, are deliberately full of security holes so they can upload your data to their servers

andrewstuart1 day ago

The web browser is one of humanities greatest achievements and I don't mean that ironically.

The more you understand about the modern web browser and how stunningly powerful it is, the more you should be amazed.

And far from bloated, the modern web browser is trim and fast given the unbelievable feature range.

And if you don't trust something you're free not to use it.

When I see Chrome or Firefox and I deeply gladdened.

Go back 25 years and any time you wanted to do something at the user interface in any context it was hard and glitchy and maybe couldn't be done at all. Want to do something in a user interface today? Chances are the browser can do it.

Truly breathtakingly beautiful and powerful software and I love it.

tantalor1 day ago

Engineers don't do stuff for fun, they do it for money.

Retr0id1 day ago

no true scotsman