Before we starting locking down Firebird, it is helpful to understand how the interface is constructed. Firebird uses XUL to define the elements of the interface. The XUL files lay out where the menus and buttons will appear and how they function. CSS files are used to define the appearance of the various interface elements. Image files are used to create graphical elements of the interface. Javascript files provide the functionality that powers the interface. Together, these four elements create the graphical interface. If you want a more in-depth understanding of XUL, a very comprehensive tutorial is available.
The XUL files will be our primary focus when locking down the interface. In addition to defining the main browser window, various XUL files define all other browser windows, like the Help and View Source windows. In the XUL files, the order and behavior of menus elements are defined using XUL properties. Additionally, the XUL files may include definitions for keyboard shortcuts. By selectively editing these elements, we can create an interface that only has the menus and functionality that we want.
While XUL files can appear to be very complex, they are actually fairly easy to edit. If you have worked directly with HTML code, the process of editing the XUL files will feel very familiar. The files themselves can be opened in any basic text editor, like Notepad. I use Arachnophilia but any text editor should do the trick. Disabling menu elements and functionality is as simple as commenting out the elements that you do not want to appear in the interface. In Firebird, almost all of the interfaces that we need to edit are contained in the file browser.xul.
While editing the XUL files themselves is fairly simple, the process of accessing the files is a little bit tricky. That's because the XUL files are not directly accessible from the program files. Instead, the XUL files, along with other files used to define the interface, are packaged in JAR (Java Archive Resource) files. When Firebird runs, it unpacks the JAR files to access files as they are needed. The JAR files generally contain the files related to a specific browser feature. For example, there are JAR files which contain files needed for functions like the browser window and the Help feature. The JAR file that contains the browser.xul file is named browser.jar.
JAR files are very similar to ZIP files and can bere managed with a ZIP program like WinZip. Before we can edit the XUL files, we have to unpack the JAR file that contains the XUL file we want to modify. After we make our changes, we then have to repackage the JAR file back into its original structure. Fortunately, programs like WinZip make this process fairly easy to manage.
Before we get started, let's first assemble the tools that we'll need to convert Firebird into a kiosk browser. You will need to download Firebird 0.7 from the Mozilla web site. The release is packaged as a zip file and can be installed wherever you like on your computer. We'll need a zip program for installing Firebird and for unpacking our JAR files. Finally, we'll need a basic text editor like Notepad or Arachnophilia to edit the XUL files as we sculpt the interface into the form that we want.
Last updated: January 6, 2004
Created: December 1, 2002
If you are reading this, your browser probably doesn't support current HTML and CSS standards. While the site looks much better in a browser that supports web standards, you can still access all of the information that is here with any browser or Internet device.