Project Status
(17 August 2004)

The latest release of XULMaker is Version 0.51 which was released on August 10, 2004. XULMaker 0.51 is known to work with Mozilla 1.6 and Netscape 7.1 (and most likely with older versions - going back as far as Mozilla 1.0) It does not seem to work correctly with Mozilla 1.7.1 and later versions.

XULMaker Version 0.51 is a much more stable release than version 0.50. Although no new functionality is introduced here, known issues with version 0.50 have been resolved. Help documents (Users Manual, Project Documentation, Creating Applications with Mozilla Book) are viewable again, the menulists are operating correctly again (although performance is still slow), and the crashing problem has been resolved. (This turned out to be a Mozilla problem. The crash occurred when there were two or more editable <menulist>s within a non-hidden <arrowscrollbox> element. <arrowscrollbox>s have been removed from all toolbars until Mozilla resolves this issue.) In addition, we have enhanced the installation process to allow for installation in either the Mozilla chrome directory (as it used to) or in the currently selected Mozilla User's Profile chrome directory.

See the Status page for more details.

XULMaker is a visual XUL application builder.

A XULMaker user is a XUL application developer. A XULMaker user visually and interactively creates and edits a XUL document representing a XUL application by visually interacting with both an XML DOM (Document Object Model) and an XML text representation of the XUL document. The XUL document is a typical XML document consisting of various elements with various attributes and attribute values. A XULMaker user builds a XUL document by visually and interactively adding/deleting/moving XUL elements, adding/deleting element attributes, and setting attribute values. A XULMaker user is able to see the results of his work as he builds the XUL document - as it would appear in a Mozilla browser (or any browser that supports the display of XUL files.)

A XUL application consists of content, skin and locale data.

content consists of XUL files (window and overlay files) for presentation layout and javascript files (.js files) for presentation behaviour.

skin consists of stylesheets (.css files) and image files (.gif, .jpeg, etc. files) organized into "themes".

locale contains the static text that makes up the application, organized into "locales" or languages.

XULMaker is currently a visual and interactive creater and editor of only XUL files. It is intended to evolve XULMaker over time into a full blown IDE - covering all development aspects of a XUL application. This will include the integration of a JavaScript editor and a CSS stylesheet editor for example.

XULMaker comes with lots of user documentation most of which is published as a Mozilla Help document. This user documentation includes:

  • User Manual (Help document)
  • on-line copy of the book "Creating Applications with Mozilla" (Help Document)
  • link to XULPlanet's XUL Reference Manual (Support View)

There is also a wealth of real world experience documented in the project documentation for XULMaker from which XUL developers may learn how to develop a XUL application. The project documentation is available on-line as a Mozilla Help document. It includes XULMaker's architecture, design, standards, etc. The project documentation should be particularly helpful to potential contributors to get involved with the project. (Press ctrl-D to activate the developer mode that gives access to the project documentation.)

XULMaker code has been integrated with a logging facility that is able to trace the execution of code. Although this is meant primarily for the testing and debuging of code during development it may be used by any user to explore the inner workings of XULMaker. (Press ctrl-D to activate the developer mode that gives access to the trace menu.)

In addition, access to the DOM Inspector is available from the Tools menu. allowing the user to explore the application under construction and the XULMaker application itself.

XULMaker version 0.50 has the following features:

(See the project's roadmap to see where we intend to take this project.)

  • Support for all standard XUL element names, attribute names and attribute values
  • Support for user "write-in" element names, attribute names and attribute values
  • Add or remove XUL elements
  • Add or remove XUL attributes
  • Move XUL elements (move up/down)
  • Cut, copy and paste XUL elements (use of clipboard)
  • Element list for:
    • all XUL elements
    • XUL elements containable in the currently "active" element
    • Information XUL elements only
    • XBL/template XUL elements only
  • Attribute list for:
    • currently "active" element
    • the element selected in the element list
  • Attribute value list for the attribute selected in the attribute list
    • user "write-in" for any string or number type value
    • list of possible enumerated values
  • View XUL document:
    • Design View - graphic web page under construction. (Not always displayed at 100% correctly)
    • Code View - text document
    • Browser View - graphic web page in production
  • View, select ("active"), add and remove XUL elements and attributes:
    • Design View - graphic web page under construction.
    • Element Explorer - Tree View (hierarchical tree of XUL elements)
    • Element Explorer - List View (flat list of XUL elements)
    • Attribute Inspector - list of XUL attributes and its values for the "active" element
  • Toolbars
    • Element Palette Toolbar- tabbed sets of XUL elements
    • Custom Element Palette Toolbar - user configured set of XUL elements
    • Element Toolbar - add elements to the "active" element container
    • Element + Attribute Toolbar - add elements, attributes and attribute values to the "active" element container
    • Attribute Toolbar - add attributes and attribute values to either the "active" element container or the element selected in the element list
    • Mode Toolbar - sets the mode of construction for elements and attributes
  • Use of Logger for tracing and assertions
  • File I/O using JSLIB
    • New XUL document to clear current document and create a new empty document
    • Open (load) XUL document (serialized text) as a local file using a directory/file dialog
    • Save XUL document (serialized text) as a local file using a directory/file dialog
    • Use of "dirty" flag to prompt for save before closing a XUL document or exiting XULMaker.
    • The title bar of XULMaker contains the name of the opened file (followed by "*" when modified)
  • Window debug mode - elaborate display of box layout
  • On-line users manual - presented as a help document
    (i.e. includes a table of content, index, glossary and search)
  • On-line version of the book "Creating Applications with Mozilla" - presented as a help document
  • On-line project documentation - presented as a help document
  • Access to DOM Inspector to explore the XUL application under construction or the XULMaker application itself

If you are interested in contributing to the XULMaker project please contact me, Franklin de Graaf. In particular, I would especially appreciate some help from a graphic designer to do/redo the element icons, etc.

You are also invited to join the mailing list and read the newsgroup. This is where most of the discussion about XULMaker will take place.

What's New
  • (10 August 2004) Version 0.51 is released. No new functionality and features, but a more stable release that works with the more recent versions of Mozilla.
  • (25 June 2003) Version 0.50 is released. Lots of new functionality and features.
  • (March 2003) Kevin Palm joins the project.
  • (20 December 2002) After a long adjournment, XULMaker is brought back to life with the release of version 0.40
  • (25 November 2002) The project was adopted by Franklin de Graaf (
  • (03 March 2001) This site was originally built and launched by Michael Hearn. The first release was version 0.10
  • The book "Creating Applications with Mozilla" is available here as a help document. It installs as a separate package, adding a menuitem to the Tools | Web Development menu in your browser.

The xulmaker project can be contacted through the mailing list or the member list.
Copyright © 2000-2014. All rights reserved. Terms of Use & Privacy Policy.