Interview with Ladybird developers: What works correctly with the browser alternative

Interview with Ladybird developers: What works correctly with the browser alternative

With SerenityOS, the Swede Andreas Kling has created his own free, Unix-like operating system. Now he and his team, led by community member DexesTTP, have ported the specially developed LibWeb browser engine to Linux. iX spoke to the Ladybird developer about his motivation and the future of the alternative browser. The interview was in English, the original can be found under the translation – original english interview below.

Andreas Kling is the main developer of the Unix-like operating system SerenityOS. He has worked at Apple and Nokia in the past, but has been working full-time on SerenityOS since May 2021. He recently live-coded a Linux GUI for Serenity’s LibWeb browser engine.

In your coding video you say at the beginning that you haven’t developed a Linux browser yet because you haven’t been interested in it until now. Then you say: “Today I’m suddenly interested”. What led to this sudden change?

Last week I saw the Project Code Rush documentary about Netscape’s open sourcing back in the late 1990’s. I was only a teenager when this happened and it was amazing to see what was happening behind the scenes of the browser I was using myself at the time.

Seeing how excited people were about browsers, I thought it might be fun to take our SerenityOS browser to other platforms. Our LibWeb engine could already be compiled on Linux, but nobody had made a separate graphical user interface for it yet. Then I thought, “Why not?”

What technical difficulties have you encountered when working with Linux compared to Unix and SerenityOS?

I haven’t really had any major difficulties so far, thanks largely to the excellent Qt framework, which provides a great foundation for building applications (and may also allow us in the future to run our browser on macOS and Windows systems to operate!)

Of course, it helps that I used to work on the Qt team myself as a developer of the QtWebKit browser. So there’s already a lot of familiarity there.

Reactions to your project have ranged from ecstasy to deep doubt: some commenters have been very enthusiastic and talked about being part of something really spectacular. Others were more reluctant and said you didn’t stand a chance because the internet has become far too complex for a browser developed by such a small team. How do you see the future of Ladybird? Does the browser stand a chance of becoming a real competitor to the market leaders Blink and Gecko now that it has left the Serenity silo?

People who have never worked on browsers tend to mystify their complexity. I’ve been building them most of my adult life, so I know what’s in a browser. Yes, it takes a lot of work, but none of this is magic, it’s totally doable.

Nevertheless, there is still a long way to go. Many CSS features are missing or broken. Our JavaScript engine has a good range of functions, but is still too slow for some pages. And we haven’t even started with the audio/video implementation yet. But we’ll do that at some point, too.

As for the future, who knows. I just have fun and build software with friends. If this turns into something useful for the world, great! If not, then we still had a lot of fun developing it!

Personally, it gives me great pleasure to see a new generation of browser developers learn the trade by working on our engine. Most of the people on our team had never seen browser code before and have now become real experts. That really warms my heart!

Andrew, thank you for your replies. More information about the new Linux browser Ladybird can be found in our news report.

In the “Three Questions and Answers” series, iX wants to get to the heart of today’s IT challenges – whether it’s the user’s point of view in front of the PC, the manager’s point of view or the everyday life of an administrator. Do you have suggestions from your daily practice or that of your users? Whose tips on which topic would you like to read in a nutshell? Then please write to us or leave a comment in the forum.

In your coding video, you said you hadn’t started coding a Linux browser yourself because up until now you weren’t interested. Then you said: “Today, I suddenly feel interested”. What’s the reason for the sudden spark of interest?

Last week, I watched a documentary called Project Code Rush about the open sourcing of Netscape back in the late 1990s. I was just a teenager while that was happening, and it was awesome to see what was happening behind the scenes of the browser I was using myself back then.

Seeing people excited about browsers got me thinking it could be fun to make our SerenityOS browser usable on other platforms. Our LibWeb engine could already compile on Linux, but no one had made an actual GUI for it. So I thought “why not?”

Which technical difficulties did you face working with Linux in comparison to Unix and SerenityOS?

I haven’t had any major difficulties so far, much thanks to the excellent Qt framework, which provides a great abstraction for building apps (and could also let us run the browser on macOS and Windows in the future!)

Of course, it helps that I used to work on the Qt team in the past, as a developer of the QtWebKit browser engine. So there’s a lot of familiarity here already.

Reactions on your project ranged from ecstasy to doubt: Some commenters were quite enthusiastic and spoke about witnessing something truly spectacular. Others were more reluctant and said you didn’t stand a chance, as the web had gotten much too complex for a browser created by such a small team of developers. What’s in the future for Ladybird? Is there a chance of it becoming a serious competitor to the market leaders Bling and Gecko now that it’s left the Serenity silo?

People who haven’t worked on browsers tend to mythologize their complexity. I’ve been building browsers for most of my adult life, so I know what goes into one. Yes, it’s a lot of work, but none of it is magic, and it can absolutely be done.

Still, there’s a long road ahead of us. Many CSS features are missing or broken. Our JavaScript engine has good functional coverage, but is too slow for some sites. And we haven’t even started on audio/video. But we will get there too, eventually.

As for the future, who knows. I’m just having fun and building software with friends. If it turns into something useful for the world, great! If it doesn’t, we still had a ton of fun while making it!

On a personal note, I really enjoy seeing a new generation of browser developers learn the craft by working on our engine. Most of the people on our team had never even seen browser code before, and now they’ve become serious experts. It really warms my heart!

The new JavaScript runtime Bun challenges Node, Deno & Co Previous post The new JavaScript runtime Bun challenges Node, Deno & Co
iOS 16: How Apple plans to tackle credit card fraud Next post iOS 16: How Apple plans to tackle credit card fraud