Universal Remote Console Prototyping of an Emerging XML Based Alternate User Interface Access Standard

Gottfried Zimmermann Ph.D., phone 608-265-2720, zimmer@trace.wisc.edu
Gregg Vanderheiden Ph.D., phone 608-263-5788, gv@trace.wisc.edu
Al Gilman Sc.D., phone 703-271-8876, asgilman@iamdigex.net
Trace R&D Center
University of Wisconsin-Madison
5901 Research Park Blvd.
Madison, WI, 53719


This poster describes prototyping work being carried out at the University of Wisconsin in support of a standardization effort for "Alternate User Interface Access" within the V2 technical committee of the InterNational Committee for Information Technology Standards (INCITS). It includes some preliminary design aspects of the standard in process, in particular the XML-based language that would be used to communicate an abstract user interface definition for a service or device to a user's personal device which could act as a Universal Remote Console. The prototypical implementations described are being used as a platform for experimental research on the standard under development.


Web services, Universal Remote Console (URC), mobile devices, device independence, abstract user interface, abstract interactor, XML, universal access, disability access, assistive technology, standards.


Today the majority of network-based services and electronic devices such as home security systems, thermostats, copy machines, or public kiosks offer their services solely through one dedicated user interface (UI). This may change in the near future, however. Embedded digital controllers and wireless technologies are rapidly invading our environments at home, at work, in public places, and on the move. By employing Web based technologies, people can control network-based services and electronic devices from anywhere, using a variety of personal devices, such as cell phones, PDAs, car radios, wrist watches, and wearable and other computers. A challenge in all this is to accommodate the diverse user interface needs of access devices today and tomorrow, without having to implement a separate UI for each of them. In particular, the needs of users with disabilities (such as people with visual, hearing, or mobility impairments) have to be accommodated. These users would use specialized devices such as braille based handheld computers, or switch based devices, to remotely control services and devices in their environments.

V2 Universal Remote Console Specification

In order to define a standard for flexible and replaceable user interfaces for electronic services and devices, INCITS has established a technical committee called V2 [1]. Members of this committee include representatives from user groups, industry, government, and academia. V2 is currently working on a "Universal Remote Console" (URC) specification as part of a to-be-developed "Alternate User Interface Access" standard.

Under the URC approach, a manufacturer of a device or service (called "the target", for short), which a user wishes to access, need not devise different UIs for the many types of access devices and users. Instead, the target manufacturer need only supply the "user interface needs" of their product in the standard form. The user brings their own appropriate UI binding with them which may employ graphical user interfaces, voice interfaces, braille-based interfaces, switch-based input methods, etc., or any combination of these.

A Future Scenario

To illustrate the principles and possible applications of the URC, consider the following future scenario:

Kim is driving downtown to meet a friend. She suddenly becomes aware that she forgot to set the alarm on her house. She says to her web enabled car: "Contact my home security." After a few seconds the car responds: "Home security control". Kim tells her PDA to send the security ID, and requests to turn the security system on. The car confirms: "Security system on." Kim ends the remote control session with the words "Close home security control" and the sound of the radio station fills the car again.

Before reaching downtown, she stops at a drive-through ATM. She uses her PDA which connects wirelessly to send her identification, account, and money request to the ATM in encrypted form. The ATM then dispenses the money. She takes it, touches the "Close Session" button on the PDA, and drives off.

Downtown, sitting in a café with her friend, she notices she is going to miss her favorite show on TV. She uses her PDA to contact her video recorder and uses the VCR controls she then sees on her PDA to program the VCR to record the show.


A key part in the Universal Remote Console specification is the definition of an XML-based language to convey a UI description from a service or device (target) to the URC. This "Alternate Abstract Interface Markup Language" (AAIML) must be sufficiently abstract (in terms of modality independence), so that a particular URC device can render the provided UI in its own way, taking advantage of the specific interaction techniques the URC device is capable of. For example, a PDA could render the UI description by using GUI elements (visual) for output, and pointing with a stylus, as well as hand writing recognition for input; a car radio would render the same UI description auditorially with sound and synthetic speech for output, and speech recognition for input; and a braille note-taker would use its braille output and input capabilities in order to render the very same UI description tactily. Each URC device would allow access to all functions of the target, but in its own way.

