Web browsers are certainly very complicated. They have to support many standards elaborated by the World Wide Web Consortium (HTML, HTTP, CSS, etc.), along with many other issues.
On Linux, the browser which can do this almost completely is Mozilla. Unfortunately, as a very large and intricate application, it calls for a fast, modern computer. On the elderly ones, it runs very slowly. My PC has a 200MHz Pentium and 32 megs of RAM, and it takes about 10 seconds to launch Mozilla. To work with it is very inconvenient.
Weak computing power isn't the only factor in favor of lightweight browsers. Others include: individual preferences, the graphics environment being used (some of the mentioned browsers don't need X), and operating system configuration. Lightweight Web browsers are useful and important.
In this review, I'll discuss four programs: Links, Dillo, Amaya, and w3m. In choosing applications, my primary requirements were: They had to be graphical Web browsers and they had to be Open Sourced. Of course, there are a few more that satisfy those requirements but were still omitted. Some of these are in a very early stage of development and aren't useful; others are too old and no longer supported.
You might ask why the Phoenix browser isn't mentioned; after all, its developers call it lightweight. I don't agree with them. Phoenix is still several megs and takes more than five seconds to launch. In my opinion, it will never be fast and small enough because of its close connection with Mozilla.
I hope this review is useful and will encourage you to try these interesting browsers. Feel free to write me about your feelings and observations.
The Links project started in 1999. Its initial author was Mikulas Patocka. In 2000, more developers joined him: Petr Kulhavy, Karel Kulhavy, and Martin Pergel. All of them come from the Czech Republic and are students at Charles University in Prague. Besides the main programmers, more than sixty people from all over the world have contributed to the project. They provide translations, testing, bugfixes, graphics, etc. It is a quite mature Open Source project released under the GPL.
For displaying Web pages, it is the best-implemented of all the browsers covered. HTML 4.01 is almost fully supported, so it's no problem for Links to show inline frames (though in some less practical way) or complicated tables. Even the positioning of page elements is exceptionally good; everything is placed where it should be. On the downside, Links doesn't support CSS styles at all. Personally, I don't find this a big disadvantage, since most sites based on CSS look good anyway.
Links uses its own set of fonts (because of portability issues), and thus doesn't depend on those delivered by the operating system. You could find this very useful, but, unfortunately, there is one big disadvantage to this implementation: There is no support for text selection. It isn't possible to copy some useful information or even paste the URL you want to visit (you must enter it manually or start a new Links instance). Another weakness of this solution is the lack of italic fonts (the bold style is used instead). (There is an unofficial branch of Links, links-hacked, which solves these problems as well as many others.)
Links also supports HTTP 1.1 (though the HTTP Authentication mechanism doesn't work), HTTPS, FTP connections, background downloads, keepalive connections, and hierarchical bookmarks. On the downside, it doesn't support plugins, so Java applets and Flash pages won't work.
Links is the browser I use for everyday work. I have to launch Mozilla for the most complicated sites (those which use DHTML or CSS heavily), but the others work very well and look very good in Links. The Czech browser is very mature, with a nice user interface and features which help to make your Web surfing pleasant.
Dillo is in an early stage of development even though, according to the changelog, the project started in 1999. Its maintainer from the beginning has been Jorge Arellano Cid. Besides him, there are three core developers and three steady developers. Unfortunately, the authors can no longer contribute to the project as actively as before, and are looking for a sponsor or other funding method.
The main factors being considered during Dillo development are speed and size. That's why the browser has been written entirely from scratch (only a few parts were taken from Gzilla). The whole is based on GTK+. Dillo is one of the fastest and smallest browsers (it competes even with text browsers in this field). The executable is less than 300kb and starts in less than 2 seconds.
One of Dillo's advantages is the way it handles history issues. A few recently-viewed pages are stored in memory, so clicking the back or forward button produces an immediate effect. There are also other mechanisms that cause sites to load rapidly.
It's hard not to appreciate Dillo's speed, its basic and most important strength. The browser not only launches very quickly but also renders pages and loads them from cache almost immediately. Besides this, it manages to draw Web sites quite well and can be successfully used in everyday work.
I believe that this small application will be widely used on embedded devices (it has been already ported to some). It fits them like no other browser. Maybe it's worthwhile to develop Dillo in this direction, then?
Amaya is one of the most interesting applications covered in this short article. The project is managed by the World Wide Web Consortium (W3C), a quite solid institution. It is used as a testing ground for new Web technologies (it supports MathML, SVG, etc.). The first public version dates to 1996, and the current one is 7.1. It is developed very actively; new releases are published very often, sometimes more than once a month. Nevertheless, it is fairly stable.
Since the W3C uses Amaya to showcase its new technologies, it supports many standards, even the newest ones. It gives you an opportunity to check them out and even (thanks to its editing capabilities) create something really interesting. Unfortunately, such an approach makes it very hard to cope with all the issues, so support for recent technologies, though initially implemented, isn't complete. Even the support for the elderly ones is sometimes not mature enough. It is worth the wait for the next release, however, since each usually adds support for a large number of features and fixes most bugs.
Let's look at what is most interesting to us, the browsing capabilities of Amaya. I'll cover the other features later.
Amaya supports such standards as HTML 4.01, XHTML, and CSS. The latter, however, isn't implemented well, since many elements aren't handled correctly or aren't handled at all. Fortunately, the situation is getting better with every new release. Also, HTML frames don't work (and probably never will; the Amaya authors find them incorrect and think they should be removed from the language itself).
Web pages are rendered quite well, though problems may sometimes occur (e.g., text or images shown in the wrong place or one element covered by another). Of course, the CSS support is a big advantage, and the appearances of many sites better fit their authors' ideas than is the case with the other browsers. Another feature which distinguishes Amaya is that you can select and copy any piece of text (you can even paste it in the edit mode).
There are a few issues with handling links in Amaya. For a start, you have to double-click to activate them, which can be quite annoying. Even worse, when you move your mouse over a link, nothing happens. The cursor doesn't change, and no information is shown in the status bar. It's often hard to figure out where the link leads.
Besides the features mentioned above, there are also a few which are very unique and interesting. The zoom function is one of them. Imagine scaling an entire page, not only the text, but also the images, vector graphics, and other elements. Thanks to this, it is not a problem to make any document readable, even one with the strangest font settings. Of course, this feature is most useful for people with sight disabilities. The other property worth mentioning is the ability to show a page in many different views; you can see the structure, source, or table of contents. There is also a view that enables you to look at pages in a text-only mode.
As for network protocols, Amaya does very well. HTTP 1.0 and 1.1 both work with no problems (thanks to the libwww library, also developed by the W3C). If you want, you can also use WebDAV or FTP to make a connection. This means that you are able to save the documents you edit directly on your server (the HTTP PUT method is available as well). For small Web sites, this is simply a great solution, since you need only one application to cope with HTML-related work.
It's time now to show what makes Amaya a completely unique browser. As I said at the beginning, document types such as MathML and SVG are supported. Moreover, you can not only view, but also edit them. What about combining many technologies into one file? It's possible, so think about embedding equations in HTML and enriching the whole with nice SVG-based charts or drawings. And don't forget about XML and annotations! They are here as well.
For those who like experimenting with new technologies, Amaya is just great. It is also suitable for preparing scientific works (and, of course, HTML Web pages). The HTML, SVG, and MathML mixing ability and the fact that Amaya is an authoring tool enable this. I guess that because of more work being done on these aspects of the application, browsing capabilities aren't as good as they could be. However, I think Amaya can be used in everyday work.
Amaya is certainly one of the most interesting browsers mentioned in this article. The authors of the project are praiseworthy. However, I don't use Amaya very often.
w3m is quite an old browser (the first version was released in 1995), and it isn't being developed very actively. The author, Akinori Ito, doesn't add new features currently, he only tries to fix bugs. Besides the main branch, there are a few which equip w3m with features such as multilingual text support.
w3m is really a text-based browser. The reason I decided to cover it here is that it now supports image displaying; you don't need to use external tools to view them anymore. You might think that it is little more than Lynx, but that's not true. It has many features that Lynx lacks, such as really nice support for table and frame rendering; even the most complicated are handled correctly. You can think of w3m as a real graphical Web browser.