By the time you read this, DENG (Desktop ENGine) will be a major component of an open-source project called UGO. If all goes according to the plans of its designers, UGO will be a portable implementation of a healthy set of W3C standards. The result should be nothing short of a browser-in-a-box.
To borrow imagery from the current dieting craze, UGO will be low-fat and high-protein: low on resource requirements but high on features. UGO will be implemented entirely in ECMAScript 3, which means that any browser (or any application with an embedded ECMAScript 3 engine, for that matter) will make a comfortable home for UGO.
Nevertheless, within that modest run-time environment, UGO will deliver the following XML-based W3C standards.
DOM Level 3: Arguably the core of the system’s XML capabilities, DOM provides the means by which many of the other XML language implementations read, parse, and manipulate XML data.
XHTML: This is the XML-based improvement to HTML that enforces well-formed HTML documents.
XFrames: The XML replacement to HTML frames, XFrames builds ‘compound’ XHTML documents that consist of multiple, individual XHTML pages. XFrames eliminates (among other things) the unexpected navigation behavior many current HTML-frame-based documents sometimes exhibit.
XForms: This describes the XML-based replacement to HTML forms. (See "XForms, three ways")
SVG (Scalable Vector Graphics): An XML language for describing 2-D graphics, SVG allows an implementation to provide for drawing shapes, rendering images, and displaying text. It also supports animation.
SMIL (Synchronized Multimedia Integration Language): SMIL is an XML language that allows an implementation to mix different media types in a Web-delivered presentation, and synchronizes that displayed media. It has been likened to PowerPoint, in that it can be used to construct content-rich slide shows, but its capabilities exceed that comparison. For example, SMIL lets you alter a presentation executing on a client site based on the available bandwidth, so you can fine-tune a Web page according to the resources available to the destination.
The above list makes for a tall order, but UGO’s developers — having sharpened their skills on DENG — regard it as entirely realistic. They have factored the UGO project into three layers and are attacking it accordingly. The bottom layer manages installation and deployment. Above that is DOM Level 3. At the top sits the code base formerly know as DENG (which implements all the XML-based browser run times).
The beneficiary of this effort will be the user community. UGO is entirely open source. In addition, UGO will retain DENG’s wide deployment capability. For example, not only will you be able to deploy UGO in any browser implementing ECMAScript 3, but UGO will also run atop Macromedia’s Flash Player. And because Flash Player can be embedded into an executable, the variety of applications that will be able to employ UGO depends solely on developer imagination.
The UGO project’s next release is expected sometime before the end of March 2005, though no date has been set. I’ll certainly be haunting its Web site, and I advise other Web developers to do the same.