A universal console (UC) platform for a UC device is provided. The user
sets up or initializes the UC by describing his or her preferences and
disabilities. The UC digests and stores this user information. Later, as
the user encounters various devices and applications to be controlled,
and indicates a desire to control a particular device, the device to be
controlled or other source sends a canonical user interface (UI)
description of the device's UI to the UC. The canonical UI description
adheres to an abstract format to describe in high-level terms the
functionality of the device's UI.
From the canonical UI representation, the UC device is capable of
recognizing (1) the action-commands to which the device responds
including parameters and (2) the decisions, selections, and input the
user needs to provide for the console to determine which action-commands
to send and the values of the action-command parameters. Generally, this
implicates group hierarchy, from which the user is able to choose what he
or she wants the device to perform, and the UC is able to gather the
parameter values associated with the action-commands to carry out the
user's wishes. Additionally, the UC device is capable of receiving
status, state changes and other notifications from a device within its
control.