I am so delighted to see Dillo is back and being maintained again! I was looking at it in mid 2023 and was sad to see the repo linked from the main site was dead and the general lack of activity. Off the back of this, I started looking at how to extract it and use it as a library (which I ultimately failed at, alas).
I've subsequently started a little project I'm calling Freeflow, which is intended to break down pages from 'modern' html to a subset renderable in Dillo, NetSurf, etc - essentially a standard set of xpath queries for tags like `navigation` etc, plus some tinkering with RSS and other things which display pages without styling.
Now that Dillo is alive again, I'm inclined to give writing it as a DPI a whirl.
So pleased to see this. Keeping these things alive is important.
> * Changed the licence to GPL. (Raph agreed on that)
So it's probably just a typo in the article. Intended point is that the license was changed from Gzilla's private copyright notice[1] to the GPL of the time, which would probably be v2.
Nonetheless Dillo's code is also licensed under GPLv3 now.
I wonder, is there a good reason to use Dillo over something like Netsurf or Ladybird nowadays? They support far more of the Web (i.e. more likely to be useful) while still being lightweight.
Unfortunately, with it's use of Swift code, QT (which is now a bloated piece of trash since version 5) etc. It's just not tenable unless they give us a pure version without that shit
What is your definition of bloated? My note-taking app (with animations) binary is around 89MB[1][2]. And this is without statically linking it, using `-optimize-size` and `-ltcg` flags and running `strip` and `UXP` on it which should make it even smaller.
Well, it's not a simple note-taking app, it has a Block Editor like Notion, tho it's written in QML and C++ so it's very performant. Compare that to most Electron apps these days, and it has a way smaller binary size, way more performant, and uses much less RAM. I do aspire to trim its binary size down further, I just didn't put my attention on it yet.
It's always about choosing the best compromise, I just think Qt is a very good one . It allows you to target many platforms with a declarative UI (QML) and a compiled language (C++ or other bindings). It's a superb form of abstraction layer compared to web apps.
I'll grant you that in a world where a chat app like Discord is >400 Mb, this is on the smaller side, but that just goes to show how low our standards have become.
But then consider for a moment that the entirety of Windows 95 is ~100 Mb installed.
> but that just goes to show how low our standards have become
I totally agree. We need to do better. But I still stand with Qt being a good option. There are ways to lower Qt apps binary sizes down to 11MB[1] or 8.3MB[2].
Qt hails from the era when software was routinely measured in megabytes, so it's designed with that in mind. I suspect that it's QML specifically that contributes the most bloat in this case.
It’s a compiled language, but in terms of runtime performance, memory usage, and binary size, it’s closer to C#/Java/Go than C/C++/Rust. Yet its compile times are among the worst of any of those.
Swift requires LLVM and has shit performance. I'm generally a fan of only C/C++ and Pascal/Modula stuff. All these new found languages like Rust and swift are pure trash.
Have you tried using Ladybird? The performance is unfortunately not very good. On the other hand Dillo loads pages instantly, even if most pages don't look right.
NetSurf’s UX, at least on Linux, is worse. The engine renders more but the actual browser around it feels half baked which is not the case with Dillo. Perhaps the main RISC OS version isn’t like this. The Windows version was barely functional last I tried it, it was not even what I would call pre-alpha, it was basically just a tech demo.
When I first installed GUI on Linux on my Rpi zero(with 512MB RAM), it was one of the three browsers along with midori,qute that worked without crashing.
Dillo to me is a triumph that exhibits everything great about lightweight environments on Linux. When I had almost no money and an even massively out of date for the time Pentium 2 laptop, I was able to get a version of puppy Linux running and using dillo to browse the web and it was lightning fast.
Dillo is and has always been relentlessly lightweight and in my mind no other browser compared at executing on this mission so well.
Thank you for breathing life into my impossibly old Toshiba Tecra in 2008.
I remember as a teenager wondering why lynx felt so slow, so I looked into the source code and discovered it was literally calling sleep() while displaying status messages, so I commented that out and made my internet experience Blazingly Fast
oh I just looked into it again for fun and noticed that indeed it defaults to sleeping at least 2 seconds every time you open a URL but this can be changed in lynx.cfg by altering these defaults:
That and developers often conflate knowing how to construct UIs with how to design UIs. When lynx was first built, the difference in speed probably wasn’t that noticeable and people didn’t have the same expectations for responsiveness, so it didn’t matter, though times quickly changed.
I don’t know about that project specifically, but based on my experience trying to do design work in developer-controlled projects, maintainers and core users often convince themselves that some terrible user-hostile counter-intuitive UI— focused on graphically representing the API to the back end rather than using abstractions to solve the problems users actually want to solve— is the proper UI approach and if it doesn’t fit your use case, the problem is either you or your use case.
That sure brings some memories. They were calling sleep() so you would have time to read the messages in the status bar at the bottom of the screen. Back in 1995 or so I submitted patches changing the browser's inner loop to be select() based, with a queue of messages to show for a few seconds each without slowing down browsing. It took one night of hacking, and the maintainers rejected the approach as "too complicated".
Seconded. 1.44 megabytes is not that much, DSL was very impressive on that storage budget. I wonder how small a Linux system is possible these days, even without any GUI functionality.
"A lightweight web browser based on Dillo but with many improvements, such as: support for http, https, gemini, gopher, epub..." <- It says that in the project description... isn't that weird that it claims Dillo doesn't support HTTP and HTTPS? Also,
I occasionally use this browser for many years (maybe 10+ years) for a few scenarios, including if Firefox breaks (or gets snap'ed), or when I want to test how a website may work on a non-mainstream browser, i.e. reduced JS and CSS support. With it's very low list of dependencies, it has always been the backup.
Had No idea Raph Levian was behind the origins of Dillo. What a storied career, he really built some great stuff all across the spectrum and continues to focus on interesting stuff. I really liked his posts about rope data structures when he was working on text editors.
it can be a larger or smaller donation; and even though it's supposedly recurring, you choose whether the renewal is automatic or manual, so you can decide whether to give once or repeatedly.
(And just to clarify - I have no association with the project or Mr. Mallo)
I am always fascinated by the history of these sort of abandoned things. The same with loads of old sites you can find via wiby.me - lots of updates and work over decades then then it just suddenly... stops, with this fingerprint of a part of their life just hanging there.
I wonder what happened to the people, where they are now, what they're doing.
99 comments
[ 4.0 ms ] story [ 151 ms ] threadI've subsequently started a little project I'm calling Freeflow, which is intended to break down pages from 'modern' html to a subset renderable in Dillo, NetSurf, etc - essentially a standard set of xpath queries for tags like `navigation` etc, plus some tinkering with RSS and other things which display pages without styling.
Now that Dillo is alive again, I'm inclined to give writing it as a DPI a whirl.
So pleased to see this. Keeping these things alive is important.
I remember that Dillo did not support automatic redirects back then. They were everywhere.
I think there is no Windows 11 port of Dillo available so I sometime use Netsurf and Links Windows ports on Windows!
2. I'd say many of seeds of radical wrongness were already planted then, but it took them a while to sprout.
This does not sound right. GPLv3 is much newer than that.
> * Changed the licence to GPL. (Raph agreed on that)
So it's probably just a typo in the article. Intended point is that the license was changed from Gzilla's private copyright notice[1] to the GPL of the time, which would probably be v2.
Nonetheless Dillo's code is also licensed under GPLv3 now.
1: https://levien.com/gzilla/Copying.txt
Edit: fixed!
Genuine question. I know little of QT and nothing of its history re: Swift or version 5.
QT is bloated and resource intensive. Most of us don't want gigabytes of data being spent on special effects.
[1] https://rubymamistvalove.com/block-editor#8-performance
[2] https://get-notes.com/
It's always about choosing the best compromise, I just think Qt is a very good one . It allows you to target many platforms with a declarative UI (QML) and a compiled language (C++ or other bindings). It's a superb form of abstraction layer compared to web apps.
But then consider for a moment that the entirety of Windows 95 is ~100 Mb installed.
I totally agree. We need to do better. But I still stand with Qt being a good option. There are ways to lower Qt apps binary sizes down to 11MB[1] or 8.3MB[2].
[1] https://www.qt.io/blog/reducing-binary-size-of-qt-applicatio...
[2] https://www.kdab.com/qt-quick-without-a-gpu-i-mx6-ull/
Older and lighter toolkits like fltk are better.
Swift I can not see how it would bloat anything for end users. It’s just another compiled language.
Compared to WinUI, Android, iOS, GTk3+, let alone Electron, is there even a reason to hate/fear Qt past-2010 or so?
:-p
I'm glad it's still around.
I still have that machine.
Dillo is and has always been relentlessly lightweight and in my mind no other browser compared at executing on this mission so well.
Thank you for breathing life into my impossibly old Toshiba Tecra in 2008.
That and developers often conflate knowing how to construct UIs with how to design UIs. When lynx was first built, the difference in speed probably wasn’t that noticeable and people didn’t have the same expectations for responsiveness, so it didn’t matter, though times quickly changed.
I don’t know about that project specifically, but based on my experience trying to do design work in developer-controlled projects, maintainers and core users often convince themselves that some terrible user-hostile counter-intuitive UI— focused on graphically representing the API to the back end rather than using abstractions to solve the problems users actually want to solve— is the proper UI approach and if it doesn’t fit your use case, the problem is either you or your use case.
But I have lately been trying Dillo+ which adds some quality of life features. Have these features been incorporated into the existing Dillo?
https://github.com/crossbowerbt/dillo-plus
https://dillo-browser.github.io
says it has plugins for gemini and gopher. What's the rationale for dillo-plus then? 8-\",
And Dillo+ has a reader mode.
Anyway, I see Dillo links to these other projects - just curious if the development goes both ways.
[1]: https://fosdem.org/2025/schedule/event/fosdem-2025-4100-resu...
I occasionally use this browser for many years (maybe 10+ years) for a few scenarios, including if Firefox breaks (or gets snap'ed), or when I want to test how a website may work on a non-mainstream browser, i.e. reduced JS and CSS support. With it's very low list of dependencies, it has always been the backup.
https://bellard.org/jslinux/vm.html?url=alpine-x86-xwin.cfg&...
(Warning: this will download 30+ MB)
After it starts up, right click, and then choose Browser - Dillo. There's no HTTPS support, but Google and httpbin.org work at least.
"yo dawg, I heard you like browsing, so we put a browser in your browser so you can browse while you browse"
it can show lwn.net
it can show HN
it can show old popular local forum
it can show rss feeds
it automatically blocks (does not work on) all the popular social networks
--
what else is there?
Also:
gopher://magical.fish Huge portal, with news sources
gopher://goherddit.com Reddit
gemini://gemi.dev News Waffle, able to browse Ars Technica and so over Gemini.
Also, there's the Floodgap Public Gopher Proxy:
http://gopher.floodgap.com/gopher/
gopher://gopherddit.com
You should be head of marketing somewhere :-p
* Adopting a project others have abandoned
* Bringing a dysfunctional app it back to life
* Taking on the responsibility of maintenance
* And even doing the surrounding work of website setup, blogging, pushing it into the news etc.
... now that is the mark an upstanding hacker and a pillar of the community! :-)
Additionally, it's important to have alternative lightweight browsers, with different architecture and sets-of-dependencies.
So, consider chipping in and supporting the work monetarily as well:
https://liberapay.com/dillo/
it can be a larger or smaller donation; and even though it's supposedly recurring, you choose whether the renewal is automatic or manual, so you can decide whether to give once or repeatedly.
(And just to clarify - I have no association with the project or Mr. Mallo)
https://github.com/shugaa/florb
I wonder what happened to the people, where they are now, what they're doing.
We hope you're ok Jorge.