2005 Text Mode Browser Roundup
Editor's Note: This article has been updated since itsoriginal posting.
Browsing the Web in text mode has a long history. Initially, text mode was allthere was, with the CERN Line Mode Browser (also called www). The ever-presentLynx made the jump to full-screen text mode, as opposed to line-by-line, inlate 1992. Lynx continues to be maintained and extended today.Incidentally, Lynx originally was a browser for Gopher and some in-house university hypertext systems. Emacs/W3 came next, in 1993, and was written in Emacs Lisp.
In late 1998, W3M came out of Japan, and in 1999 Links was released byCzech programmer Mikulas Patocka. Both these projects have since forked todifferent degrees. For example, ELinks, an offshoot of Links, now is considered to be a separate project.
Considering the speed and convenience text mode browsers offer, even over SSH connection from half a continent away, text mode browsing is supremely useful. So let's take a look at the current state of text mode browsers.
Ported to almost every current system under the sun and available on mostgeneral purpose SSH-accessible systems in the world,Lynx is a mature piece ofsoftware. As such, it has accumulated well over a hundred command-line optionsand obscure features. It still does the basics well, including SSL these days,and it is quick compared to any graphical browser.
Lynx renders pages in color or monochrome, based on your preference. It candisplay pages in any of a few dozen character sets--Arabic, Hebrew andJapanese, to name a few--and can be integrated into any printing and storage regime. This is due to supporting user/administrator-defined commands on print and download requests. Lynx comes with extensive documentation, including a speech-friendly set of help files tailored for blind and visually handicapped users. Lynx also has a kiosk mode, so you can restrict the set of allowable actions and URLs.
Lynx does have a few shortcomings, however. It downloads only one file at a time and does so in the foreground, so you cannot continue browsingwhile the download is underway. Lynx also does not render frames, and it lays out tables strangely. Finally, Javascript links will frustrate you every time you encounter them on less-accessible Web sites.
At the time of its release,Emacs/W3 was touted as yet another reasonwhy a user would never have to leave Emacs. It can do UTF-8 as well as Emacs can, and it understands simple CSS. Emacs/W3 has suffered bit rot since 1999, and it is hard to get up and running these days. It does not understand XHTML, so modern pages have bits and pieces of code sticking out all over the place. Currently, Emacs/W3 needs quite a bit of rework and is not recommended for use.
W3M originally was intended to be a pager, like the less pager but with HTMLsupport. The original author felt Lynx was big and slow and wanted a quick,light replacement. Thus, W3M came into being. Over time, W3M has grown, and nowadays it has a somewhat bigger memory image than Lynx does while viewing the same page.
W3M was the first text browser to handle table rendering well, and it transformsframes to tables for convenient viewing. Coming from Japan, it has goodsupport for exotic scripts and UTF-8. At first W3M was purely bilingual,offering good support for English and Japanese scripts, but improvements to supportthe broader world languages is ongoing. In addition, the browser offers the unexpected feature of being able to render images in-line on your xterm or framebufferconsole. This feature is not really relevant to this comparison, but itis worth a mention. W3M also offers tabbed browsing.
W3M's shortcomings are few. W3M does not do incremental rendering. Also, youcannot do anything else while W3M is loading a page, even if you haveseveral tabs open.
As the name suggests,Links was created as a Lynx replacement to offer saner tablerenderings and a smaller footprint. In these areas, Links has succeeded; Links 1.0.0pre12has the smallest footprint of the tested browsers discussed here.On a side note, Links2 seems to be a mostly graphical fork and thus was notconsidered for this review.
Links does offer saner table rendering than Lynx does; Links renderingis on par with W3M's. Development is frozen, so only bug fixes are being accepted. As a result, Links is both fast and stable. It can rundownloads in the background, and it does incremental rendering. LikeLynx, Links has an anonymous/kiosk mode for use on public computers.
As for drawbacks, Links does not support HTTP authentication. UTF-8 support ispartial, and no support is offered for Chinese, Japanese or Korean languages (CJK), even when the page is UTF-8-encoded.
ELinks started out as a feature patch set to Links. ELinks became a fork when it became clear that no further features would be accepted into Links. Assuch, it inherits Links' features and flaws and adds a few of its own.
ELinks sports the most features of any text browser--good table rendering,background downloads, incremental rendering--all inherited from Links. Tabbedbrowsing has been added for convenience. Some CSS support is present, but little more than highlighting text seems to be honored; alignment andpositioning mostly are ignored. Alone among text browsers, ELinks offers thebeginnings of Javascript support as a standard feature, using Mozilla's SpiderMonkeyJavascript engine. With this feature, finally some less-accessible pages can be used intext mode. ELinks' behaviour can be customized by way of Guile, Perl, Ruby andLua scripts.
As is typical with development forks, ELinks has a large footprint compared toall the other tested browsers. It also has the most visible bugs. Due toits Links inheritance, ELinks has no support for Chinese, Japanese and Koreanlanguages and limited support for UTF-8.
Erik Inge Bolsø is a UNIX consultant and epee fencer who lives in Molde, Norway, and who has been running Linux since 1996. Another of his hobbies can be found by doing a Google search for"balroggenealogy", and he can be reached atljcomment@tvilsom.org.
