Chromeless is an experimental way of letting you build a browser UI using nothing but HTML but this could be the way of the future making web apps look exactly how you want them to look.

This is another of those weird or wonderful, depending on your point of view,` projects from Mozilla Labs. Chromeless 0.1 is now available for download and what it does is allow you to build your own custom browser using nothing but HTML and JavaScript. Well to be more accurate you don't actually build a new browser more like encapsulate the existing Firefox browser.

The overall architecture of Firefox is still something of a well kept secret in the wider computing world. It uses an application framework that renders the user interface as specified using XUL, an XML based markup language. You can use XUL and its associated code framework XPCOM to build your own applications which can be run using XULRunner.

Basically when Firefox starts up the Gecko rendering engine loads the XUL specification of the browser's user interface. What Chromeless does is replace the XUL specification by one built using HTML and JavaScript. The HTML page is however special in that it can access facilities that "client" HTML pages can't such as CommonJS modules (taken from Jetpack) and the browsers internal state.

The latest, admittedly early, beta supports the following features:

Track the page load progress of inner browsers

Receive notification about the security state of Web pages (whether a page is served over SSL)

Capture images from DOM fragments

Toggle to full screen mode

Log messages to the console

Save data to the user profile

Convert user input into valid URLs

An experimental API to support the Background loading of web pages

Support for Windows, OS X, and Linux

These new features are supplied by JavaScript library extensions and exposed DOM objects. Also new is a package format that allows you to distribute your experimental browsers.

As well as providing a way to experiment with browser user interfaces it also paves the way to a browser that works exactly like a web page. After all XUL is similar to HTML and it works with a DOM just the same as the web page being displayed. Why not try substituting HTML for XUL?

This would means that the browser's UI was no different from any web page and would bring an element of "eating their own dog food" to the browser builders. More interestingly it would mean that the browser's UI could be customised as part of the process of displaying a web page. So if you visit a site offering a word processor app then the browser would adapt to provide a word-processor UI with none of the confusing non-application elements such as the back button or re-load.

If you would like to know more see the video that Mozilla Labs have prepared:

More information

The DARPA robotics challenge (DRC) is expected to be a watershed in rescue robots. In a surprise move, DARPA has just announced that the field has been widened to include 14 new robot teams, making a [ ... ]