Assignment for 05-830, User Interface Software, Spring, 1997.
School of Computer Science
Carnegie Mellon University
Pittsburgh PA 15213
This benchmark is a set of forms that must be navigated, mimicing the user interface for an installer program. It explores the ease with which form-based interfaces with complex dependencies between form elements can be created in various toolkits, and the extent to which various toolkits facilitate reuse of dialogs.
Many installers and similar tools use such forms to structure the interaction with the user.
This benchmark tests several aspects of a user interface toolkit:
This program handles `installing' five files, called `Editor', `Spellchecker', `English Dictionary', `French Dictionary', and `Help'. It obeys the following constraints: the Editor must be installed. The Spell Checker may only be installed if one of the Dictionaries is installed.
There are two primary paths through the installer, the Easy Install path and the Custom Install path. In the Easy Install path, the user is given no choice about what files can be installed; the files that are installed are the Editor, the Spellchecker, and the English Dictionary. In the Custom Install path, the user gets a choice of what files to install, and after installing them, he may return to install more files.
Some general features are that hitting the tab key should move from field to field in a reasonable order, so it is easy to enter the values. And the default action in each form (usually OK or Install) should be denoted (usually by a thicker border) and hitting the RETURN (or Enter) key should activate it.
The high-level structure of the possible paths through
the set of forms are described by Figure
Each of the forms is described in further detail in later sections.
The Initial Setup form is the first form presented to the user. It has the following features:
- An editable text field labeled `Name' which accepts an arbitrary number of characters.
- A combo box labeled `Affiliation'. The user can either select an affiliation from the provided list or type one in. The choices provided in the drop-down menu are `Department of Computer Science', `Human-Computer Interaction Institute', and `Software Engineering Institute'.
- An editable text field labeled `ID number'. The ID number must have the form of three digits, a hyphen, and two letters (i.e., `123-XY'). This is enforced in the following way: if the user leaves the text field when the ID number is not in the right format, a dialog box appears with the text `The ID number must have the form of three digits, a hyphen, and two letters. (i.e., `123-XY')' and a button labeled `OK'. If the user leaves the text field when the ID number is in the correct format, lowercase letters in the ID number are replaced with upper-case letters.
- Two mutually exclusive radio buttons, labeled `Easy Install' and `Custom Install'. The `Easy Install' button is on by default.
- A button labeled `Install'. This button is disabled (i.e., grayed out) if the Name, Affiliation, and ID Number fields are not correctly filled in (the Name and Affiliation are considered correct if they have at least 1 character, and the ID verification is discussed above). If it is enabled, it becomes the default button. Clicking on this button when it is enabled takes the user to the Installation form if the `Easy Install' radio button is selected, and to the Custom Install form if `Custom Install' is selected. (It might be a better user interface to have separate buttons labelled "Easy Install" and "Custom Install", but having one button whose behavior depends on the setting of other buttons better tests the capabilities of the toolkits.)
- A button labeled `Quit'. This button is always enabled; activating it quits the program.
The Custom Install form is presented when the user activates the `OK' button of the Initial Setup form when the `Custom Install' radio button is selected. It allows the user to select exactly which files will be installed, subject to the constraints and dependencies among those files.
The major feature of the Custom Install form is a scrolling list of checkboxes, corresponding to the five files that the installer manages. (If a scrolling list of checkboxes cannot be implemented, a form that displays all five files without any scrolling may be implemented instead.) The dependencies among files are expressed in the following way:
- Names of files that have already been installed are shown in black, without any checkbox next to them.
- Names of files that will be installed if the user goes on to the Installation form are shown in black, with a checked checkbox. For files that must be installed, the corresponding checkbox cannot be unchecked. (This again is not necessarily the ideal user interface, but it tests the ability of a toolkit to implement a constraint that must be maintained.)
- Names of files that could be installed with the current constraints, but are not currently selected to be installed, are shown in black, with an unchecked checkbox.
- Names of files that cannot be installed currently, because they depend upon files that have not been chosen, are shown in grey, with an unchecked checkbox.
If a box is unchecked, any boxes that depend upon it are also unchecked (and greyed out).
The constraint that the Spellchecker depends upon having at least one dictionary is expressed to the user by having the name of the Spellchecker in the list of files be `Spellchecker (Requires Dictionary)'.
Figure 2. This displays an example of what the list of checkboxes may look like at one time:
The `Editor' file has no checkbox because it has already been installed in a previous cycle. The English and French Dictionaries are not being installed, but could be; the Spell Checker cannot be selected because neither Dictionary has been installed. If a dictionary had been installed in a previous cycle or was checked to be installed in this cycle, the Spellchecker would not be grayed out.
When this dialog is entered the first time, the default set of boxes checked will match the files installed by Easy Install: the Editor, English Dictionary, and Spellchecker.
The dialog box also has two buttons, labeled "Install" and "Cancel". The "Install" button is the default button; clicking on it takes the user to the Installation dialog. This button is disabled if nothing is selected to install.
The "Cancel" button returns the user to the form from which they came to the Custom Install form.
The Installation form can be reached from either the Initial Setup form or the Custom Install form. It has the following features:
- A list of the files to be installed. This is taken from the checkboxes if the user comes from the Custom Install; if the user takes the `Easy Install' option from the Initial Setup form, the files to be installed are the Editor, the English Dictionary, and the Spellchecker.
- A progress bar indicating the progress made in installing the files.
- A button labeled "Start", which is the default button. During the installation, the label of the button changes to "Stop".
- A button labeled "Done". During installation, this button is grayed out.
Figure 3. This shows a sample implementation of this dialog.
When the Start button is triggered, the Start button should change to "Stop", the "Done" button should be grayed out, and the files should be "copied". In order to avoid details of the file system that are irrelevant to user interface issues, copying each file should be implemented as a delay loop of about fifteen seconds.
The important issues with the "copying" are these: the Progress Indicator bar should be filled with a rectangle that indicates what fraction of the time to do the copy has elapsed. If the user clicks on the "Stop" button during the process, the "copying" should be stopped promptly, and the files that were supposed to be installed are removed, so the status is the same as before the Start button was pressed.
The purpose of these features is to test the ability of the toolkit and the underlying programming language to handle multiple processes (these may or may not correspond to processes in the operating system sense) and to allow the user to control processes that are not by nature very user-oriented.
When the copying process finishes or is stopped, the "Done" button is reactivated and the "Stop" button is grayed out. The effects of the "Done button depend on the path that was taken to reach this form.
If the "Easy Install" option was chosen, the "Done" button leads to a dialog box with the words "You have finished your easy install." and a "Quit" button which, when activated, quits the program.
If the Installation form was reached from the Custom Install path, the "Done" button leads to a dialog box with the words "You have finished your custom install." and two buttons, labeled "Quit" and "Install more." The "Quit" button quits the program; the "Install More" button returns to the "Custom Install" form.
The purpose of this difference in outcomes between the two uses of the Installation form is to test how well the toolkit can support the reuse of the Installation form in two slightly different situations, and to what extent the control flow of the program can reflect the graph structure expressed in Figure 1.