Dig into the 12-megabyte behemoths we call Web browsers and the 20-minute downloads of Java applets, or peel away the HTML hacks and multimedia - and what have you got? The essence of the World Wide Web: text.
As everyone races to create the next Web-based killer app, a group of developers donate their time to keep the lowest common denominator from slipping too far behind. The Lynx development effort, headed by 25-year-old coder Rob Partington, is keeping the text-based browser - which allows anyone to surf really, really fast - compatible with today's Web, while looking to the future.
I spoke with Rob about his involvement in the project and where he sees it going.
Jeff: Could you give us a little history of the Lynx project and how you got involved?
Rob: Lynx was started as a campus-wide information service at the University of Kansas, and was then converted to the WWW formats. Foteos Macrides ported it to VMS; his development began to outpace the U of K efforts, and they imported 2.3.8-FM as 2.4.0. The first extramural release was 2.5 in September 1995. My own involvement came about in the middle of 1995. I downloaded 2.4.2 and did a little hacking to get it to understand . I mailed the lynx-dev mailing list about this and was pointed to 2.4.2-FM, which already had this and many more enhancements. Since Lynx was the only effective way I had of browsing the Web, I started to play with the code to make my browsing easier. After some industrial-strength hacking this summer to get my styles patch working, Fote nominated me as the 'coordinator' of Lynx development when he decided to take a rest. Fearing the wrath of Lynx users everywhere, I had to accept. ;-)
It sounds like a truly collaborative project. How do you keep such a mass of work organized?
Mainly through Fote, until recently. Now it's becoming more team-based. Someone posts a patch and people try it. If it works and people generally accept it, it stands a good chance of being integrated into the main distribution. It's slightly better this way because more people are learning more about the code set; distribution of knowledge is a Good Thing. The Lynx development effort is also covered in the upcoming book Virtual Teams.
In this era of browser wars and intense, Web-based multimedia, what's your motivation to continue a text-only browser?
Hubris, laziness, and impatience. ;-) I'm too lazy to "browse the Web" as a pastime, so when I do, I want it to be as fast and easy as possible. My first large patch for Lynx was to color the links on a page differently, mainly because it made it easier for me to see what I was doing. It's also good that by doing this, we're helping people to get access to the Web (indeed, there was a big thread recently about how best to represent certain constructs on the screen to make it easier for screen reader programs).
Any tips for Web authors? How can we ensure our pages are Lynx-friendly?
Write correct, degradable HTML. Don't rely on 'cool' browser tricks that end up obscuring the information provided. Be considerate of other users. Take a look at the Extremely Lynx pages for a wealth of information about Lynx and being Lynx-friendly.
Will Lynx ever handle things like tables and frames? Can you see possible text-only solutions to future technologies like cascading stylesheets?
Well, Lynx already handles tables and frames, just not as well as it could. The problem with tables is that supporting them fully would require quite a large rewrite of the internal engine. Supporting frames as framed windows would also require rewriting bits of Lynx's internal engine - but not as much as the table support, so that may happen first. I'm working on CSS support (you can already specify 'styles' for individual elements using my patch, and class support is almost finished), but full CSS support would be a major project, which I don't really have the time for at the moment.
Any other innovations we can look forward to?
Well, there's plenty of discussion on the mailing list about things we'd like to implement. Current favorites include integration with W3C's new WWW library code for HTTP/1.1 support, Unicode, and a Win32 version for people running Windows. Integration with the new W3C WWW library would be a large step forward, but once again it's a large amount of work for people who are volunteers. We're doing our best. ...