Automatically Generating Consistent
Remote Control User Interfaces

A problem with today's appliance user interfaces is a lack of consistency. Learning to add a new speed dial number to your office phone, for example, will probably not help with adding a speed dial number to your home phone or to the office fax machine. Uniform provides the ability to create a personally consistent interface environment for users. Interfaces are presented on a remote control and are automatically generated to match interfaces that the user has previously seen on their remote control.

The example below shows how Uniform can ensure consistency for copier interfaces.

Copier A without consistency Copier B without consistency Copier A consistent with Copier B Copier B consistent with Copier A

For additional explanation, see the following:


To date, we have applied Uniform to VCR and copier user interfaces. We have generated interfaces with Uniform on the PocketPC, Desktop, and Smartphone platforms.

The examples on this page are:

Copiers on the Smartphone

The Smartphone platform runs on mobile phone devices without touchscreens. The main form of the interaction with Smartphone devices is through a four-way directional joystick and the standard phone keypad. Thus the interface style on the Smartphone is also much different, with list-based interfaces that have a hierarchical structure.

Uniform does most of its consistency work on the abstract user interface, which allows its rules to cross platforms easily. The copier interfaces shown below were generated with no modification to the consistency rules and little work to add Uniform to a phone interface generator.

Copier A without consistency Copier B without consistency

Copier A consistent with Copier B Copier B consistent with Copier A

You will notice that Uniform's consistency algorithms appropriately change the labels of functions and the hierarchical structure of the list-based interface.

VCRs on the Desktop

We have created specifications for several VCRs, including a high-end Mitsubishi Digital-VCR and a mid-range Samsung DVD-VCR. The interface below show some examples of consistency in these generated interfaces.

Mitsubishi DVCR Samsung DVD-VCR

Samsung DVD-VCR consistent with Mitsubishi DVCR

The Samsung DVD-VCR interface generated by Uniform to be consistent with the Mitsubishi DVCR interface. There are a few things to notice about this interface: 1) the clock functions were located under "Setup" in the original interface, but they have been moved to the "Status" panel in the consistent interface to match the DVCR. The clock channel function has remained in Setup however, because that is where that function was located on the DVCR. Note also that the "Status" panel in this interface is new to match the equivalent panel on the DVCR interface. Status labels that were originally shown in the DVD-VCRs sidebar have been moved onto this new panel.


Uniform is built on top of our previous Personal Universal Controller (PUC) system. It adds a knowledge base for tracking the interfaces that users have seen and storing functional mappings that define how different appliances are similar. Uniform also adds several additional rule sets for finding similarity and ensuring consistency. The architecture of Uniform is shown below.

Similarity between specifications is stored in the knowledge base as mappings. A mapping specifies that a portion of one specification is semantically similar to some portion of another specification. Mappings that reference the same piece of a specification are grouped together in a mapping graph. Multiple mapping graphs exist in the knowledge base, with one for each type of similar function. For example, there would be a mapping graph for power functions, another for media controls, and another for volume functions.

Mapping graphs also keep track of which specifications have been used as a basis for consistency. The nodes in the graph, which correspond to specifications, keep a count of how often that specification has been used as the basis for consistency. Within specifications, the representations for similar functions may differ enough such that there is no way to ensure consistency. The edges of the mapping graph keep track of this fact. We include edges for which consistency cannot be ensured because we may still wish to use similar labels for these functions.


Here are several documents and presentations describing Uniform.


  1. Jeffrey Nichols, Brad A. Myers, Brandon Rothrock. "UNIFORM: Automatically Generating Consistent Remote Conrol User Interfaces," To appear in Proceedings of CHI'2006. April 22-26. Montreal, Canada. (pdf)


  1. "UNIFORM: Automatically Generating Consistent Remote Control User Interfaces," at CHI'2006. (ppt)

Introduction - Examples - Architecture - Documents

Last Modified: April 15, 2006

Jeffrey Nichols - jeffreyn@cs.cmu.edu