The abstract UI description language defines a set of abstract UI elements (called "abstract interactors") for input and output operations, each with a particular semantic or function. On the URC an abstract interactor is mapped to a "concrete interactor" available on the URC platform. For example, the abstract interactor "string-selection" may be rendered as an array of radio buttons on a GUI, and as a voice menu on a voice-based UI platform. It is up to the URC device to decide what mapping patterns to use, and the target does not have to have any knowledge about it.

AAIML is based on a powerful event model, thus facilitating highly interactive user interfaces, driven by a two-way notification mechanism between URC and target. Basically the URC specification builds upon eventing capabilities of existing networking environments, such as Microsoft's Universal Plug and Play (UPnP), and Jini/Java.


The Trace R&D Center has a history of research activities related to "abstract UI descriptions" and "universal re-mote controllers." Earlier work in this area includes the development of the infrared-based Universal Remote Console Communication (URCC) Protocol [2]. Today, Trace is supporting V2 and the development of the Universal Remote Console specification by hosting a URC prototyping project. This project pursues experimental research by implementing an array of URC scenarios, varying both the remote console device and the target. Prototypes take advantage of powerful existing technologies, like Bluetooth, 802.11b, Universal Plug and Play (UPnP), and Jini/Java.

Architectural Model of the Prototypes

The layered architecture of the prototype implementations facilitates code re-use across different platforms, and the identification of general requirements for platform-specific layers that the URC implementation may build upon.

<IMG SRC="Figure1.jpg" BORDER="0" ALT="Figure 1: Layered conceptual model of the prototypes" LONGDESC="Figure1-longdesc.html" WIDTH="97%"> [D]
Figure 1: Layered conceptual model of the prototypes.

Prototypical Implementations

The prototypes are implemented mainly in Java, and take advantage of third-party tools for middleware and wireless communication implementations. So far four implementations have been developed or are in development:

Figure 2: A Compaq iPAQ rendering an abstract UI of a TV [D]
Figure 2: A Compaq iPAQ rendering an abstract UI of a TV.

Figure 3: The BrailleNote device, a note-taker with braille-based input and output capabilities[D]
Figure 3: The BrailleNote device, a note-taker with braille-based input and output capabilities.

More prototypical implementations are planned, further varying the URC devices, and targets.


This work was partly funded by the National Institute on Disability and Rehabilitation Research (NIDRR), US Department of Education under grants H133E980008, & H133E990006; and the National Science Foundation (NSF) via the Partnership for Advanced Computational Infrastructure (PACI). Opinions expressed are those of the authors and not the funding agencies or V2.


[1] INCITS V2 - InterNational Committee for Information Technology Standards, Technical Committee V2 - Information Technology Access Interfaces. http://www.ncits.org/tc_home/v2htm/V2docs/v201011.htm.

[2] Vanderheiden, G. C. (1998). Universal remote console communication protocol (URCC). Proceedings of the 1998 TIDE Conference, Helsinki, Finland: Stakes.

Further references to related work:

[3] Ali, M.F., & Abrams, M. (2001). Simplifying Construction of Multi-Platform User Interfaces Using UIML. UIML Europe 2001 Conference, March 2001. http://www.harmonia.com/resources/papers/FarooqAli_finaldraft.pdf.

[4] XForms 1.0. W3C Working Draft 18 January 2002. http://www.w3.org/TR/xforms/.

[5] Web Services Description Language (WSDL) 1.1. W3C Note 15 March 2001. http://www.w3.org/TR/wsdl.

[6] Scott, N.G., & Gingras, I. (2001). The Total Access System. CHI 2001 Extended Abstracts, pp. 13-14.

[7] Beard, M., & Korn, P. (2001). What I Need is What I Get: Downloadable User Interfaces via Jini and Java. CHI 2001 Extended Abstracts, pp. 15-16.