Creating Applications with Mozilla

, coauthor of Creating Applications with Mozilla

The recently released Netscape 7 may be the most well-known browser built with Mozilla, but it is certainly not the only one. Mozilla is being used as a framework to create many different types of applications, including OEone's HomeBase DESKTOP, ActiveState's Komodo IDE, and all of the projects hosted on mozdev.org. People are also using Mozilla to create their own custom browsers. This article provides a survey of most currently available Mozilla browsers, so you can try them out and find the one that works best for you.

Why Do We Need More Than One?

One of the benefits of open source development is that you don't have to reinvent the wheel whenever you're working on something that has been developed before. Since the Mozilla community is already working on a browser, wouldn't it be better if everyone just focused on making that browser as good as it can be?

Instead of being a bad thing, the several different browser development projects that are currently under way are one of the Mozilla community's greatest assets. The simple reason for this is that one browser can't be all things to all people. Each new browser built is filling a need that's not being met by any other existing option and has the potential to appeal to a whole new audience, which in turn will help expand Mozilla's adoption.

Another positive benefit of having multiple browsers is that it helps avoid compromises that don't make anyone happy. America Online is interested in using Mozilla to create a browser that appeals to novice Internet users, but the Mozilla developers who contribute their time to the project want to create a powerful browser with a collection of advanced features. If the community is locked into working on only one browser, then the end result of this development process will be a browser that has a bewildering array of features that don't appeal to either intended audience.

If one browser can't possibly appeal to beginning users and power users at the same time, why not create two different browsers? For that matter, why not create as many different browsers as there are different types of users? Since all of these browsers are built using Mozilla, Web developers can create sites using standards such as HTML, CSS, and DOM that work well with all of these browsers and users can browse the Web with whatever tool suits them best. Everyone wins.

Gecko-Based Browsers

There are two main types of browsers that are built using Mozilla. Some developers choose to create their application using XUL, Mozilla's cross-platform, XML-based User Interface language. Other developers prefer to use just Gecko, Mozilla's rendering engine, and then create the interface of their browser using one of the toolkits native to a specific platform. There are Gecko-based browsers for each of the major operating systems in use today, including Windows, Linux, and Mac OS X.

The goal of the Chimera project is to create a best-of-breed browser for the Mac OS X platform with a user interface that is as simple and as clean as possible. Chimera uses Cocoazilla, a variant of Fizzilla that consists of a Unix back end connected to a Cocoa front end. Since Chimera uses a native toolkit to create its GUI it can't run on any platform other than Mac OS X, but since it doesn't use XUL it is slightly faster than the regular Mozilla browser on the same computer. The most recent stable release, version 0.4, is available for download, along with nightly development builds.


Chimera with sidebar open.

Galeon and K-Meleon are projects that also have the goal of creating a simple standards-compliant browser using Mozilla's rendering engine. Galeon uses Gecko to create a browser for the GNOME desktop and K-Meleon uses Gecko to create a Windows-only browser. The latest stable version of Galeon can be downloaded for a variety of Linux distributions. There are also alpha versions available for Galeon2, which is a major new version of the browser that takes advantage of the huge changes in the new GNOME 2 desktop's architecture. The latest version of K-Meleon can be downloaded for Windows and it includes a number of stability and configuration changes over earlier versions. Other Gecko-based browsers include SkipStone and Q.Bati.

XUL-Based Browsers

The other main category of Mozilla browsers include the projects that are being built with applications that use XUL. In many ways, these projects are similar to themes, but they take the idea of customizing the browser one step further. These custom browsers use XUL, CSS, and JavaScript to change the browser interface and not just the look of the browser. For instance, a theme developer can create new images for the buttons in the main toolbar, but another developer can only edit the toolbar to add or remove buttons in their own browser.

One of the first custom browsers, Aphrodite, was created as an alternative to the default interface that ships with Mozilla. Aphrodite includes a number of its own themes, including FruityGum, Inferno, and two flavors of the Sullivan skin. The crash recovery system, Total Recall, is also integrated into the browser. Development work continues on Aphrodite, although currently there isn't a new release that works with the latest version of Mozilla.


Aphrodite with the Sullivan grape theme.

Beonex Communicator is another XUL-based browser. It is a user-focused browsing suite that also comes bundled with a mail client and a Web page editor. The latest stable version, Communicator 0.8, is available for download for Windows and Linux. Other XUL-based custom browsers include Project Piglet, MercurySpider, and Dino.

What's Coming Next?

The browsers that are currently under development using Mozilla are just the tip of the iceberg. One of the most interesting possibilities for future browser development comes from AOL, the same company that owns Netscape and which is the main sponsor of the Mozilla community. Currently, the Windows version of the AOL client software uses Internet Explorer as the core of its browser, but there are indications that this may soon change. If AOL were to switch and use Mozilla in a new version of their software, tens of millions of people would be exposed to Mozilla.

AOL has already made some moves in this direction. The latest version of the AOL client for Mac OS X uses Gecko as its rendering engine. Gecko has also replaced Internet Explorer in CompuServe 7.0, the latest version of AOL's other online service. The decision to use Gecko in these two offerings is seen by many as a way for AOL to iron out any rough spots before they move forward with releasing a Mozilla-based version of its AOL client for Windows.

Another interesting project to keep on eye on is Phoenix. There isn't much known about this yet, but there are some pages in bugzilla and on the mozilla.org site that have some information. It looks like Phoenix is based on an earlier project called m/b (short for mozilla/browser) and has a goal to create a user-friendly, standalone browser that is free from most of the constraints placed on the default Mozilla browser. Builds of Phoenix are available from the mozilla.org site and there is a development roadmap that provides details about future releases.


Phoenix with the Customize Toolbar dialog.

If none of these browsers look like they are right for you, remember that you can always create your own browser with Mozilla. If you don't want to start from scratch, each of the projects listed here could use help with testing and development. So you can also contribute by adding features or fixing bugs to make these browsers even better. This wealth of browser options is a great strength, so let's hope that each of these projects continue to mature and innovate. Let one hundred browsers bloom so that we can all use the browser that is right for us.


O'Reilly & Associates will soon release (September 2002) Creating Applications with Mozilla.


Return to the Mozilla DevCenter.