Homework #1: Benchmark Description
This benchmark is an interface to the remote control of an AIWA shelf stereo system. This is implemented as a series of approximately twenty forms that are navigated through a combination of tabs, menus, and selection lists. Only two of these forms have complex interface elements such as scrollable lists. The remaining forms are simple, containing only buttons, pull-down menus, and other common interface elements. This makes the benchmark possible even though there are a large number of forms.
This benchmark tests the form capabilities of toolkits in a variety of different form factors. The intent is to implement the form interface in three different form factors: PC (Visual Basic and Amulet), handheld (Palm), and cell. phone (UIML rendering to WAP).
This benchmark is also conducting a test of UIML's ability to render acceptable interfaces. In the event that UIML is not capable of generating acceptable WML/WMLScript, WML/WMLScript will be used directly.
Handling the back-end logic of the stereo is a major issue for this benchmark. Since a stereo will not be controlled, the interface logic must pretend that it is sending information and receiving feedback. I will implement this as an external C++ object that is linked into each implementation. In other words, a stereo proxy. This will be linked through an ATL DLL in the Visual Basic and PocketPC cases, and directly in the Amulet case. The code will also be linked to the WAP/WML implementation, through UIML's mechanism for interfacing with external program code.
The external object will simulate the complete functionality of the stereo. Ideally the proxy stereo object would be replaceable by an object that could actually send and receive feedback from the stereo. This means that the interfaces generated for each of these benchmarks should be able to control every function of the existing stereo, assuming one could be connected. This extra work is worthwhile because it should help give me some insights on how to integrate the front-end (UI) with the back-end (device commands) of the personal universal controller project.
The proxy stereo will assume the following initial state:
Detailed Interface Specification
The stereo has five major modes, representing each of the five playback inputs. Two of these inputs are ports on the back of the unit which accept audio from an external source. The remaining three inputs come from playback units that are integrated into the device. They are (click for detail):
A recording feature is also implemented for all of these input types. The interface for each of the input types and their recording feature is briefly described below.
In addition to each of the input types, screens will be created for four global setup screens. These screens are titled (click for example):
3-Disc CD Player
The CD player has three modes (click for example):
2-Deck Tape Player
The tape player has only a single minor mode (click for example).
The AM/FM tuner has only one minor mode (click for example). The tuner also supports preset radio stations, which are displayed in a pull-down menu and will not be saved from session to session.
As mentioned above, these are the toolkits that I will use to implement this interface:
View my PowerPoint presentation slides.
Jeffrey Nichols Last modified: Sun Feb 4 03:36:50 EST 2001