summaryrefslogtreecommitdiff
path: root/25-years/index.html
diff options
context:
space:
mode:
Diffstat (limited to '25-years/index.html')
-rw-r--r--25-years/index.html417
1 files changed, 417 insertions, 0 deletions
diff --git a/25-years/index.html b/25-years/index.html
new file mode 100644
index 0000000..cdbeba9
--- /dev/null
+++ b/25-years/index.html
@@ -0,0 +1,417 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>25 years of Dillo</title>
+ <link rel="icon" type="image/png" href="../img/favicon.png">
+ <style>
+body {
+ background: white;
+ line-height: 1.5;
+ margin: 3em;
+ font-family: sans-serif;
+ font-size: 16px;
+}
+article {
+ margin: 2em auto;
+ max-width: 80ex;
+}
+h1 {
+ font-size: 28px;
+ margin-bottom: 0.5em
+}
+h2 {
+ font-size: 24px;
+}
+figure img {
+ text-align: center;
+}
+footer {
+ text-align: center;
+ margin-top: 2em;
+ clear: both;
+}
+figure {
+ vertical-align: top;
+ margin: 1em auto;
+ text-align: center;
+}
+figcaption {
+ padding-top: 0.5em;
+ font-size: 13px;
+ font-style: italic;
+}
+ </style>
+ </head>
+
+<body>
+<article>
+<h1>25 years of Dillo</h1>
+<i>Written on 2024-12-15 by Rodrigo Arias Mallo</i>
+
+<p>Back in 1999, a group of developers lead by Jorge Arellano Cid forked the
+<a href="https://levien.com/gzilla/">Gzilla/Armadillo</a> code originally
+developed by Raph Levien, and began working on what is now known as the Dillo
+web browser.
+
+<p>Today, as of December of 2024, <b>Dillo is 25 years old!</b></p>
+
+<p>During this long journey, the project has seen a lot of changes and has
+stalled several times, but it managed to survive to this day. As a commemoration
+of this milestone, so I wanted to write a short history of the project.</p>
+
+<p>Notice that Jorge had lead the project from 1999 until 2019, and as of
+today, we don't have more news about him anymore. I hope he is okay and just
+decided to move on to other projects. Since then, I (Rodrigo) decided to
+resurrect the project and bring it back to life. I have no relationship with the
+previous developers, but I try to do my best to keep the original goals intact.
+
+<p>This document tries to tells the history as I have observed it through the pieces I was
+able to collect from the
+<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/latest">mailing
+ list</a>, the
+<a
+ href="https://raw.githubusercontent.com/dillo-browser/dillo/refs/heads/master/ChangeLog">changelog</a>
+and the
+<a href="https://github.com/dillo-browser/dillo/commits/master/">git
+ history</a>.
+
+<h3>GTK period (1999 - 2006)</h3>
+
+<p>When Dillo was forked, it was using GTK 1.0 as the UI library. The first
+releases were done in December of 1999 as recorded in the ChangeLog. At the
+time, this is how Gzilla 0.3.9 looked like:
+
+<figure>
+ <a href="img/gzilla-0.3.9.png">
+ <img alt="Gzilla 0.3.9" src="thumb/gzilla-0.3.9.jpg"></a>
+ </a>
+ <figcaption>Dillo 0.8.3, source <a href="https://commons.wikimedia.org/wiki/File:Gzilla-039.png">WikiMedia</a>
+ </figcaption>
+</figure>
+
+<p>During the initial development, Jorge first designed and wrote the naming
+convention for the function names (like prefixing them with a_ when they are
+public) or using 3 spaces for indentation, and began adjusting the code base to
+follow the same convention.
+
+<p>On March of 2000, the license was changed to the GPLv3 with the permission of
+Raph Levien (the main developer of Gzilla/Armadillo).
+
+<p>The browser experimented a large rewrite with the idea to maintain several
+flows of communication following a signal driven approach. This work ended up in the
+publication
+<i><a href="https://ieeexplore.ieee.org/document/890406">Network programming
+ internals of the Dillo Web browser</a></i> by Jorge Arellano-Cid and H.H.
+Von Brand. This work would later derive in the Concomitant Control Chain (CCC),
+the mechanism that Dillo still uses today to track multiple connections and
+among its internal modules.
+
+<p>Sebastian Geerken began working on the code base at least since June of 2000.
+First submitting small patches and then moving to the rendering engine, of which
+he became the main architect. The rendering engine is one of the most important
+components of the browser, which essentially reads a tree of elements and
+determines the size and position of each element on the screen, like the
+words of paragraphs and images.
+
+<p>The support for HTML and CSS features started to grow during the coming
+years, specially for tables and text elements.
+
+<p>Shortly after GTK2 was released, the team was considering porting Dillo to
+it, but there were some concerns regarding the complexity and size of the new
+GTK version.
+
+<p>On October of 2003,
+<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/QES7WLKQMOKJ6UMYK2FYRQV4QTWMBABI/">
+ Jorge asked the FLTK maintainer Michael Sweet</a> if it would be feasible to
+port Dillo to FLTK, as it was considered to align better with the objectives of
+speed and stability:
+
+<blockquote>
+We were following our plan to port dillo from GTK1 (currently
+used TK) to GTK2, when one of our list subscribers suggested
+considering FLTK because of shared philosophy backgrounds
+</blockquote>
+
+<p>The team decided to focus on FLTK 2 instead of GTK 2.0, as it was considered
+far more bloated and slow. Notice that at the time, FLTK 2 was not yet released,
+but is was planning to be released "soon".
+
+<p>On August 2004, Sebastian decided to make an interesting design decision,
+<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/EKVI6KKMVBLPKA54IPPIV5PKNR3OBJW5/">to make the
+ Dillo widget toolkit independent</a>. This way it was posible to continue the
+development of GTK1 and FLTK2 in parallel, among other benefits.
+
+<blockquote>
+The most complex part is certainly Dw, since it is tightly bound to
+Gtk+. By all means, I want to prevent, that there exist different
+versions of Dw, with different features (e.g., when the development of
+the Gtk+ version continues, while the FLTK version is developed),
+which are hard to integrate.
+
+<p>For this reason (and others), I'm currently working on a redesign of
+Dw, which will make Dw toolkit independant. This is not the single
+goal of this redesign, it will also make some other features possible,
+e.g. a preview window, in which the whole page may be seen with
+reduced size, also, it will make reusage of Dw within graphical
+plugins possibel, and some more. (Actually, the idea for this design
+is already older, except the platform independency, but this was simple
+to add.)
+</blockquote>
+
+<p>During this period, the DPI mechanism (plugins) was improved and some
+functionality was moved to external programs that talk to the browser via the
+DPI protocol, like the downloads, bookmarks, FTP and also HTTPS. The version
+0.8.3 released on October, 2004 had already HTTPS support. Here is how it looked
+like (still using GTK1):
+
+<figure>
+ <a href="img/dillo-0.8.3.png">
+ <img alt="Dillo 0.8.3" src="thumb/dillo-0.8.3.jpg">
+ </a>
+ <figcaption>Dillo 0.8.3, source <a href="https://commons.wikimedia.org/wiki/File:Dillo.png">WikiMedia</a>
+ </figcaption>
+</figure>
+
+<p>During the following years, the development of the FLTK port was underway.
+The functionality that was provided by glib was implemented in a custom Dlib
+library so Dillo would not need to depend on glib anymore.
+
+
+<p>On February 2005, Jorge and Sebastian gave
+<a href="https://dillo-browser.github.io/old/conferences.html">a
+ talk at FOSDEM</a> about the Dillo browser. Unfortunately, there is no
+recording of that talk. But shortly after, Jorge gave another talk at LSM in
+2005 which is was recorded, which was the first time the FLTK2 implementation
+was shown.
+
+<figure>
+ <a href="https://www.youtube.com/watch?v=A6mb9qt2-3o">
+ <img alt="Picture of Jorge from the LSM 2005 video" src="lsm.jpg">
+ </a>
+ <figcaption>Picture of Jorge from the LSM 2005 video, from the <a
+ href="https://www.youtube.com/watch?v=A6mb9qt2-3o">YouTube video</a>
+ </figcaption>
+</figure>
+
+<p>The last release that still used GTK1 was 0.8.6 on April, 2006. We will have
+to wait two years until the next release 2.0.0 was finally published with the
+port to FLTK2 completed.
+
+<h2>FLTK 2 period (2005 - 2011)</h2>
+
+<p>The porting to FLTK2 was intended to make the browser smaller and provide other
+features like antialiasing. On April 2005, Jorge reported that the port to FLTK2
+was making
+<a
+ href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/LKXQDFLOSGOOG7K63XIFQD6DNFU3PRIC/">great
+ progress</a>.
+
+<blockquote>
+<p>Here are some good news with our current progress in porting
+dillo to FLTK. It has being going-on very fast and we have made great progress
+so far.
+</blockquote>
+
+<p>Here is how the browser looked like with FTLK2:
+
+<figure>
+ <img alt="First versions of Dillo using FLTK2" src="ph1.png">
+ <figcaption>First versions of Dillo using FLTK2</figcaption>
+</figure>
+</blockquote>
+
+<p>During this time however, the source code for the new FLTK2 port was not
+available in the CVS to the public. Instead, Jorge was focusing on rising
+funding to cover the project development from some interested companies.
+<p>On March 2006, Jorge reported that so far
+<a
+ href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/NQYEX32HFQXG3UO235IDUP6IFRG34EDS/">it
+ was not being successful in attracting funding</a>.
+The project faced a serious risk of stalling.
+
+<p>After mid 2006, there were no more releases of Dillo until 2008, and so far
+no success in getting more developers involved or funding for the project. The
+project was considered frozen or stalled and the FLTK2 code remained closed
+source.
+
+<p>On April 2007, Jorge
+<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/DBDCWY7AK65QNTLKJMC6DPH7KQFLVKWV/">reports</a>
+that he had intentions to release the FLTK2 port
+as soon as Sebastian agrees.
+
+<blockquote>
+In fact, I think it was more or less 6 months ago, after some
+emails with Andrew Tanenbaum, who finally helped me to see that
+it was a good time to release the code again.
+
+Since then, I've tried to contact Sebastian to agree on this.
+</blockquote>
+
+On September 30, 2007, Jorge finally
+<a
+ href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/2ODF4BFCKD6W33NRVSDER5Z7BEHLOBKZ/?noscript">announces</a> that the FLTK2 port is now
+available:
+
+<blockquote>
+<p>This is an alpha release of the next generation of the Dillo
+web browser. The code underwent a major rewrite: significant
+parts of the codebase were ported to C++, and the rendering
+engine now uses the FLTK2 library instead of GTK1.
+
+<p>Please read the README inside dillo's tarball.
+
+<p>Developers willing to join the project and contribute are
+highly encouraged. Sebastian did an excellent work documenting
+the new dillo widget engine (just run doxygen inside DW tree).
+</blockquote>
+
+<p>This move started a lot of patches from other developers that were quickly
+integrated in the FLTK2 port. These contributions pushed Dillo towards an active
+state of development again.
+
+<p>On September of 2008, Jorge
+<a
+ href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/IJ273SVPTQ32DP4YZZ427MGPDCVXB4ER/?noscript">announced</a> the support for tabs, which was
+included for the release. After a lot of bug fixing, the next version based on
+FLTK2 was ready and on October of 2008, Dillo 2.0.0 was finally released.
+
+<p>A year later, on July of 2009,
+<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/SKJ3DQURZWEMS7O3UAURQFM3EHNZFV7M/?noscript">Jorge
+ announces that he is now a father</a>, and
+his time for developing Dillo will (understandably) be affected.
+
+<blockquote>
+I'm quite happy to let you know that yesterday 19 Aug [July],
+my first daughter Lisa was born!
+
+<p>Everything is OK, we're vey happy with this "release" :) and I just wanted to
+communicate it here, so you more or less know or understand my activities (or
+lack of) in the next days.
+</blockquote>
+
+<p>More features and bug fixes were added in the coming releases, until the last
+release of the 2.X series, the version 2.2.1 released on 2011. During this
+period, we don't observe more patches from Sebastian or emails in the mailing
+list.
+
+<p>Here is how Dillo was looking in the 2.2 version, very similar as how it
+looks today:
+
+<figure>
+ <a href="img/dillo-2.2.png">
+ <img alt="Dillo 2.2" src="thumb/dillo-2.2.jpg">
+ </a>
+ <figcaption>Dillo 2.2, source <a
+ href="https://tuxarena.blogspot.com/2010/09/how-to-install-dillo-web-browser-in.html">TuxArena</a>
+ </figcaption>
+</figure>
+
+During this period, another problem was coming in FLTK. The
+<a
+ href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/O4YFNSCDATQDKUNRHUJPGEDJPNKGXLDP/">development for
+ FLTK2 was considered stalled</a> and there was no official version released.
+ This caused issued in downstream distributions, as Dillo required to link with
+ a FLTK package that was not available.
+
+<p>So, the team decided to switch to FLTK 1.3 as soon as it was released, and bump
+Dillo to the series 3.X.
+
+<h2>FLTK 1.3 period (2011 - 2016)</h2>
+
+<p>On June 2011, with the FLTK 1.3 release done, the port of Dillo to FLTK 1.3 was
+underway. Only a few months later, the first 3.0.0 release using FLTK 1.3 was
+published.
+
+<p>On July of 2012, Sebastian presented a new hyphenation algorithm that
+implements the same mechanism used in TeX. This new implementation makes its way
+to the 3.0.3 release on April of 2013.
+
+<p>Several releases were made until the version 3.0.5 on June 2015.
+
+<p>During these last two years, we see a shift in the amount of commits
+introduced by Sebastian, which grow quite substantially.
+
+<figure>
+<img style="width:100%" alt="Commits" src="commits-author.png">
+</figure>
+
+On that time, Sebastian was working on the GROWS redesign, which changed the way
+the size of the widgets (elements of the page) where computed.
+
+<p>Sadly, on October 2016, <a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/OCKYTCIUXPQ26DIBNBIZVJARJEIJXDBI/?noscript">Sebastian
+ passed away</a>, leaving much of his work not included into a new release.
+
+Since then, the development quickly stalled until in 2019 Jorge sent his last
+email <a
+ href="https://groups.google.com/g/dillo/c/UQ1nWyMa3yo/m/07qhu9KqAgAJ">recorded
+ by the mailing list</a>, recommending a user to simply use the current version
+of the repository, rather than waiting for the 3.1 release:
+
+<blockquote>
+&gt; According to the info on<br>
+&gt; https://hg.dillo.org/dillo/raw-file/default/ChangeLog, dillo-3.1 [not
+released yet].<br>
+&gt;<br>
+&gt; I will probably wait until they release it officially.<br>
+<br>
+IMHO, you should get it. It's being stable for years.<br>
+<br>
+--<br>
+Cheers<br>
+Jorge.-
+</blockquote>
+
+<p>After this moment, the project began to deteriorate. On 2022 the DNS domain
+of dillo.org <a href="/dillo.org.html">was lost</a>, causing the website, the
+mercurial repository, the mailing list and the email server to disappear.
+
+<p>The project quickly became abandoned, as there was no more developer activity
+anywhere. The dillo.org site now became a weird zombie copy of the once original
+website, but now plagued with SPAM in a Wordpress blog.
+
+<h2>The resurrection (2024 - present)</h2>
+
+<p>On December of 2023, I began spending some time patching Dillo to make it build
+again. I tried to fix some simple bugs, and when I saw that the Atari forum had
+managed to port Dillo to Atari (!) based on my repo I though that it may be
+feasible to try to resurrect it. I commented it on
+<a href="https://news.ycombinator.com/item?id=38847613">Hacker News</a> and it
+got surprised on the of interest it drew.
+
+<p>I first made a GitHub organization to hold the Git repositories and used the
+GitHub pages to make a new Dillo website. I tried to get a copy of all materials
+I could, and upload them to the new website and mailing list.
+
+<p>I tried to fix all the issues to finally make the 3.1.0 release, and after
+some months of work in my free time, I managed to release it on May of 2024. It
+caught the attention of
+<a href="https://www.theregister.com/2024/05/07/dillo_browser_v3_1/">several</a>
+<a href="https://9to5linux.com/dillo-3-1-open-source-web-browser-released-after-9-year-hiatus">news</a>
+<a
+ href="https://hackaday.com/2024/05/11/the-minimalistic-dillo-web-browser-is-back/">sites</a>
+and soon later it made its way to several
+<a href="https://repology.org/project/dillo/versions">Linux distributions</a>.
+
+<p>As of today, 15 of December of 2024, I continue to maintain the project, and
+we are getting some new contributors which help with patches and discussion
+about the development. We are still far from having enough developers to cover
+all the issues, but we are slowly making some progress.
+
+<p>The last release of Dillo is 3.1.1, and this is what is looks like when
+loading the new Dillo website:
+
+<figure>
+ <a href="img/dillo-3.1.1.png">
+ <img alt="Dillo 2.2" src="thumb/dillo-3.1.1.jpg">
+ </a>
+ <figcaption>Dillo 3.1.1 in my computer</a>
+ </figcaption>
+</figure>
+
+<footer>
+<a href="../index.html">&larr; Home</a>
+</footer>
+</article>
+</body>
+</html>