In this article, we present a framework for
automatically generating appliance interfaces
from abstract specifications of appliances’ functions
(see the “Related Work” sidebar). These
interfaces let you control each appliance’s full
functionality and are consistent with the phone’s
other interfaces. This lets you leverage your existing
knowledge of your phone to control appliances.
Our interfaces are also fully interactive,
which lets you incrementally adjust the appliance’s
features, such as volume, in real time.
An important focus of our system is to generate
high-quality interfaces, but doing so on
a smart phone is challenging. Existing phones’
screens are small and typically can display
only 8 to 10 lines of text at once. This results
in a hierarchical list-based design for most user
interfaces that can become unwieldy when the
list is too long to display on one screen. Another
problem is that users must remember their location
in the hierarchy to navigate to any function.
Our system addresses these problems with
innovative rules that optimize each list screen
and limit the hierarchy’s depth while maintaining
the appliance’s natural structure. The resulting
interface is easy to search and requires few
navigation steps. Our system also maintains a
phone interface’s look and feel without introducing
new interaction techniques, so our interfaces
are consistent with other applications on
the phone.