# XULMaker Project

## Project Description

The XULMaker project is essentially a research project. It is used to explore the functionality of Mozilla XUL as used by the Gecko Rendering Engine - a component of the Mozilla browser.

### Mozilla XUL History

Netscape gave its browser software to the open source community in 1996. This then became the start of the Mozilla project. Mozilla is an open source project for the continued development of the Internet browser.

The Mozilla project proceeded with a major rewrite of the rendering engine which was code named Gecko.

Netscape continued to distribute new releases of its browser as repackaged versions of the browser from Mozilla. The first release of Netscape based on the Gecko rendering engine was Netscape 6.0 - it being a repackaged version of Mozilla 0.?? (The Gecko rendering engine used in Netscape v6.0/Mozilla v0.?? uses an older version of the XUL file format which we label here as XUL v0.6, whereas Netscape v6.1 uses the published version 1.0 of the XUL file format.) The first major release of Mozilla is Mozilla 1.0 which occurred in January 2002. Netscape 7.0 is based on Mozilla 1.0.1. These are the versions that XULMaker version 0.40 has been developed for and tested on.

### XULMaker History

The XULMaker project was started by Michael Hearn in March 2001. Michael was a bright young sixteen year old student from the UK when he published the first version of XULMaker on mozdev.org. XULMaker version 0.10 was developed for the earlier version of the XUL file format and does not work with Mozilla v1.0/Netscape v7.0. It was a great first effort. Michael abandoned the project for some time until it was adopted by myself, Franklin de Graaf, in November 2002. The next version, version 0.40, was published before Christmas in 2002. Version 0.40 works with Mozilla v1.0/Netscape v7.0.

### Operational Modes

XUL applications may be run in one of the following six possible modes:

1. Locally/directly in Mozilla browser* - XUL files accessed locally using the "chrome:" protocol - XUL v1.0 handled natively by the client browser
2. Locally/directly in Mozilla browser* - XUL files accessed locally using the "file:" protocol - XUL v1.0 handled natively by the client browser
3. Remotely in Mozilla browser* - XUL files accessed remotely using the "http:" protocol - XUL v1.0 handled natively by the client browser
4. Remotely on a PWS (Power Web Solution) standard client, e.g. Internet Explorer 5 - XUL v1.0 transformed to DHTML = CSS1 + DOM1 + JS1.4 at the server - by Cocoon

In earlier XUL development projects we also supported the following modes:

1. Locally/directly on Netscape 6 (XUL v0.6 handled natively by client)
2. Remotely on Netscape 6 (XUL v0.6 handled natively by client)
3. Remotely on Netscape 6 (XUL v1.0 transformed to XUL v0.6 at the server - by Cocoon; XUL v0.6 handled natively by client)
4. Remotely on a PWS (Power Web Solution) standard client, e.g. Internet Explorer 5 (XUL v0.6 transformed to DHTML = CSS1 + DOM1 + JS1.4 at the server - by Cocoon)

* A Mozilla browser being either Mozilla 1.0.1 or Netscape 7 or better. i.e. Using XUL file format 1.0, not an earlier version, and specifically not XUL file format v0.6 as used by Netscape 6.0. (Netscape 6.1 uses XUL file format v1.0)

``