Dooble Web Browser
textbrowser.github.io
textbrowser.github.io
It would be interesting if it was an actual new engine.
Alternative (non khtml or gecko derivative) open-source engines sorted by descending perception of liveliness include: Ladybird[0], NetSurf[1], Links[2] and Dillo[3].
0. https://github.com/SerenityOS/serenity/tree/master/Ladybird
1. https://www.netsurf-browser.org/
We’re at the mercy of Blink and WebKit. The latter only due to Apples iron grip on iOS browsers.
A mammoth task but the Serenity team is making huge progress.
People often cite the failure of Edge/Trident - even with the resources of Microsoft, it's still impossible to compete with Google.
But there's a big difference between "competing with Google and taking significant market share away from Chrome" and just "writing a browser engine that supports the modern web and runs on personal computers". The latter is definitely not impossible.
I wish them all the best, but you can't hold up some half finished project as proof of feasibility.
When you realise that change is their weapon, and that they've been successfully convincing web developers with propaganda that the latest is the greatest, the latest features that only work in their browser, while at the same time deprecating features that existed for possibly decades before in all browsers and providing essentially equivalent functionality, you'll see the truth of the situation.
It's not "embrace, extend, extinguish"; it's "embrace, extend, extend, extend, extend..."
The internet worked on my Windows XP computer. There is scarcely little more the internet does for me today than it did then, yet somehow simply opening a modern web browser requires more memory than my entire operating system did at that time.
I wonder if it’s skill or a good underlying rendering architecture that allows rapid evolution like this.
I’ve learnt that reinventing the wheel to “get it right” is usually a fallacy among junior devs, but I wonder how much cruft that hampers productivity accumulates in a highly complex renderer over time.
First, kling worked on WebKit so he's familiar with browser arch already. Fun fact: the AK library in SerenityOS is basically a reimplementation of the WTF library in WebKit (though it's evolved a lot since then). :)
Second, web standards have come a long way since the early days of browsers. If you read through the LadyBird code lots of it is spec language converted to code. That's a testament to the huge amount of work that's gone into web standards in the past 10 years.
Third, the web is designed around the idea that not every browser supports every API and that things should mostly degrade gracefully. So lots of sites probably fall back to slower paths or feature emulation in LadyBird, or just don't render the advanced effects. That's part of the power of the web.
Fourth, the LadyBird browser doesn't try very hard to be fast. Ex. getElementById is O(n): https://github.com/SerenityOS/serenity/blob/f532f9d27935f508...
Similarly LibJS doesn't JIT. Lots of effort in modern browsers is about speed.
Fifth, LadyBird doesn't implement a lot of the modern web. There's stubs for a bunch of APIs:
https://github.com/SerenityOS/serenity/blob/f532f9d27935f508...
https://github.com/SerenityOS/serenity/blob/f532f9d27935f508...
None of that is to negate how awesome SerenityOS and LadyBird are though, I'm a huge fan.
Incredibly difficult to make a real rendering engine today.
This is not a suggestion, but something like enough to get HTMX or React rendering, plus “fetch”.
What I’m getting at is a middle ground between “no JavaScript, a la Dillo” and “basically an entire OS with a million subtle security concerns”.
Sort of like the inverse of caniuse. More like “should I implement?”
There have been a lot of improvements, in addition to the obvious bloat/creep.
> Dooble is a scientific browser. Minimal, cute, unusually stable, and available almost everywhere. Completed.
Guess it's not so completed if they're still updating.
Absolutely lacking in any context. I'm still unclear about the "why should I care?" part.
Even the title here was completely void of any meaning on what this was.
Heck. What rendering engine is it using?
That's the point I think a lot of commenters here are making. Same here, I saw the landing page and immediately dismissed it. There needs to be information about what you are offering.
By "sanely" I mean that across the board. For instance, if you go to youtube, using say, libcaca isn't sane. Just start up a helper app for web video like vlc or mpv. Similarly, you can block out a rectangle of the appropriate size for an image but you'd still start some helper app like imagemagick or whatever if the user wants to see it.
I just want a distraction free engagement with online content.
It doesn't have to be from the ground up. You can use v8 for js - large chunks of existing engines ... just make it a full screen terminal app.
What makes this scientific?
Oh wait no if I scroll down to a Dec 2022 release there's a Windows binary. I just didn't search hard enough.