Hello friends! I am very excited about this indeed :)
If you’d like to know more about Ladybird, I did a presentation about it at the Web Engines Hackfest in Spain just two weeks ago: https://youtu.be/De8N1zrQwRs
Congrats! Sounds pretty amazing coming right on the heels of your decision to go full time. I have so many questions — hope you’ll put out an update when you’re done celebrating ;)
Yeah it's very generous and amazing. ... although, like Andreas I have some things to figure out in terms of how to liquidate the asset.
Swedish banks really don't like crypto, to the point where I've had trouble charging for API access because I couldn't prove the money wasn't from crypto :-/
I have some old friends who are deep into that world, gonna have to see what advice they have. Still, as far as problems go, it's a nice problem to have I guess.
Congrats Andreas! I'm hoping that we see Ladybird become a contender in the browser space and in 10 years the browser landscape is once again diverse!
Of course this means that in 20 years we will probably have another stagnated monoculture based on some weird 3rd party, hostile corporate fork of Ladybird, but by that time you will hopefully own a venture capital firm and will be happily sipping mojitos in the Bahamas, and the cycle shall begin again ;-)
As someone who has also been attempting to write a minimal browser in my free time, and so far has made much less progress, I fully support your fight against Big Browser.
Whenever I see your stuff it is always so cool. Im also glad to see everyone still going at it years down the line. Now that there is decent money to back it up it so much better!
Congrats Andreas. What you are building is incredible, both from a technological point of view but also for education and inspiration. That influence you can spread for me is the thing that is most exciting about the project!
Hello there, great work! I have been following since a long time, back when you were on Freenode IRC. If you do bridge your Discord to IRC, please do announce it somewhere.
One suggestion: maintain your compatibility with Linux, as this would likely bring more people to your browser and lower the barrier to work on the browser.
Is there a chance of an embeddedable/library version in the future? I think there are a lot of places where it would be useful, plus it would allow ports to more esoteric systems
Well, good news about that, a simplified version of adblocking through content filtering[0] is already part of Ladybird (and has been part of Browser[1], the version of Ladybird integrated in Serenity, for a while). There is even a video[2] where Andreas implemented it!
Hey, I tried to contact you (via twitter since I couldn't find an email) about if you would be interested in doing a talk at öredev about ladybird a few months back. I assume the lack of a reply meant you weren't interested, but if that wasn't the case and it was just drowned out in your notifications let me know :)
Hey akling, since you’re building a browser I’ve got to ask, do you have any thoughts on https://htmx.org/ or whether it could be supported as part of some extension to Ladybird?
The htmx library emulates what would be possible if browsers supported gets/posts on other html elements like buttons. It’s a library because no browser supports this natively.
@akling i'd be happy to chat about this if you are interested in extending HTML as a hypermedia. I'm the creator of htmx, and I don't think it should have to exist: it's what HTML should have evolved into.
Ladybird looks amazing. Just as I was losing faith that building a browser from scratch today was an almost impossible task that only a big company could pull off, they proved otherwise.
I compiled it and added packages to install on openSUSE for this in the readme... which was easy because you don't need much to build this browser! And it builds in a few minutes.
I wish Discord was not mandatory to interact with the community (because I strongly believe in [1]). I will not use Discord so interacting with the community might be complicated if I ever want to work on it.
I resisted starting a Discord for my open source projects for years.
With hindsight that was a mistake. I finally created one a year ago and it had a huge impact on the velocity of the project - I now have active engagement with users and a growing pool of contributors and collaborators, all thanks to that group.
I think often it's important to prioritize reducing friction to getting involved over (very rational) reservations about the platforms themselves.
How do you feel about the fact that all your institutional knowledge is now not visible outside of Discord, not indexed and barely searchable?
How do you feel about the fact that the long-term survival of this knowledge is at the whim of a company that is mostly focused on the gaming community and has no vested interest in preservation over longer time periods?
When was the last time you found an answer to a question from an ancient newsgroup or mailing list that's archived on the open web? It happens to me fairly regularly.
(for context, I help maintain a Discord for an open source project and I feel like I'm betraying the web as an ideal - and constanty wish we had chosen differently)
EDIT - I didn't look to see who I was replying to. Simon -not you of all people! I'm less concerned about your specific community than I am about the example you're setting and the the fact you're lending your voice to support a worrying trend that affects the long-term health of open source.
My experience with semi-private chats in modern times is that it encourages more conversation that are visible to more people since everything people say is not going to be trivially searchable for all time by anyone. In the age where the media and those with an axe to grind (and frankly the person interviewing you for a job in 10 years) have figured out how to dig up anything you ever said in under 10 minutes the web ideal is less than ideal. Part of learning is saying stupid things and semi-private forums makes that easier I feel.
> it encourages more conversation that are visible to more people since everything people say is not going to be trivially searchable for all time by anyone.
It also encourages more people to be assholes in my experience. I'm sure there are well moderated chats out there associated with open source projects, but I had several such abysmal experiences with Discord in the past that I'm completely done with it.
That depends. Would you take a public forum where no one ever answers questions and fixes are never implemented and the contributors feel burned out, or a Discord where questions do get answered? The OP clearly said their project got significantly more involvement since moving to Discord. The problem with lack of community involvement is that it puts more work on the contributors which means less questions are answered and burnout is much more likely.
> Would you take a public forum where no one ever answers questions and fixes are never implemented and the contributors feel burned out, or a Discord where questions do get answered?
I don't understand why these are the only choices offered. In fact - they feel fairly orthogonal. There's nothing about Discord that makes supporting a community easier - in fact I would argue it's demonstrably worse than many alternatives. It feels like an accident of history that's led to it's ascendency.
As someone that does maintain a community. I'd much prefer to have something Reddit-like (structured around topics, asynchronous). I find chat-style to be good for... well... chatting. And worse for everything else.
> There's nothing about Discord that makes supporting a community easier
It exists, it requires minimal competence or attention to technically administer, and it provides adequate (though not great) tooling for moderation (which is then significantly improved at scale with third-party tools). It also provides a unifying umbrella with a single set of affordances where everything is, from shitposting friend groups to technical projects.
IRC exists, at least in a technically-correct-is-the-best-kind-of-correct sense. It requires nontrivial competence and attention to technically administer (and like, I wrote an IRC server once and still don't ask me to tell you, or to give a damn, what the alphabet soup of flags does). Moderation is actively bad, helped only by it being sufficiently annoying to get onto IRC that you probably are putting up a "you must be this tall to ride" gate.
It also just sucks to use. Phones exist and supporting them adequately is not optional in 2023. Bouncers are not a solution, they are an additional problem.
There's also limited space in people's brains for all the alternatives. Most people seem to find that That One Friend Who Uses Telegram (or Signal, or WhatsApp) when everybody else you know is on the Signal (or Telegram, or WhatsApp) island to be drifting away--it's not dissimilar. This also ejects Zulip--which is quite nice, IMO--and Mattermost-- which is not--and similar because when you've already got Slack and Discord fighting for cognitive space, a third option had better be step-change better, and they're not.
> It feels like an accident of history that's led to it's ascendency.
Sure? It was good enough, soon enough. Other things weren't good enough or soon enough.
> I'd much prefer to have something Reddit-like (structured around topics, asynchronous). I find chat-style to be good for... well... chatting. And worse for everything else.
Great, but most people...don't, and it's not hard to understand why. Chat has won because the world is an increasingly frustrating place and people have steadily decreasing ability to care about fucking with stuff. Forums are, for the most part, fucking with stuff. And worse: it's fucking with stuff for an unclear payout with regards to the thing that the prospective visitor cares about.
Other people don't care about your stuff as much as you care about your stuff, and that's not a dig, that's just how people's brains work. You can go stand alone, and appeal to the sliver who want to deal with creating an account and validating an email address and figuring out where the reply button is (oops it was the post button, now I created a new thread and people think I'm a rude jerk)...or you can use the thing everybody already does use, understands, and at least is willing to tolerate.
Unless you have a forum that has a genuine raison d'etre to stand alone as a thing, and are willing to consider a low-cut filter a feature of your community, it's a bad choice. And if you do qualify for those maybe it's a great choice, but most things simply do not.
Something Awful provides a real reason to be a distinct thing. Most other attempts at forums don't, regardless of topic.
That's a helluva false dichotomy you've got going on there. How about a forum that shows up in the search results in Google when I ask it about my problem? Without me needing to bother or wait for someone else to respond, especially if it's the middle of the night.
My kingdom for a Discord bot to slurp up all the messages and LLM me an FAQ.
Discord servers aren’t fully private. Messages can be extracted. Neither Google nor Discord need to officially do anything. The people of Discord servers can decide how info can be publicly shared. There are nuances to care about like people’s privacy and comfort.
It's worth repeating the maxim "Defaults Matter". It's a fair bit of effort to mirror Discord to the web, and it's unclear whether it's officially frowned upon. Add to that the nuances you refer to and the end result is lots of valuable knowledge that will never be preserved, will rarely be found and will one day disappear.
Those all seem like good things to me. Not the loss of knowledge being mainstreamed but the trade offs. An ultimate goal for knowledge doesn’t usually go well from my limited experience.
Running a discord server for an open source project, I very much echo this feeling. I came after the discord server's creation, and the best I can do is help keep the IRC open and advocate that we keep the server on the lowest security level so people without accounts can join (in the odd case that feature actually works - it's very strictly behind captchas and IP rangebans, and desktop-only). Getting people off the platform and moving elsewhere is not an option, even if I had full decision-making power.
But it's a question that constantly weighs on my mind. There's a lot of knowledge and information archived in the server, and it's really not easily findable without knowing to look in the discord server. Opening a second Q&A site would mean nobody would ask there, as the barrier to entry and use would be too high (even if it had a discord login). Using github discussions binds us even closer to github (they can't be exported), and I'm not comfortable with that either.
I would love to see a service appear that allows us to publish discord forums on the net. I feel this is the closest thing we can do to something that would actually spark change. Discord's forum system is absolutely rancid compared to everything else, but my biggest priority is getting the information out there and at least slightly ordered. I feel this would encourage the most people to actually use it.
> I would love to see a service appear that allows us to publish discord forums on the net.
Check out https://linen.dev. See https://www.linen.dev/d/tfos for an example (that's my own Discord community). Before discovering Linen I also made a proof-of-concept for something similar (https://discord.tfos.co); I might try to make some updates to that at some point so I can change the design.
That makes me think, has anyone created a Discord bot that automatically archives chats? Preferably as HTML files similar to Pidgin? That would be great.
I've thought about this in the past, it's not difficult to do. I've used the Discord API in the past, you can listen to literally all messages that happen in the server. Streaming those into a DB and displaying them in a web-based UI (with Pidgin-like HTML export) would be straightforward. Maybe that'll be my next weekend's project.
Edit: My sibling mentions the appropriateness of such a thing, and I do think letting users know that their messages will be posted on the web is important, but either way, if it's a public channel of a FOSS project's Discord server, surely people understand that those messages aren't private to begin with, right?
> surely people understand that those messages aren't private to begin with, right?
For some reason, this is really hard for people to get. The discord company is super paranoid about scraper bots joining through public links, and people themselves are continuously in awe when someone digs up an old message about whatever, asking the mods to ban them for doxing.
I completely agree with the sentiment, however, and I think it should become more socially acceptable for some chats to be viewable online, like forums used to be back in the day. Even then, people would close certain subforums off from appearing for people without an account (e.g. in public searches). As it stands, however, people are not comfortable with this because nobody is doing it.
It would be wise to disclose that messages are archived publicly. But you also don't need to archive the identity of everyone in the chats, you can replace their usernames with generic identifiers in the public archive.
Well, yeah. I wouldn't do it behind people's backs, but I'm pretty sure people would protest, and new people would miss the message no matter how big you make it in the introduction channel.
I suspect it's against the Discord TOS - but even if it's not there's a bunch of community expectations to manage. For recent forums we've added a disclaimer to the channel discription notifying people that we might make the contents web public at some point.
Discord also encourages certain usage patterns that are unhealthy. Threads are rarely used and have poor discoverability, search is incredibly limited etc.
Someone stirred up a bit of drama doing something similar a few years ago. The biggest difference is that they were selling it and harvesting it without any consent from users or server admins.
I certainly worry about that - it's one of the reasons I held out for so long.
My solution to this is a cultural one. Any time a question comes up on Discord that should be in the documentation, I add it to the docs.
If it's a bug report, I open a GitHub issue.
I often copy and paste messages out of Discord and into the relevant issues to keep them searchable and available in the most useful context.
It's a bit of extra admin work for me, but the stronger community I get from having a social space for people to hang out with each other is more than worth it.
Pretty sure that COVID showed the exact opposite. Our brains evolved in the meatspace and won't be happy anywhere else.
Even the success of remote work shows this. People want to avoid the office (and the commute) to get more time with friends, family, and their hobbies. The internet is most successful when it helps people live the life they want in the meatspace, not when it tries to replace it.
In my experience, there is usually some percentage of people that archive whatever channels they use. Sometimes they will put them up on a website.
There's also nothing stopping anyone from doing that, and it's quite easy. I've always just had irssi running on some server that archives everything and I ssh into the server when I want to chat.
While it is true that many public IRC channels publish logs on the web, I cannot remember the last time such a log ever showed up in my google results. It virtually never happens. If somebody's primary concern with discord is search engine indexing (rather than discord being a for-profit company, not a federated service? rather than the discord desktop app spying on the other programs you run? rather than discord requiring most people to hand over their phone number to use the service?) then surely they have the precise same beef with IRC if they stop to think about it.
Honestly, not being indexed by google is the least offensive aspect of discord. For most people these days I think it is actually a benefit. Tides are changing, common people are becoming apprehensive about their words being immortalized in some ledger easily accessible to the public which future employers will be able to trawl through for disqualifying out-of-context remarks. The objective in such chat rooms like discord and IRC is to make ephemeral connections to other people and discuss things in the moment, not to build up a semi-permanent corpus of information for the benefit of people googling things in the future.
In case you're not aware, as an operator/mod/admin it's fairly straight-forward to bridge a Discord channel to Matrix (and, if one so desires, from there to IRC), allowing users not on Discord to participate. Conservative mods concerned about spam can start with an allowlist for which servers can join.
In addition, it's also easy to use something like Matterbridge[0] to bridge Discord to other apps!
I do this for one of my projects as I find that Discord is where a lot of people are, and people find it accessible. But for those of us who do not love the closed ecosystem, it's nice to have alternatives.
Very strong agree re Discord. Quite apart from Drew's ideological reasons to oppose Discord, with which I quite agree, I also tend to find that (a) busy group chats are not a great way to coordinate software development, and (b) the kinds of communities Discord is structurally designed to foster really don't tend to be communities I wish to be part of.
I am a big fan of kling and his work on Ladybird though, and I wish the project the absolute best.
Andreas seems like a guy that is more interesting in building stuff than ceremony/principles around how to build stuff. Which is probably why he has founded a highly productive community.
>Just as I lost faith that building a browser from scratch today was an almost impossible task that only a big company could pull off, they proved otherwise.
I feel like just intersection of people who know how web / webbrowser works and know how to write compilers is relatively low
I compiled it and added packages to install on openSUSE for this in the readme... which was easy because you don't need much to build this browser! And it builds in a few minutes.
Did you also make this post from it?
I wish Discord was not mandatory to interact with the community
Agreed. My preference is IRC or even mailing lists.
> I wish Discord was not mandatory to interact with the community (because I strongly believe in [1]).
While I understand this preference and am sympathetic to it, I hope this means that you're doing the (heavy, thankless) work to make IRC or mailing lists more reasonably usable for a modern audience on modern devices.
Email's problem is mostly just that email has been rendered almost useless by bad affordances across the board and the general disregard for signal-to-noise, but IRC manages to even be worse. I have a phone in my pocket; I expect continuous connection and history. No, I'm not going to start a bouncer. No, I'm not going to pay somebody else to do it. And no, I'm not going to start a history-archive bot so I can see what I missed.
People moved because these tools are inadequate. Maybe somebody wants to make those tools better, but I don't see it happening at the scales necessary to make these more than but-for complaints.
As I mentioned in a sibling, I quite like Zulip. But its problem is pretty simply that people have limited attention span, willingness to change, and most people in the tech space already have Slack on the brain and Discord is probably at least passingly familiar.
Asking people to put up with a third thing--a third set of ways to do things, a third app on the taskbar or on the phone--is asking a lot of people in the current hellscape. (It's a lot like how most groups just quietly let that one person who only uses Telegram and won't use Signal/WhatsApp/the group preference du jour...drift away.) That's not Zulip's fault, but also kind of disqualifying unless you consider that filter a feature. And if that's a feature to you, your desire for a community is probably nontrivially smaller and stubbier than that of folks who are using Discord in the first place.
The reason is that I'm trying to keep my messages effective. If I complain against everything at the same time, I risk being ignored.
I don't like the closed nature of GitHub neither. I hope the free software world move away at some point.
The open source world can't seem to avoid locking itself in those closed tools, I would really like if we stopped doing this.
I chose Discord because I see it as a bigger issue than GitHub, with which one can interact with standard tools like emails and git, and basic stuff work without JS. So one can both refuse to run non-free code and interact with GitHub. Still not ideal and concerning.
Try to go back to the early 2000s and tell someone that the open source world is going to trust MS to host all their stuff. You would probably have difficulties to be taken seriously.
(Although it is to be noted that back then many people used SourceForge which was also proprietary)
Absolutely fair to call out both on similar grounds on openness and privacy being proprietary (publicly-traded megacorp vs. VC funded). One difference would be at least GitHub results can be found with a search engine and without authentication (though you cannot use the search for “Code” without an account).
It's the exactly right type of project. High profile and high impact. The status quo of the software industry needs to be shaken up, and this has the potential to be exact right sort of rude awakening.
The fact that solo devs or small teams on a shoestring budget are time and time again shown to be surprisingly competitive with billion dollar companies retaining supposedly the best and brightest in the world is undeniably egg on their face.
It raises concerning questions about the entire industry, how we do things when we build software, where money is flowing.
Ladybird is currently far from competetive. Andreas himself told that his loose goal for Ladybird is to be able to render YouTube page correctly and play video with sound - 5 years from now.
I'm looking mostly at what it could be. Ladybird has every potential of becoming the Linux of web browsers. And it took Linux what, over a decade to mostly displace the competition in the server space.
These types of projects are long term, but public perception matters. Making waves matters. The audacious possibility that it might just succeed matters.
As a multi-decade long Firefox user, I am going to say no.
Firefox is produced by a single company and its users are completely beholden to the choices that the company makes.
In some ways, Chromium is closer to being the Linux of browsers. There are multiple “distributions” or instances of the technology ( Chrome, Edge, Brave, and others ). There is at least some collaboration on the core.
Chromium is not developed nearly as collaboratively as Linux though and certainly it is dominated by Google.
What we need is something like Ladybird which is community driven prior to corporate involvement and that is led by that community and not by a company.
Not that we have not lost this opportunity before. KHTML was community driven before Apple co-opted it for WebKit which Google later forked to Blink.
Ladybird is perhaps already in a better spot being cross-platform vs only the browser in SerenityOS. It is also a “complete” project with JavaScript and multimedia already built in. Let’s work to keep the project together as a browser and not chase bits of it getting ripped off and taken elsewhere.
Agreed. There are far more differences/changes between Chromium-based browsers than Firefox ones (which just remove Mozilla telemetry or provide a way to use old-style extensions). It really was a huge shame that they chose to base Edge on Chromium instead and I feel it points to clear issues in Firefox that prevent it from being the Linux of browsers.
I do wonder what's so wrong with FF that nobody wants to base their fork on it.
> I do wonder what's so wrong with FF that nobody wants to base their fork on it.
It's compatibility. I use Firefox now it less exclusively, and sometimes I'll need to go on some "normie" website to book a flight or something and the Continue button will be broken or some shit. Seems like lots of web devs will just make the sure works in Chrome and call it a day.
> sometimes I'll need to go on some "normie" website to book a flight or something
I have ungoogled chromium installed alongside firefox for exactly this reason. A lot of mainstream sites clearly do not care about supporting other engines.
Nobody cares there's only one implementation that's really used widely for Java. I don't see why I should care what VM is used for the web. Chromium can be that and you can build whatever tooling on top to interact with that VM
I think this argument would have credibility if it wasn't for the fact that Google is ostensibly waging a war against the ability to extend the browser in any way that harms their ads business (with Manifest v3).
Google has a massive conflict of interest with the free and independent web in a way that Oracle does not have with the ability to build and run arbitrary Java applications.
I'd say to keep antitrust suits off their ass is even too strong a formulation ;) considering US antitrust is what has led the acquisition of DoubleClick and YouTube by Google happen (and that of WhatsApp by Facebook). Time to hold those responsible for this ... responsible.
Linux is Linux thanks to large involvement of big tech. It remains to be seen if any Big Tech companies would be interested in seriously supporting development of an open source browser.
Big tech used Linux to wage a proxy war against Microsoft from a safe distance without needing to actually commit to anything.
Linus Torvalds had nothing to his name when he started working on Linux. He was just some kid from Finland, but the audacity the project gave it attention and visibility, and visibility came with funding.
I think in general a hint of audacity along with being able to demonstrate capabilities to follow through is a great recipe for having people throw money at you, and the more money you have to work with, the more options you have to keep demonstrating what you can do.
A lot of people have a vested interest in shaking up the tech world. It's just a matter of finding the right fuses to light.
> A lot of people have a vested interest in shaking up the tech world.
I'd imagine you're one of us, considering you went full-time on your search engine :)
We had Andreas demo his OS / browser [0] at Handmade Cities [1]. These conferences are what I run full-time independently. I'm excited to see a flourishing of audacity, so to speak!
Yeah. Andreas is an inspiration and a trailblazer, and although we're on slightly different journeys, we have similar ambitions I think :D
It's weird, it's become this truth in software development that one should lower their ambitions, try to do something small and not overextend. Don't try to reinvent the wheel, stay in your lane.
Which I guess is sage advice for a beginner, but I think it sort of stuck with the developer hive mind and as a result, what you get is these small low-impact projects instead of this kind of a moonshot.
While I don't think just anyone could make a browser or a search engine, I also don't think most who could would ever think to try because of these self-imposed limitations.
I have been following Andreas' YT channel for ~8 months now and it's been fun - miss the Car talk ones lately but the live bug fixing, the updates and how he has pulled himself out of some dark times - it's all very inspiring. IOW 2x100k would not possibly have gone to a better guy!
He does this all for fun and even if Ladybird doesn't become the #1 browser the learnings in developing a x-platform browser in themselves would make this all worthwhile!
Congrats! Considering HTML but mostly CSS complexity is expanding all the time as we speak (discussed on the HN front page right now [1]), are there points to be addressed at the likes of W3C, Inc and github.com/whatwg to make your work easier or even possible? Such as versioned CSS specs/CSS profiles (subsets), test suites aligned with CSS or HTML versions, test suites usable without JS (eg web-platform-test for CSS requires in-browser scripting last I checked), formal specifications/better algorithmical layout descriptions, etc? Are you targetting specific HTML versions such as WHATWG's preview drafts/snapshots?
Good luck with your project! Maybe naming your sponsors can help to get even more contributions and contributors?
I can offer some help/advice with HTML parsing, but I guess you have figured that one out and are following the procedural parsing description, whereas my expertise would be the SGMLisms on which it is based (and its minute re-construction from the HTML5 spec).
but mostly CSS complexity is expanding all the time as we speak
That's the biggest problem facing new browser implementations, and IMHO it's deliberate. Probably 99% of sites out there do not need any of the new crap that gets constantly added to the "standard", but continued propaganda by those constantly in power will practically guarantee that they will, under some guise of "progress" or "modernity". WHATWG is basically controlled by Big Tech (and was created because they didn't like the W3C's approach to stability) and popularised the idiotic oxymoron "living standard". Constant churn is how they're trying to maintain their monopoly, because they have the sheer manpower to outrun competitors.
I agree in principle; a reasonable spec that doesn't change all the time is what's needed for supporting next-gen browser development (as in inspire a new generation). But that's not what's happening at all; collaborators of github.com/whatwg even welcomed the rejection of HTML profiles/subsets and target device classes when the idea was brought up by MS (to save IE, but still ;)
But the ones responsible for the piece of shit that is CSS are actually W3C, Inc. Not that the bad looks of Google having them by the balls is better than your scenario eg the impression W3C on its last legs receiving money to keep the illusion of a multi-party effort of web standards.
A lot of CSS seems excessive but I, for one, am glad with a lot of the additions over the years. CSS tables are great (better than flexbox for many layouts IMO), CSS masks combined with gradients and other background tricks save us from manually positioned SVGs that have to be just the right size.
Recent additions include the :has pseudo class, which I've wanted for a while, a subgrid layout to alleviate the problems nesting grids can cause, scroll snapping should make those annoying Apple style scrolling web pages less of a problem to deal with, and there are tons of other great features out there as well.
With these, we can finally get rid of the janky mess that we needed 10 years ago. No more magical "width: auto auto" for centering text. No more lists of "display: float" to get dynamic sizing.
The newer the standards are, the better the documentation is in my experience. Older CSS had a lot of shitty implementation defined behavior that has since been documented to correspond to what most browsers seemed to do anyway. The newer standards seem to be written with an actual intend to be implemented consistently.
You could build almost any modern web page in Microsoft FrontPage twenty years ago with enough carefully crafted GIFs, but I think we all agree that CSS has improved for the better since then. If it weren't for all these "living standards", you would barely be able to use the web on your phone. I remember the PDA internet era, back before the iPhone made showing real websites on your smartphone a thing developers became aware of. It was not good.
Servo was moved to the Linux Foundation in 2019, and earlier this year Igalia (an open source consulting company) contributed funds and developer time to advance the project. I believe they have a small team full time on it. You can read more here:
Does this change anything about the feel of working on it, I wonder? Until now, it has been a real passion project. I wonder if this will make working on it more of a chore, or if it will affect the "roadmap".
I hope someone donates $100k to the programming language project of theirs next.
And lastly, the most important thing is for him to stay sober. My understanding of the whole "serenity" project was as an alternative to drinking that was fun and fulfilling. I hope the money doesn't cause stress, or otherwise change what the project is or how it works, such that it no longer works for its original and primary function.
Great to see this! However, I see Windows is supported only via WSL. If this is to be adopted by the mainstream then perhaps native Windows support becomes paramount at some point.
This is mostly because Ladybird is just a way to test LibWeb and other components outside of SerenityOS, it also purposefully doesn't have a lot of usability features and instead is packed with debug features. I assume that in the future somebody will build a proper browser UI with native support for Windows.
Because Google retains tight control over Chromium and outsiders generally have no say in important decisions/changes. If Google kills support for one image format in favor of their own, that basically means every Chromium fork doesn't support that format.
That said, most modern browsers already are forks of Chromium. It'd be nice to have a third option that isn't just Google or Google-funded.
“Chromium browsers” are not actual forks, they’re still the same Chrome.
What they could do, as GP suggested, is actually fork an existing engine and start with a working foundation that’s already compatible with the existing web.
Note: Google did it, they forked WebKit and now nobody calls Edge a “WebKit browser”
Today people complain that Safari and Firefox are “the new IE” because they don’t keep up with the slew of updates Chrome pushes out. Nobody wants to support a third, brand-new super-buggy-forever engine.
It’s an interesting bet, but incredibly high-risk or relegate to obscurity.
All the current "forks" of Chromium basically rely on continued development by Google, saving them from having to invest in all the engineers necessary to work on, maintain and develop a proper fork. So they can limit the size of their engineering teams to what's necessary for developing surface-level features like vertical tabs (Edge) or built-in adblocking and ... uh ... crypto (Brave).
I'd say Microsoft throwing in the towel and building a flavour of Chromium instead shows that there's no corporation out there that's going to be willing to make a real fork.
The only reason why Ladybird exists at all is because it's a part of SerenityOS, which was started because the founder wanted to make his own OS for daily use. Like, of course the guy's gonna write his own browser instead of just forking Chromium.
Congrats for such a nice acknowledgement of your work. While looking at their other project I am curious that the author has decided to invent their own memory safe language currently implemented as transpiler to C++ written in Rust. Why not to just use Rust as their system language. I can imagine potential nightmares when debugging such concoction.
> While looking at their other project I am curious that the author has decided to invent their own memory safe language currently implemented as transpiler to C++ written in Rust. [...] I can imagine potential nightmares when debugging such concoction.
Compatibility with C++ is required at this point in time to interface with the thousands of lines of C++ code that have already been written. Assuming that everything will be written in Jakt at some point, then one could look into making more grave changes without having to care about compatibility (including maybe skipping the C++ part alltogether).
> Why not to just use Rust as their system language.
Rust has been evaluated, but discarded (mainly, iirc) due to it's approach (or lack thereof) for OOP. Also, the whole "we want to make things ourselves" thing.
There was a video in which Andreas explained in detail what problems he had with Rust. I agreed with a lot of them.
It should be noted that most of the SerenityOS umbrella is written in modern C++ (modern enough that you may very well need to compile a compiler to build the project). Rust and C++ can interoperate, but the process isn't exactly user friendly.
The goal of the language, as I understand it, was to make working on the rest of the Serenity projects more pleasant and safe. Even modern C++ has some annoying footguns but rewriting the entire system simply wasn't an option.
As such, jakt compiles to C++, specially C++ that interoperates with a lot of SerenityOS code, and doing that from Rust code would probably be a much worse experience.
At first glance I felt that 100k wasn't really going to move the needle in creating a new browser engine but in fact (after reading the link below) it's not insignificant. There are a lot of contributers to this project, and funding the project lead is a big step in the right direction.
Realistically another browser engine really isn't needed. 2 is enough. Given the scale of the work involved it'll take a lot more than money to make this mainstream.
Bur that doesn't mean it's not important. These sorts of projects have value beyond main-stream use cases. While those uses are small, they can end up being significant.
> Realistically another browser engine really isn't needed. 2 is enough.
Currently the internet is what Chrome is - if Google decides that they don't like something on the internet, they can just wipe it. Firefox is dying. (And Safari is... well... it does things). The internet has been rotting away for good part of the last decade. We definitely don't have enough browser engines, we are in dire need of more.
Google definitely did everything they could to marginalize Firefox, but Firefox's position isn't entirely the making of Google. Mozilla was also busy messing things up, and alienate not only their adhoc users, but many of their diehard fanatics also.
Firefox isn't dying because it's a bad browser or because it has no place on the market. It is dying because of mismanagement, mostly for not knowing what their users really want and need. They have no idea why their current users are using their browser, instead of Chrome. They just go with the stream, and seemingly are content that Google is keeping them on life support.
But it doesn't mean that new browsers will make the same mistakes, or that there is no need for new ones at all.
With that said, I would be lying if I would say that you are completely wrong. I just don't want you to be right, regardless how slim of a chance it is, because the state of internet is not getting any better that way.
Firefox dying is not because it's lacking in any form of quality.
Firefox is dying because mozilla exists only as a tiny sheet of cloth over the dummy that google brings out whenever they need to dismiss antitrust/monopoly concerns.
Tell that to MS Phone. Tell that to Desktop Linux. Or OS/2. Or BeOS. Etc.
A browser is a consumer product. As such the public will gravitate between two choices. 3rd place is no-where land.
Sure 3rd place can exist, but its always a distant 3rd. Trident got canned for a reason. MS phone was a good OS, but sales offered iOS and Android.
We need a stronger second option, not another option. Mozilla at least starts at parity. A new engine now is do far behind, that without Google scales of cash (which is what it took for Chrome to even join the fray) this project cannot go anywhere material.
I'm not a fan of monopolies, but all markets have a leader a follower, and a bunch of minor placings.
As a counter-point, I remember people making the same argument when Google announced Chrome. Browsers would always be a battle between two contenders and it would be better for Google to focus on helping Firefox in its fight against Internet Explorer than creating a third browser that could never hope to scrape a meaningful market share from the existing behemoths.
It’s a long road for Ladybird to be a real competitor to Chromium. However, the road to overtaking Firefox is much shorter and I’m less hopeful that Mozilla has a road to overtake Chromium.
Chrome had two benefits over IE that Ladybird doesn't have today. The first was budget, and the second was that IE development had basically stopped.
By contrast Chrome today is perhaps Google's most active development team, and has more or less an unlimited budget.
MS saw IE as a nice-to-have, Google sees Chrome as existential.
Also, while IE was very closed source, Chromium (and Mozilla) are open. That means Ladybird is competing with Brave et al for mind share, and can't play the "we're better cause Open Source " card.
What would 100k for Mozilla do? According to their 2021 Form 990 (the latest made public) a hundred thousand dollars would pay for 6.5 days of Mitchell Baker. Does that really seem like a good use of money to you? You're free to donate your own money if so..
If you’d like to know more about Ladybird, I did a presentation about it at the Web Engines Hackfest in Spain just two weeks ago: https://youtu.be/De8N1zrQwRs