In the future, everything will be built like a web page, up to and including the browser window itself. The Mozilla Organization has taken the wraps off XUL, pronounced zool, an XML-based User Interface Language. XUL gives developers a way of describing UIs for cross-platform applications – like web browsers, email clients and newsreaders. And the Mozilla team intends to practice what it preaches.

The Mozilla web browser has configurable, downloadable chrome. What that means is that the arrangement and even the presence or absence of controls in the main window is not hardwired into the application, but is loaded from a separate UI description. Most of Mozilla’s windows and dialog boxes use this mechanism. In future, these UI descriptions will be written in XUL.

Window chrome can then be managed and displayed by the same layout engine that manages HTML content inside the browser – Gecko, once known as NGLayout. The net result is that the UI descriptions look just like HTML 4. After all, XUL is an application of XML, explains the Mozilla team, in fact, it is just XML with specific meaning defined for a few element types, and into which HTML can be scattered.

CNet has likened XUL to Java, but that’s not quite the right analogy. XUL is an element of Mozilla’s Cross Platform Front End (XPFE, because X and C look similar if you beat them long and hard with a hammer, note the spec authors.) The idea is not to implement a cross-platform application framework like Java: That’s been done, says Mozilla, and is a great deal of work.

Instead, XPFE will provide functionality suitable for building network applications. UI designers should be able to create UIs to run on multiple platforms, but some platform-specific work will still be required.