FUTO presents Andreas Kling's talk on Ladybird Browser

Andreas Kling's Keynote Presentation on the Ladybird Browser

Estimated read time: 1:20

    Learn to use AI like a Pro

    Get the latest AI workflows to boost your productivity and business performance, delivered weekly by expert consultants. Enjoy step-by-step guides, weekly Q&A sessions, and full access to our AI workflow archive.

    Canva Logo
    Claude AI Logo
    Google Gemini Logo
    HeyGen Logo
    Hugging Face Logo
    Microsoft Logo
    OpenAI Logo
    Zapier Logo
    Canva Logo
    Claude AI Logo
    Google Gemini Logo
    HeyGen Logo
    Hugging Face Logo
    Microsoft Logo
    OpenAI Logo
    Zapier Logo

    Summary

    Andreas Kling, a longstanding browser enthusiast, presented the story of Ladybird, a new open-source browser, and its revolutionary model. Launching from his personal recovery journey through Serenity OS, Kling discussed the state of the browser industry dominated by Chromium. He shared his journey of transforming his passion project into Ladybird, a novel browser aiming to operate without user monetization. With community passion, generous sponsorship, and a structured non-profit, Ladybird aspires to challenge existing browser norms by focusing on web standards and transparency.

      Highlights

      • Andreas Kling, a browser aficionado turned creator, is behind the Ladybird Browser Initiative. 🌐
      • Ladybird stands out for not being based on Chromium and promises to stay free of user tracking and monetization. πŸ›‘οΈ
      • Kling's journey turned from tech work to tackling substance abuse, which led to the birth of Ladybird through Serenity OS. 🎒
      • Funded through substantial sponsorships, Ladybird operates as a non-profit, focusing on an independent, user-friendly browser. 🌟

      Key Takeaways

      • Andreas Kling is creating Ladybird, a browser independent of Chromium, a rarity in today's browser market dominated by Google. πŸš€
      • Ladybird focuses on transparency and community involvement, unlike other browsers that rely on ad revenue and user tracking. πŸ”
      • Spurred by substance abuse recovery, Kling reinvented his career by building this open-source, privacy-focused browser. 🌱
      • Ladybird has piqued interest for its commitment to avoiding traditional monetization methods, pushing boundaries of current browser models. πŸ’‘

      Overview

      Andreas Kling's journey is one of personal evolution and technical innovation, leading to the conception of Ladybird, a browser that promises to change the way we surf the web. Kling presented at FUTO about how his passion for browsers, triggered by personal life challenges, culminated in a fresh alternative to existing web surfing tools. With his project, he seeks to break away from the norm of browsers being primarily ad-revenue funded, creating instead a transparent and community-driven platform.

        The keynote presentation shed light on the dominance of Chromium-based browsers in today's market and how financial ties to Google influence the ecosystem. Kling highlighted Ladybird's independence, devoid of such ties, aiming to operate purely on open-web principles. He shared his funding journey, achieving support from major entities like Shopify and GitHub, ensuring a robust start for Ladybird's development mission.

          With a committed team and strong non-profit backing, Ladybird’s development is not just a technical endeavor but a philosophical shift toward accessibility and openness. Kling's open-source approach, community-driven development, and non-reliance on monetization from users set a new precedent in browser creation, inspiring possibilities for a more diverse digital landscape.

            Chapters

            • 00:00 - 01:00: Introduction and Background The chapter introduces Ladybird, a web browser, and the speaker, Andreas Clling, who is a dedicated browser enthusiast and the founder of the Ladybird Browser Initiative. He invites the audience to connect with him for ideas related to browsers.
            • 01:00 - 05:00: Industry Overview and Challenges The chapter discusses the speaker's extensive experience in working with various browser engines over the past two decades. Starting with KHTML on KDE, the speaker moved on to work at Nokia on the Qt WebKit, then at Apple on WebKit for the Safari browser, and most recently on the Ladybird project since 2019. The narrative emphasizes a lifelong passion and deep involvement in browser development, setting the stage with a humorous introduction.
            • 05:00 - 11:00: Ladybird Browser Origin and Development The chapter "Ladybird Browser Origin and Development" discusses the current state of web browsers where most major browsers like Chrome, Brave, Vivaldi, Edge, and Opera are essentially based on Chromium. They mainly add some unique features on top of the Chromium base to differentiate themselves. The chapter hints at a metaphorical scene where 'Peter puts on the glasses' to perceive this reality of browsers being largely similar under the hood.
            • 11:00 - 16:00: Ladybird Team and Vision In this chapter, the focus is on the intersection between the technology and business strategy of web browsers. The chapter uses a Venn diagram to illustrate the connections. The left circle represents the technological engine, Chromium, created by Google, which many browsers use as their foundation. The right circle symbolizes the financial aspect, showing how companies are funded by Google, particularly receiving significant payments for directing search queries to Google's search engine. This illustrates the dual dependency on Google's technology and funding in the browser industry.
            • 16:00 - 30:00: Future Work and Closing Remarks The chapter discusses the financial dynamics related to Google's advertising revenue, emphasizing the substantial funds generated through ad sales on search result pages. It highlights significant expenditures by Google, such as $2 billion annually on the Chrome browser and $20 billion to Apple to maintain Google as the default search engine for Safari. Additionally, Google spends approximately half a billion dollars annually with Mozilla to secure its status as the default search engine.

            Andreas Kling's Keynote Presentation on the Ladybird Browser Transcription

            • 00:00 - 00:30 All right. So, I'm here to talk about Ladybird, uh, which is a browser. Does anybody here not use a browser now? Okay, you all know what it liar. All right. So, uh, I am Andreas Clling. I am a lifelong browser nerd. I've been doing browsers my whole adult life. And, uh, today I'm the founder of the Ladybird Browser Initiative. Uh, and you can find me on the web or email me if you have ideas about browsers. Um, so to
            • 00:30 - 01:00 illustrate what I mean by a lifelong browser nerd, these are the browser engines that I've worked on in my life. Starting back in 2005, so 20 years ago, working on the KHTML engine and KDE for those of you who were around for that. Um, later had a job at Nokia working on cute WebKit. Then I worked at Apple on WebKit and the Safari browser. And since 2019, I'm doing the Ladybird project. So, um, let's start with a meme. I promise I won't try to be funny
            • 01:00 - 01:30 a lot, but, um, so you may have seen this. Uh, if you're not in on the joke because you're not super into browsers, the the thing here is that all of the browsers um are essentially Chromium under the hood, right? So, Chrome, Brave, Vivaldi, Edge, Opera, all of these guys, they're just taking Chromium and then putting a little bit of value ad on top. Um and um when Peter puts on the glasses, he sees this and um that's
            • 01:30 - 02:00 the the state of the business. But the way I like to visualize this is with a ven diagram. So uh in the left circle here we have uh the engine from Google which is Chromium and all of these browsers here are building on top of Chromium. And on in the right circle we have money from Google. Um so these guys are essentially receiving huge paychecks for um sending all the search queries to the Google search engine and that's how they are funded more or less. Um and
            • 02:00 - 02:30 when we talk about Google money, that really means um advertising money that they make from selling uh ads on their search result pages, right? And it's quite a lot of money. Um themselves they spend about 2 billion a year on the Chrome browser. Um they also pay about 20 billion a year to Apple to be the default search engine for Safari. Uh and about half a billion a year to Mozilla to be the default search engine for
            • 02:30 - 03:00 Firefox. And so um this is a very very big business. Um and what does all that money buy? So you can probably guess what happens if you give millions or billions of dollars to software engineering teams. But if you haven't seen it happen in person, I can tell you that they hire hundreds of engineers and those hundreds of engineers write tens of millions of lines of code because that's just what happens. It's like nobody has ever hired 200 engineers and
            • 03:00 - 03:30 gotten like a 10,000 line project out of it. Um, and tens of thousands of million tens of millions of lines of code uh requires hundreds of engineers to maintain and to continue developing. Um, anybody who's tried to do anything with Chrome, like Luke was talking about, um, you quickly feel that it takes quite a lot of people to to do anything with it. Uh, and if you need hundreds of engineers to develop and maintain something, well, you need that money to keep flowing. So, we are now trapped in
            • 03:30 - 04:00 a little bit of an awkward situation because everyone needs a browser except the one guy who says he doesn't use one. Um, and the entire industry around browsers is just propped up by this Google search ad uh revenue. Uh and there is not a single viable option outside of this paradigm. Like nobody has attempted in earnest to do anything differently than this. Um there are people who have been experimenting with different um income streams but they're
            • 04:00 - 04:30 always experimenting like at a thin slice of the layer. So Brave is a good example of that. Like they are chromium underneath but they are trying to find other ways to make money which is cool but it's not the whole thing. And to make things even more chaotic, um we now have the DOJ, this is four days ago, the DOJ is recommending that Google be forced to sell Chrome. Um and that they can no longer pay other browsers to uh be the default search engine. So what
            • 04:30 - 05:00 happens if a judge is okay with this? We have absolutely no idea. Who would buy Chrome, right? Luke would buy Chrome. Okay, good. Uh good luck raising for that. Um so yeah, they're only Yeah, we don't know what's going to happen, but uh decision coming later in next month, I think. Um but it's a mess, right? This whole thing is just a mess. And you might think that now I'm going
            • 05:00 - 05:30 to say, and this is where I come in because I have a great idea how we can solve all this. um and kind of but um I didn't really come here by like looking at the market and identifying an opportunity. So I have to explain why am I here? Uh because in 2017 I quit big tech. So I I used to work at Apple on Safari. Uh and I just left. Um and I thought I would try to get some kind of new career. Uh but it turns out that uh
            • 05:30 - 06:00 I just got into substance abuse instead because I was a sort of spare time substance abuser when I had a job and then I didn't have a job suddenly. So I was a full-time substance abuser. Um and that went just as well as you might expect. Uh I lasted I think about 8 months or something like that before my wife said I had to go to rehab. So I did and it was a beautiful experience. uh spent three months in state rehab program and uh when I graduated from
            • 06:00 - 06:30 that I had nothing but time um because when you do drugs you do drugs all day uh and if you're not doing the drugs you're thinking about the drugs or like trying to get more drugs and now I didn't have any of those activities so I needed to do something so I just got back into programming um so I started doodling with stuff I always had like always wanted to do but never did um so I wrote a little operating ing system kernel. Here's a screenshot of it booting I think in QMU or something like that. Uh and then I wrote a little guey
            • 06:30 - 07:00 toolkit because I thought it would be fun to make a guey toolkit, right? Like windows buttons, text boxes, stuff like that. Um and then one day I thought, what if you mash those together? Then you have a graphical operating system. So I did that and it became Serenity OS which uh was named after the serenity prayer that I learned in rehab. And I had a lot of fun with this. So, uh, I just was just sitting programming
            • 07:00 - 07:30 this thing all day and completely replace one addiction with another, but this was way better. My my, uh, my addiction counselor said that don't worry about it. Like, you can get addicted to this. Uh, you can also eat however much you want and do whatever sports you want. Um, but this was my my new addiction. Uh, so I did a lot of random stuff. just wrote apps uh like a process manager, IRC client, very exciting um graphical file manager, text editor. Um I just kept doing this,
            • 07:30 - 08:00 posting videos to YouTube about it and built a little community around this as well. So more and more people were hacking on it. Uh and in 2019, we of course got Doom [Applause] running. Thank you. Yes, this is uh mandatory for all new operating systems and all hardware projects. At some point, you have to run Doom. So, we ran Doom. Um, feeling very accomplished. And another random thing that I did, and you
            • 08:00 - 08:30 might see where this is going, was a simple HTML viewer widget cuz I thought it would be cool to have rich text, right? So, this is the earliest screenshot of that. Um, just messing around with some CSS colors here. Um, and once I started working on this, it just felt so familiar, so easy, like, oh, working on browsers again, right? And I just kept messing with this. And the next year, we added JavaScript and HTTPS to this thing, which meant that
            • 08:30 - 09:00 now we could like try to load real websites. Um, not just HTML and CSS, but like the real things. Uh, so we had Reddit kind of sort of working in the old layout. You can see a lot of flaws here, but uh it was really cool to us back then. Uh and in 2022, we conquered the ACID 3 test. Um I don't know if anybody here remembers that test, but in 2010 or so, this was like a big standards compliance test that the W3C put out. Um and I think we were like 12
            • 09:00 - 09:30 years behind at this point, but we were the first new browser, new open source browser that had passed the test since it was introduced. So um this was like the first time that people started taking us a little bit more seriously uh because yeah a lot of people had tried to build new browsers but nobody got this far essentially. So uh later that same year we ported it to Linux. So until this point you had to um boot into Serenity OS if you wanted to use this browser. So
            • 09:30 - 10:00 that was kind of uh cumbersome let's say especially for the the daily edit compile test cycle that I was in. So this meant that now I could just run the browser on Linux uh mess around with it much much faster and the guey for the browser on Linux was called Ladybird. So that's where the name started. Uh and then in 2023 the next year something starts to happen to me in my head and my heart. Um I start to feel like this could become a real browser. Um like wouldn't that be cool, right?
            • 10:00 - 10:30 And more people are getting excited about it as well. like everybody I show this thing to, they say, "Hey, couldn't this become a real browser?" Um, and so I'm just brainstorming with my wife, Catalene, who's here today. Thank you for coming. Um, we're talking about like, how the heck do I do this? Like, what are the actual steps to take this from a funny little thing in the Serenity OS hobby project, uh, and turn it into a real browser so that people can actually use it. Um, and my thinking
            • 10:30 - 11:00 is that, uh, people might not want to financially support Serenity OS because it's like a huge hobby playground for hackers. Um, but they might want to financially support Ladybird um, as a browser for everybody to have. And so I decide I'm going to test the waters with this idea uh, by signing some big sponsors. and then if that works out, I'll hire some people to help me work on this. So, this was like the whole plan.
            • 11:00 - 11:30 And uh where do you find big sponsors? Well, I I had a couple sponsors already. So, I was on Patreon and GitHub sponsors and stuff like that. Uh people had found me through YouTube. Uh and so uh I was able to score some major sponsorships by just reaching out to um some folks in my sponsor list. Uh the first one I tried was uh Toby from Shopify who had been sponsoring me forever. And I asked him if he thought like, "Hey, we're going to
            • 11:30 - 12:00 try to make something real out of Ladybird. What do you think? Would Shopify sponsor that?" He said, "Yes, of course. We'll give you $100,000." Um that was the first person I asked about this. So I was like shocked, right? How well is this working? Um, and then like a week later, I talked to Chris Wroth, uh, GitHub co-founder, and I told him about the Toby Shopify thing, and he said, "Cool, I'll match it." I'm like, "Oh, jeez." Okay. Uh, I didn't
            • 12:00 - 12:30 have any way to receive this kind of money. So, uh, they were both asking like, "Where do we send the money?" Uh, and I ended up just receiving it, uh, on GitHub sponsors as donations through there. Um, I I was just not prepared for things moving so fast. Uh, and then when I posted about this on Twitter, um, some anonymous person showed up and gave me another $100,000 in crypto, which was a whole other chapter, but I' I've paid taxes on it finally. It was a
            • 12:30 - 13:00 nightmare. Uh, but anyway, now I had like $300,000, so within the span of a week, right? Uh, so I had to go and execute the plan then. So, I hired two of our main contributors, Alex and Andrew, um, who had already been working on the stuff in their spare time. And I, it was super easy. I knew they were productive, like, come work for me. Uh, and they did. And, uh, we just, uh, hacked on it for a year, but, um, didn't talk about it um, the plan much still.
            • 13:00 - 13:30 Uh but at the same time, Chris Wroth here and I, we were uh putting together a nonprofit so that um if anybody else wanted to give us $100,000, which is apparently um not entirely crazy, uh we would have some kind of structure to receive that money because I already felt super awkward with all this money coming to me personally. And you know, if you want to take money from people, you should have some way of of being transparent about
            • 13:30 - 14:00 it. And um the nonprofit structure gives us the ability to say, "Hey, this is our mission. We're actually going to do this with the money if you give it to us." Um so um next thing that had to happen though was that I had to fork Ladybird from Serenity OS. Um because up until this point, Ladybird was just a little part of the greater Serenity OS project. And I wanted Serenity to remain sort of a hobby community project for the people
            • 14:00 - 14:30 who enjoy getting doomed to run on stuff, right? Um, and this was going to have a very different flavor. So I forked uh Ladybird from Serenity OS and left Serenity OS in the hands of the the maintainer group. Uh, and then I was free to announce the Ladybird browser initiative, which is our nonprofit. And, uh, this is the, um, structure that we're in today. And one of our large time sponsors was FO. So, I
            • 14:30 - 15:00 talked to Aeron. He liked what we were doing. And thanks, Aaron. Uh, and they they pitched in 200,000 uh, here as well. So, nowadays we're really wellunded. Um, we have runway to go for quite a while. Uh, and this is how I ended up with a browser um to fill this gap in the market that I talked about earlier. Um, so let me tell you briefly about the Ladybird team. So this is kind
            • 15:00 - 15:30 of what it looks like in emoji. Um, there's seven of us paid engineers, myself included. And then we also have a large uh volunteer community of people who just work on Ladyburn in their spare time, hang out on Discord, fix random stuff, and then disappear, never to be seen again. Or if they stick around long enough, maybe I hire them. Who knows? Uh I've hired everybody so far on our team has been hired out of this u community. So um I feel very good about that. That
            • 15:30 - 16:00 seems like the most wholesome way to hire people, right? Um, and what this team does is build Ladybird. So, let's talk about what is Ladybird because in some ways it's been a project in search of a narrative. Um, and we're we're always evolving the narrative because it started as, hey, I'm just making this little thing for Serenity OS for fun. Um, but now we have all this money. We're we're working on this seriously trying to build a product. So, um, what Ladybird is is a
            • 16:00 - 16:30 new browser engine. New browser and engine. uh based on web standards. So it's not based on Chromium, not based on WebKit, not based on Firefox, not based on anything, just based on standards and we have no intentions of doing any user monetization. Uh so we're not going to get rich here. Um we are in fact going to be pretty poor. Um but I think that's okay. There needs to be there needs to be a browser that doesn't make that much money. And
            • 16:30 - 17:00 um some would say that was supposed to be Mozilla, but I I think maybe they went a little astray. Um but but we want to be that browser, right? So that means that we're not going to sell default search placement. We're not going to track users in any way. We're not going to have crypto tokens. We're not going to put ad identifying stuff, uh ad tech in the browser, any any of that stuff. We're not going to try to make money off of you. Uh, and we are independent, which means that we take donations and
            • 17:00 - 17:30 sponsorships, but they're all no strings attached. If you sponsor us, we will put your logo on our website and say thank you. That's where it stops. Um, so, uh, you you if you're familiar with the space, you might recognize that we've sort of taken, um, what a lot of the other big nonprofits are doing and just done the opposite. So uh a problem that we see is that a lot of the large software nonprofits they uh take sponsorships and then give board seats in return. Um so they sell
            • 17:30 - 18:00 control over the the projects to the highest sponsor. Uh and very importantly we are also just a browser. We have no side quests. We're not looking for alternative revenue streams. We're not trying to uh sell you a VPN or um uh I don't know anything really. Nothing. We're just building a browser. Very simple. It's easy to understand. If you donate money to us, it will 100% go to browser development and nothing but browser development. Uh so what are our goals
            • 18:00 - 18:30 for this project? Well, the first one is obvious. We want to render the web with good stability, security, and performance. That kind of just means that you won't notice uh any of these aspects of it. Uh I think good performance is when you don't think about performance. Bad performance is when you notice it. And uh same thing with stability, right? Like good stability is you don't think about stability. Uh we also want to advance the web platform by implementing the web specs and improving them as we go. We are the first people
            • 18:30 - 19:00 to actually take the web specs and implement them from scratch in a very long time. Um all the other browsers started like long before the specs existed. Uh they're that old. So um we are just taking the specs and implementing them and finding a lot of issues and working with the standards standards bodies to improve the specs. U we want to increase the biological diversity of the browser engine ecosystem. Um from the the meme at the start you'll see that everybody's
            • 19:00 - 19:30 building on Chromium now, right? And we think this is sad. We think there should be more browser engines. Um, and an open standard is really only open if it has multiple independent implementations. Um, otherwise it's not really an open standard, I don't think. Uh, we also want to find a sustainable way to develop browsers with limited funding. This is kind of my favorite thing right now to think about. So, um,
            • 19:30 - 20:00 like I said, we're never going to be rich. we're not going to have access to Google ad money because we have set up our nonprofits in such a way that we reject all those forms of funding. Um, which means we have to figure out how the hell do we build one of these things if we can never have more than 15 20 developers tops, right? Um, and we also want to nurture our organic developer community and this is part of finding a sustainable way to develop the browser. So my thinking is
            • 20:00 - 20:30 that um if we have a core team of paid engineers that can handle 75% of the work then the long tale of like random incompatibilities on the web like my local hairdressers website doesn't look correct um in my hometown in Madagascar. All right. Um we're not going to be able to track all those things down. But we want to empower developers to become
            • 20:30 - 21:00 sort of temporary deputy browser developers and figure these things out and then help us fix the browser. And right now we're just planting seeds for this kind of stuff. But um I believe that if we keep the browser simple, very hackable, very approachable uh and we have excellent documentations for getting people into browser development, uh we can then um sort of leverage our organic community and into helping us cover the the huge
            • 21:00 - 21:30 long tale of compatibility issues. So in terms of timeline, we started a nonprofit last year. you are here at Futa and uh next year we're going to do an alpha release on Linux and Mac OS. Uh people always ask us probably not this crowd but people elsewhere always ask why not Windows? Um because we don't have anybody who knows Windows development very well at the moment and we only have so many people deal with it, right? Um if somebody
            • 21:30 - 22:00 wants to fund um a Windows developer to work on this, please hire one. Uh but um at the moment we are experts in Linux and Mac OS. So we're focusing on that. Um and then we want to do a beta release in 27 followed by a production release for all platforms including Windows in 28. Um so that's kind of what we're looking at. And depending on who you ask, this is either an insane schedule uh or a extremely slow
            • 22:00 - 22:30 um schedule that is just vaporware. I don't know. Um, I feel like it's pretty balanced. We're we're making good progress and we're gonna have something worthy of calling alpha next year. We'll see. Um, so here are some screenshots of the browser. Um, they are just some random websites I screenshotted here in the office. And as you can see, these are like real websites that are from the
            • 22:30 - 23:00 modern web. Um, the modern web generally works. uh I would say 90 to 95% correctly. Um but of course you really notice those remaining 10 five 10% uh because you have little layout glitches, you have little inconsistencies, we select the wrong font or something like that. Um and every website has some little unique thing that we have to track down. But this is not a toy by any means. Like these are real websites and they work. Uh they have bad performance but they work.
            • 23:00 - 23:30 So if you look at Java, our JavaScript engine, it is called lib.js and this is the spec compliance test that runs every day on a website called test262.fyi. We were recently the top one, the very first in spec compliance, but freaking spider monkey from Mozilla um went and fixed a bunch of stuff and now they are number one. But uh we're going to we're going to get back on top. Uh, we
            • 23:30 - 24:00 were bastards. Um, this this slide was so much better a few days ago. Um, but yeah, so we we've been on top of spec compliance, right? So you throw us some JavaScript, we'll run it. JavaScript is not a problem. It's like the single easiest part of the building a browser is running JavaScript correctly. Quickly is another story, but correctly is easy. Um and for the web platform so like all the HTML, CSS, DOM, XML,
            • 24:00 - 24:30 streams, everything. Um there is a giant test suite called a web platform tests. This is a joint effort by all the browser vendors to um build like a massive battery of tests. And the idea is like whenever a brow an engineer on a browser team from any any company um creates a browser test he will put it into this repository and then all browsers can run the test. So there's like 2 million tests and as you can see
            • 24:30 - 25:00 Chrome is doing best on the web platform test followed by Firefox and Safari but then there's us in fourth place. Uh and we're already passing I think 1.78 million of the 2 million tests. So we have been making excellent progress on this. I will admit that uh there were some lowhanging fruit that we focused on first but uh the lowhanging fruit is all gone. Now it's just a grind to to incre increase this number. Uh but we are
            • 25:00 - 25:30 working on it and it's it's really fun. And uh we're also hoping that uh FL and servo will step up their efforts so that we can have a little bit of a competition would be nice. Um but even if they don't we still have Safari to catch up to which we will. So uh let me give you a very quick technical overview of the project. Uh it is a full stack browser and engine written in C++. Um really just because that's what Serenity OS was written in.
            • 25:30 - 26:00 So we just inherited that code. U probably would have used a different language if I started today but that's not what happened. Uh it's about 425,000 lines of code compared to I think you said 35 million lines for Chromium just to give you an idea of the change the difference in in scope here right and uh all the web technology is written from scratch using specd driven development. So we're not working from uh bug compatibility or like imitating
            • 26:00 - 26:30 another browser or anything like that. We're we're starting with the spec and like implementing step by step uh primarily and we do use thirdarty libraries for uh stuff that isn't web tech. So you know like encryption networking 2D 3D graphics audio video image formats um webp JPEG PNG these kind of things uh good to have. We don't want to implement them. We did implement them for Serenity OS but our implementations were slow. So
            • 26:30 - 27:00 uh they they get to live on forever in Serenity OS but uh here we are using leveraging the very nice um open- source libraries that exist and yeah it runs on Linux and Mac OS today those are primary development platforms. Uh so I said spectriven development so let me just give you a concrete example of what that looks like. So here is a um tiny little excerpt from I think this is the DOM specification one of the many web specs.
            • 27:00 - 27:30 This is what it generally looks like in there. It's an algorithm called pre- remove for a child. Uh it has three steps and in our code it looks like this. So we have the link to this part of the spec. Uh and then we have each spec step as comments and then under the comment you can see how that's implemented and it we try to keep everything uh in sync and we want the the code to look as much as the spec language as possible which I notice here we could
            • 27:30 - 28:00 actually improve a little bit but even so this is the general idea. Uh and this has been to a tremendous benefit to us because it allows people to onboard themselves very quickly if they can orient themselves in the specification. Um they can cross reference that with our codebase super easily. So um engineers from other browser teams are telling us that they find our browser incredibly hackable because they already know the specs. They just have to go to the right place in our codebase. Uh and
            • 28:00 - 28:30 we even have people from the W3C working on Ladybird these days. uh because they just enjoy our codebase. Uh so that's super cool as well. We are a multiprocess architecture that's table stakes these days but uh um should still mention it. So we have a UI process here on the left which can be either cute or an appkit chrome or headless uh if you want to run it in headless mode and then we have a bunch of helper processes on the right for
            • 28:30 - 29:00 networking web content rendering JavaScript image decoders for uh web ps and stuff like that uh and web worker process to host um JavaScript workers. Um, so future work for this project, well, there's a lot of it. Uh, there's a long way to go, but um, if we want to break it down, there's a lot of web compatibility, which means making real websites work better. Um, you can right now go and build Ladybird and point it at your favorite website. Uh, and you will probably find some issue
            • 29:00 - 29:30 that needs fixing. There's a lot of that. Uh, spec compliance is another thing that we need to do a lot of. we have to pass more of these spec tests from the web platform tests. Um, now these two things, they are essentially the same. They're just two different angles to approach the same problem. Um, if you improve web compatibility, you you generally do so by following a spec better. And if you um improve spec compliance, you generally improve web compatibility, although you might not see how your change affects the other
            • 29:30 - 30:00 category. But in our team, we have people who vastly prefer one approach over the other. So I just encourage everybody to work in the way that they enjoy. Uh some people enjoy seeing real websites sort of tighten up and look more correct. Other people like seeing number go up on graph, right? Um I really like both. Uh so another uh item future work is site isolation. So some of the stuff that Luke was talking about uh where we want
            • 30:00 - 30:30 to we're following the old model where we want to segregate um into separate processes by domain. So today we might put google.com and facebook.com in the same process but we really don't want to do that if we can avoid it um because we want to be able to sandbox them better and prevent them from talking to each other. We also want to do a bunch of fingerprinting prevention stuff and other privacy features like preventing tracking. Um, and at the moment it's extremely fingerprintable because our
            • 30:30 - 31:00 browser looks so unique compared to every other browser. Um, if you go to these fingerprinting tests, they essentially smoke starts coming out of the computer and uh they just say like there's you are the only one with this browser who ever lived. Um, and then there's a bunch of performance work because we have to get to the point where you don't notice performance. This is generally three types of things like don't do the thing or if you have to do the thing, well, at least cache it. Uh, and if you you have
            • 31:00 - 31:30 to do the thing and you can't cach it, well then do it quickly then. Fine. Uh, we find that just not doing the thing covers a lot of performance work at the moment. Just figuring out what we can avoid. Um, but as we get more sophisticated, there will be more sophisticated performance work. And finally, we have to stay on top of these specifications because unlike hardware specs and stuff like that, these web specifications change every day. Um, every day somebody wakes up and goes to work at Google and
            • 31:30 - 32:00 edits the HTML specification. Sometimes it feels like they're doing it just to mess with us. Uh, but but they're not. They're just trying to make them better. Um, but they are what's called like living standards and that means that they change all the time and so part of our work is just like staying up to date with this and adapting our codebase to the changes and of course we are always looking for more developers. Uh we are trying to grow our developer community, trying to create more browser developers
            • 32:00 - 32:30 in the world. Um, and it's really not that spooky. If you have ever looked at at one of the main browsers out there today and you've seen that they are 35 million lines of code or whatever, it's understandable that you will get scared off. But we are just 425k lines of code. That's not that scary. Like you can wrap your head around that if you spend some time in it if you're really interested. Um and that's the end of my talk. So thank you.
            • 32:30 - 33:00 [Applause]