March 26, 1999 11:40 AM PST
Easing browser interface development
Engineers at America Online's newly acquired Netscape Communications unit, along with developers working under the auspices of AOL-backed Mozilla.org, have drafted the Extensible User Interface Language (XUL), which would let developers create a browser's user interface using common Web development languages.
If successful, the move could fuel a trend toward creating more application components with Web languages, which have the twin benefits of being both cross-platform and easier to use than traditional application programming languages.
Browser developers currently rely on standard, interpretive Web languages such as HTML and CSS to render content in a browser window, and programming languages such as C to create the graphical user interface, or "chrome." Chrome refers to the hard-coded features on the periphery of the browser window, including menu items, buttons, and the address bar.
"XUL is our attempt to use the power of the layout engine to do all the chrome," said Mike LaGuardia, group product manager responsible for Communicator's Navigator browser. "We're using all of the standards we're supporting within Gecko to actually provide our engineers and potentially others working with this code base to create the user interface for Communicator and other applications as well."
Gecko is the code name for the Communicator layout engine, or renderer, which was unveiled in a developer preview in December.
XUL is based on Extensible Markup Language (XML), a metalanguage for the creation of other industry- or task-specific languages.
The trouble with the current method of creating user interfaces is that native code has to be rewritten for every operating system AOL wants to support. That duplication of highly specialized effort is expensive and wasteful, LaGuardia pointed out, making XUL attractive from a bottom-line perspective.
"This would mean that the UI could be written once and work across multiple platforms, and the level of knowledge that you need to do UI development becomes less arcane," LaGuardia said. "All you need to know is how to create a Web page, albeit a fairly sophisticated one."
In the cross-platform arena, XUL resembles Sun Microsystems' Java programming language. But Java requires a bulky Java Virtual Machine to make native code understandable to multiple operating systems. XUL promises to be far more lightweight.
Moving to the cross-platform XUL makes even more sense as AOL prepares to implement its "AOL Everywhere" strategy of making its online service available from alternative Internet devices such as handhelds and set-top boxes, which typically have distinct, slimmed-down operating systems.
But the nascent language, which AOL is considering sending to the World Wide Web Consortium for review as a Web standard, also could have broader implications for the future of application programming, according to its creators.
"There's a trend toward using Web-building languages rather than native code," LaGuardia said. "And we think this could really spark a programming revolution."