OASIS User Interface Markup Language TC

The original Call For Participation for this TC may be found at http://lists.oasis-open.org/archives/tc-announce/200210/msg00003.html

The charter for this TC is as follows.


User Interface Markup Language (UIML) Specification Technical Committee

Statement of Purpose

The purpose of the User Interface Markup Language (UIML) Specification Technical Committee is to develop a specification for an abstract meta-language that can provide a canonical XML representation of any user interface (UI). The language should be capable of specifying the requirements, design, and implementation of any UI.

The committee will use the UIML3 specification created by Virginia Tech's Center for Human Computer Interaction, Harmonia, Inc., and other organizations on uiml.org as a starting point [1]. The owners/creators of this specification claim no intellectual property with regard to UIML and will not seek licensing reparation for its use in this TC, nor will they seek ownership of any work produced by the TC.

The TC differs in scope from other committees and working groups that address concrete UI implementation languages (e.g., assembly language, C, C++, CSS, Java, HTML, VoiceXML, WML, XForms, XHTML, XSL-FO). Instead, this TC focuses on an abstract language, UIML, which expresses UIs at a higher level than the concrete languages. UIML's goal is to subsume in expressive power all concrete languages, and to permit efficient mapping from UIML to any concrete language.

The TC has a secondary purpose -- to use UIML to bridge UI-related fields:

  • Techniques from the Human Computer Interaction field. These include UI models, transformational techniques, techniques for computer automation of UIs, usability engineering, generalization of the Model-View-Controller, and new UI metaphors.
  • UI designers that want to think in terms of domain-specific abstractions (e.g., navigation maneuver for an automobile UI, material path for a factory automation UI), rather than at a widget level.
  • UI designers that want a way to capture author intents and map UIs to different devices to create accessible UIs.
  • Techniques to internationalize UIs. Techniques that help integrate UIs with Web Services (e.g., WSDL).

A general motivation for a canonical UI representation language is to accelerate the development of tools for UI development. If practitioners from these fields build tools with UIML, then the tools can interoperate. Just as XML made toolbuilders more efficient (because tools built for XML work for any XML vocabulary), so can UIML make UI toolbuilders more efficient (because tools built for UIML work for any vocabulary representing any concrete UI implementation language). Thus the TC's work will serve to assemble the jigsaw puzzle pieces of UI and HCI technology that have been created.

The TC will evaluate UIML3 and other UI initiatives to formulate a plan for creation of a specification, develop the specification, create compliance tests and implementations, and submit the specification to the OASIS membership for approval.

Relationship to Existing Activities:

Many efforts related to use of XML to describe UIs are underway throughout the industry. The following work may be relevant to this TC:

  • Many W3C Working Groups and Activities, including Accessibility, CSS, Device Independence, Voice, XForms, XHTML
  • Mozilla XUL
  • OASIS HumanMarkup TC

List of Deliverables

  • Assessment of how UIML fits other committees and working groups addressing user interfaces (projected for completion 90 days after first meeting)
  • List of open issues in the UIML 3.0 specification (projected for completion 120 days after first meeting)
  • Revised specification based on issues list (projected for completed 240 after first meeting)
  • Implementations of the specification by different parties
  • Compliance test suite
  • Best implementation practices
  • Revised Specification based on implementation experience

Optional deliverables

  • Documents describing requirements for UIML
  • Analysis of using UIML to make interfaces accessible
  • Document giving UIML examples


[1] UIML3 Specification, 8 February 2002.