Multiple browser engines are important for web diversity and prevent a monopoly-like situation.
Serenity OS and Ladybird provide educational opportunities for learning about systems programming and web browsers.
Writing code that adheres to specifications is crucial for browser compatibility and ease of contribution by new developers.
Deep dives
Ladybird: A New Browser Engine
Ladybird, the browser built on Serenity OS, is making great progress in rendering real websites and running complex JavaScript. It aims to provide an alternative to the dominant Chromium-based browsers, promoting diversity and independence in the browser engine space. By implementing web standards and contributing to standards development, Ladybird aims to ensure compatibility and cooperation among different browser engines. The project has received sponsorship from companies like Shopify, who recognize the importance of having diverse browser engines. With the strong foundation of web standards, multiple browser engines can coexist without causing excessive fragmentation or interoperability issues.
The Therapeutic Origins of Serenity OS
Andreas Kling, the creator of Serenity OS, started the project as a means of therapy after struggling with personal challenges. Serenity OS, described as a love letter to 90s user interfaces, was initially just a personal project to build his own operating system. However, it gained traction when Kling posted a video of its progress on YouTube. Serenity OS has grown into a community-driven effort with over 900 contributors on GitHub and thousands of people following the project's Discord server. The project's focus is on providing a space for enthusiasts to engage their curiosity about programming and build their own applications within the Serenity OS environment.
The Importance of Multiple Browser Engines
The dominant position of Chromium-based browsers raises concerns about a lack of diversity in the browser engine landscape. Having multiple browser engines is important to prevent a monopoly-like situation where a single engine controls what the web is and how it works. With strong web standards in place, more browser engines can be built and foster healthy competition, promoting innovation and accountability. The availability of multiple engines verifies and strengthens the web standards, ensuring that they deliver on their promises and provide a consistent and interoperable experience for users.
The Educational Value of Serenity OS
Serenity OS and Ladybird offer educational opportunities for learning about systems programming, web browsers, and operating systems. By providing a simpler and more accessible codebase compared to larger software projects, such as Firefox, Serenity OS and Ladybird allow enthusiasts and learners to explore and understand the inner workings of these complex systems. The projects aim to foster a culture of curiosity and learning, encouraging developers to contribute and expand their understanding of these foundational technologies.
The Joy of Seeing People Learn and Improve in Programming
One of the main highlights of the podcast episode is the speaker's enthusiasm for seeing young people learn new things and improve in programming. They express joy in witnessing individuals, who may have only been programming for a short while, engage with complex projects and quickly develop their skills. The speaker believes that providing an environment for learning and growth is crucial, especially with the abundance of resources available to aspiring programmers today.
Sticking to the Specifications and the Future of Serenity OS
The podcast also touches on the development of Serenity OS as a browser and its adherence to specifications. The speaker emphasizes the value of writing code that closely follows the specifications, as it not only makes it easier for new developers to contribute but also ensures that the browser remains compatible and adaptable over time. The speaker discusses their hope for Ladybird, the browser, to become a viable alternative for non-programmers, providing an experience that is comparable to mainstream browsers in terms of usability and performance.
This week we’re talking to Andreas Kling about SerenityOS and Ladybird. Andreas started SerenityOS as a means of therapy. It’s self-described as a love letter to “‘90s user interfaces with a custom Unix-like core.” Andreas previously worked at Nokia and later at Apple on the WebKit team, so he had an itch to do something along the lines of a browser, and that’s where Ladybird came from. We get into the details of compilers, OSs, browsers, web specifications, and the love of making software.
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Convex – Convex is a better type of backend — the full-stack TypeScript development platform that lets you replace your database, server functions, and glue code. Get started at convex.dev
Tailscale – Simple, secure networks for teams of any scale. Built on WireGuard.
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com