traversing the browser family tree

One thing I find fascinating is the way in which browsers have gone forth and multiplied over this world. It’s not immediately obvious, but some browsers are actually quite closely related. What follows is a rough chronology of the more well known browsers. There were (and are) many more, of course, and a browse through the sources listed at the end may be of interest.

Rendering Engines

Before I get going, however, I want to cover the rendering engines, because they are the underlying reason why some browsers can be considered “related.” Browsers are generally constructed as two separate parts: a front end that the user sees — the graphical interface, tools, etc; and a back end that does the messy work of taking an HTML document sent by the connecting site and laying it all out (“rendering it”) on the screen for the said user.

Trident

Trident is the rendering engine for Internet Explorer, from IE4 onward. It was first introduced in October 1997 and remains in use today. For IE7’s release, Microsoft is making significant changes to Trident to improve web standards support. However, despite these changes, Trident remains significantly less compliant than competing rendering engines, even though it is argubly the most used engine due to Microsoft’s share of the OS market.

Gecko

Originally created by Netscape Communications Corporation, its development is now overseen by the Mozilla Foundation (details below), Gecko is the open source, free software web browser rendering engine used in Netscape, Mozilla, Firebird, and other browsers. It is written in C++ and supports open Internet standards.

Gecko is cross-platform and works on Windows, Linux and Mac OS X. Gecko is generally considered to be the second most-popular layout engine on the Web, after Trident.

KHTML

The KDE project developed KHTML as its the rendering engine and introduced it with KDE2 in 2000. It’s written in C++ and licensed under LGPL and supports most web browsing standards plus various quirks and oddities peculiar to IE6 in order to render as many pages as practicable. It’s a fast rendering engine that is primarily used by KDE Konqueror and Apple Safari. More recent versions of OmniWeb and other browsers have also made use of it.

Browsers

Lynx

Of all the non-graphical browsers, Lynx is probably the oldest and best known. The University of Kansas had written a hypertext browser independently of the web, called Lynx, used to distribute campus information. A student named Lou Montulli added an Internet interface to the program, and released the web browser Lynx 2.0 in March, 1993. Lynx quickly became the preferred web browser for character mode terminals without graphics, and remains in use today.

Mosaic

The first real browser was NCSA Mosaic, which appeared in November of 1993. It was available on both Windows and Unix X Windows and then within a few months, Macs as well. Since there were no background images available, all web pages had a gray background. However, it introduced inline images, forms support, and bookmarks and quickly became the most popular non-commercial web browser. In August 1994, NCSA assigned commercial rights to Spyglass, which subsequently licensed several other companies, including Microsoft for Internet Explorer. Mosaic at this point is completely deprecated and no longer supported (as of 1997), although the source files are available to anyone who is curious enough to play around with it.

Netscape and derivatives

A year after Mosaic’s debut, Netscape Navigator 1.0 through 4.8 (commercial) introduced more, such as tables, frames, javascript, mouseovers and so on. In these early days browser development occurred at a much faster pace than the agreements on HTML standardization, which accounts for many of the nonstandard features that are still available to this day. Netscape in particular captured a large share of the market at this time because of its (nonstandard) extensions which allowed people to put together flashier websites (and to view them). This prediliction for extensions included javascript; at one point Netscape and Internet Explorer in effect each had their own versions, before DOM came into the picture. This period is often referred to as the Browser Wars.

Because of the AOL buyout, the rewriting, and the last minute decision to integrate a completely new rendering engine, NN 5.0 never actually appeared. Instead, 6.0 was released in 2000, forced to do so by AOL before the rendering engine was mature enough. With these factors, it slipped badly in the race it had been in with IE up to then. Netscape 7.0 (finally dropping the “Navigator” from its name) was released in August 2002, Netscape 7.1 in June 2003, and version 7.2 a year after that. Up till this time the emphasis had been on building a big bulky “kitchen sink” browser, with mail support, IM, and so on all crammed together. AOL has continued the Netscape line in 2005, renaming it Netscape Browser in version 8.x, but dropping the suite and supplying just a browser.

Netscape’s greatest impact on the overall development of browsers and rendering engines (and argubly its own demise) occurred when it released its source code in 1998 and entrusted its development to an internal department, Mozilla (named in tribute to NN 1.0’s codename). Thus was born the open source Gecko rendering engine, which supported HTML 4.0, CSS1, XML and the DOM as specified in W3C standards. Netscape had used its own proprietary rendering engine in versions 1-4. For the 6.x and 7.x series, the browser was based on Gecko. For the 8.x series it is based both on Internet Explorer’s Trident engine, Mozilla’s Gecko, and Firefox’s XUL, a markup language developed by Mozilla and itself a continuation of the Gecko development. Yes, it’s confusing.

All of these versions up to 7.2 supported the Windows, Unix, and Macintosh platforms. At present only a Windows version of Netscape Browser 8.x is available.

Internet Explorer

MS’s Internet Explorer made its initial appearance August of 1995. One of the things that fascinates me about this is that not only was it free, but it was also independent of the operating system. Quite a bit different from the MS we know and love today. Not only that, but Netscape’s decision to go open source was probably partly in response to this. IE3 introduced the first support for CSS and also extended javascript in its own way. It competed neck to neck with Netscape before pulling ahead around 2000 with what many would (and did) describe as monopolistic techniques, although Netscape’s failure to put out any new release for four years after its 1998 announcment was no doubt a major factor as well. (Note that IE stopped its own breakneck pace of updates at this time: incredibly, IE6 has not been updated aside from bugfixes and patches since October of 2001.)

