Chapter 21 covered the different controls on a user interface. While sometimes it is helpful to bring up a dialog box to direct the user’s attention at some action, most controls should be somewhere on the interface itself to save time. Cooper outlines four types of controls for UI design.
The first main control type is the imperative control. When the user clicks this control, some immediate action is expected to happen. The most common example is the button. This is usually part of a dialog box and contains text to explain its purpose. It usually appears raised when it can be clicked, and depressed when the action is executed. Similar to the button is the butcon, which appears on a toolbar. It can have an image instead of text inside, and can act as a shortcut for some action in a menu. One last imperative control is the hyperlink, which brings users from one page to another.
The second type of control is the selection control. This allows the user to pick from a set of options on the application. The most basic forms are the check box, radio button, and list control. There are some ‘hybrid’ controls as well, such as the combutcon (a butcon with a dropdown selection list) and the combo box (a drop down list, with an edit box at the top for the user to simply type in the option they want). One additional control is the tree, which should only be used when there is a clear hierarchy.
Third is the entry control. This allows a user to enter custom data. Entry controls can be characterized depending on whether or not users can enter any values: bounded or unbounded. Bounded controls include spinners, dials, sliders, and thumbwheels. Unbounded entries are usually text fields. While these allow users more freedom, they need some kind of validation to prevent errors. Active validation is the rejection of text while the user is entering. Passive validation is changing the values of a text box after a user finishes inputting data. When using text fields, it’s important to be able to recognize user-entered units.
The last type is the display control. These give the user options for displaying what’s on the page. They include text controls, scrollbars, splitters, drawers, and levers.
Chapter 22 covers menus. It begins with a brief history of interfaces, beginning with command lines. Today, menus should organize commands in a way that helps advanced users, while giving clues to new users about what the application can do.
It is not necessarily wise to follow the standard menus used by other applications. A menu should be goal-directed, or designed to reflect the way the user will think. Cooper had comments about many of the most common menu items.
- File: this should contain commands related to the file itself, and should be tailored to the application (e.g. a music app should have “Song” instead of “File”)
- Edit: A helpful category, but to avoid making it a catch-all for every command that makes some kind of change
- Windows: only include if the application allows multiple documents at the same time
- Help: A prime example of how the standard format is not the best. Most help menus are not at all helpful
Some optional menus include View, insert, Settings, Format, and Tools. To further aid users, disable menu items that cannot be used, and don’t put imperative controls directly in the menu bar. Menu shortcuts should be encouraged as long as they follow standards.