MS also halfheartedly put out a version of IE for the Macintosh in 1996, but has abandoned it since 2001 — MacIE 5.0 is for OS 9 and previous; MacIE 5.1 for OS X.

IE4 (with the new Trident renderer) marked the beginning of Microsoft’s attempts to integrate it fully with the operating system: a trend that continued through versions 5 and 6 until IE7. IE7 will be a standalone browser once more in part for security reasons.

Internet Explorer runs on Windows. Although since earlier versions of Windows may or may not be able to run IE6, this forces users to make do with MSIE5.5 in many cases. The latest version, IE7, will only run on Windows XP SP2 and later (Vista) versions, therefore IE6 will not be disappearing any time soon, either. The Macintosh version is no longer supported. There was even a Unix version, which ran on Solaris’ and HP-UX’s X Windows, also no longer supported.

Opera

Norwegian based Opera 2.0 (shareware) was released December of 1996, and its latest release, 9.0 (freeware) was within the last month. It has always had excellent CSS support (although considering that Opera’s CTO is one of the writers of the CSS specifications, this is no surprise). Opera 3 came out in December of 1997, version 4 in June 2000, and 5 in December of the same year. Then version 6 in November of 2001. However, versions 7-9 have seen significant improvements and it remains small and light — quick and easy to download and run. The ads in the free version and the paid version were scrapped with the release of 8.5 which remains today freeware, although not open source, and ad-free.

Unlike the other browsers covered so far, Opera was written from scratch and is not based on anything else: not NCSA Mosaic nor Gecko or Trident. It is strongly (and impressively) committed to standards support but at the same time its proprietary code allows it to provide browsing features such as page zoom, a multi-document interface browsing environment and mouse gestures.

Opera can be run on Windows, Linux (*nix), and Macintosh operating systems. Interestingly, they have optimized versions for cellphones and PDA/Palms which are worth checking out.

Mozilla and Mozilla Firefox

(See also what I call the many names of Mozilla.)

The Mozilla department started work on the new rendering engine after its formation in 1998. At this point, it was still part of Netscape and it began work on what was initially called Mozilla, releasing 1.0 in 2002, along with Netscape 7.0, which was essentially a rebranding of Mozilla 1.0. Then Mozilla Phoenix 0.1 was released, also in 2002, and this is the first cut at using XUL. The idea here was to create a leaner and faster browser. In 2003, Mozilla separated from Netscape (and AOL) and became the Mozilla Foundation.

In 2005, Mozilla Foundation released the last “Mozilla” (1.7) which was renamed Mozilla Application Suite to avoid confusion. Having shed itself of this, Mozilla Foundation now focused on one browser (Phoenix renamed Firebird renamed Firefox) and one email client which are separate, self contained applications. Mozilla Firefox 1.0 was released in 2005. Current version 1.5.0.4 was released June 2006.

Firefox is available for Windows, *nix, and Macintosh.

SeaMonkey

Of course, nothing really ever dies in opensource. The Mozilla Application Suite, though no longer supported by Mozilla Foundation, has been unofficially picked up by an open source community project which has renamed it SeaMonkey, and which has released steady updates to it. It’s currently at 1.0.2, released June of 2006. As a suite, it bundles together a web browser, an email reader, a newsgroup client (!), IRC chat, and HTML editing.

SeaMonkey is available for Windows, Linux (and some *nix), Mac, and even OS/2.

Camino

In another bid for the “just a browser” application, there’s also Camino, which is a free, open source, graphical Web browser based on Mozilla’s gecko engine and designed for the Mac OS X family of operating systems. However, since it predates Firefox, and was intended solely for the Mac, Mac-native Cocoa APIs have been used where FF used XUL. It concentrates on providing “just the browser” in a lightweight application.

Konqueror

Konqueror was a sudden entry into the fray in November of 2000. It is a wholly independent browser, developed for Linux. It normally uses KHTML as its rendering engine (although its modular nature allows it to use Gecko instead — this is kmozilla in the kdebindings package) and is compliant with HTML, supports Javascript, Java applets, CSS, SSL and other open standards. Konquerer 3.5.2 was released with KDE 3.5.2 in March of 2006.

Safari

Apple based Safari on KHTML, when Konqueror itself was at 3.02, and released it in January of 2003. Apple made the changes it had made to KHTML available back to the open source community, some of which has been incorporated and is used in later versions of Konqueror as well. Available as a separate download initially, it was included with Mac OS X v10.3 on release on October 24, 2003, as the default browser, with Internet Explorer for Mac included only as an alternative browser. Since the release of Mac OS X v10.4 in April 29, 2005, Safari is the only web browser included with the operating system.

Safari uses Apple’s WebKit for rendering web pages and running JavaScript. WebKit consists of WebCore (based on Konqueror’s KHTML engine) and JavaScriptCore (based on KDE’s KJS JavaScript engine) both of which are LGPL. WebKit itself was also released as open source. The source code for non-renderer aspects of the browser, such as its GUI elements, is proprietary.

Additional Sources

http://www.boutell.com/newfaq/history/fbrowser.html
http://www.livinginternet.com/w/wi_browse.htm
http://www.holgermetzger.de/Netscape_History.html
http://www.blooberry.com/indexdot/history/browsers.htm
http://browsers.evolt.org/

del.icio.us:traversing the browser family tree  digg:traversing the browser family tree

Leave a Comment

Bad Behavior has blocked 1096 access attempts in the last 7 days.