In this section, several different kinds of user interfaces are described, including natural-language interfaces, question-and-answer interfaces, menus, form-fill interfaces, command-language interfaces, graphical user interfaces (GUIs), and a variety of Web interfaces for use on the Internet. The user interface has two main components: presentation language, which is the computer-to-human part of the transaction, and action language, which characterizes the human-to-computer portion. Together, both concepts cover the form and content of the term user interface.
Natural-language interfaces are perhaps the dream and ideal of inexperienced users, because they permit them to interact with the computer in their everyday, or natural, language. No special skills are required of the user, who interfaces with the computer using natural language.
The display depicted in the figure below lists three natural-language questions from three different applications. Notice that interaction with each seems very easy. For instance, the first sentence seems straightforward: “List all of the salespeople who met their quotas this month.”
The subtleties and irregularities residing in the ambiguities of English produce an extremely exacting and complex programming problem. Attempts at natural-language interfacing for particular applications in which any other type of interface is infeasible (say, in the case of a user who is disabled) are meeting with some success; however, these interfaces are typically expensive. Implementation problems and extraordinary demand on computing resources have so far kept natural-language interfaces to a minimum. The demand exists, though, and many programmers and researchers are working diligently on such interfaces. It is a growth area, and it therefore merits continued monitoring.
In a question-and-answer interface, the computer displays a question to the user on the display. To interact, the user enters an answer (via a keyboard stroke or a mouse click), and the computer then acts on that input information in a preprogrammed manner, typically by moving to the next question.
A type of question-and-answer interface called a dialog box is shown in the figure shown below. A dialog box acts as a question-and-answer interface within another application, in this case a PERT chart for a systems analysis project for the Bakerloo Brothers. Notice that the rounded rectangle for “Yes” is highlighted, indicating that it is the most likely answer for this situation. The main interface for this application need not necessarily be question and answer. Rather, by incorporating a dialog box, the programmer has included an easy-to-use interface within a more complicated one.
Wizards used to install software are a common example of a question-and-answer interface. The user responds to questions about the installation process, such as where to install the software or features. The wizard can also ask questions and respond to the user’s answers with more questions designed to narrow the scope of the problem. This is a typical way of setting up a technical support interface in order to winnow down problems and do more accurate troubleshooting.
A menu interface appropriately borrows its name from the list of dishes that can be selected in a restaurant. Similarly, a menu interface provides the user with an onscreen list of available selections. In responding to the menu, a user is limited to the options displayed. The user need not know the system but does need to know what task should be accomplished. For example, with a typical word processing menu, users can choose from the Edit, Copy, or Print options. To utilize the menu best, however, users must know which task they desire to perform.
Menus are not hardware dependent. Variations abound. Menus can be set up to use keyboard entry, light pen, touch screen, or mouse. Selections can be identified with a number, letter, or keyword, or users can click on a selection with a mouse. Consistency is important in designing a menu interface.
Menus can also be put aside until the user needs them. Figure illustration below shows how a pull-down menu is used while constructing a PERT diagram for a systems analysis project being completed for the Bakerloo Brothers. The user puts the pointer on Dates and pulls it down. Then the user puts the pointer on Calendar, selecting the option to display the project on a conventional monthly calendar.
Menus can be nested within one another to lead a user through options in a program. Nested menus allow the screen to appear less cluttered, which is consistent with good design. They also allow users to avoid seeing menu options in which they have no interest. Nested menus can also move users quickly through the program.
GUI menus are used to control PC software and have the following guidelines:
- The main menu bar is always displayed.
- The main menu uses single words for menu items. Main menu options always display secondary drop-down menus.
- The main menu should have secondary options grouped into similar sets of features.
- The drop-down menus that display when a main menu item is clicked often consist of more than one word.
- Secondary options perform actions or display additional menu items.
- Menu items in gray are unavailable for the current activity.
An object menu, also called a pop-up menu, is displayed when the user clicks on a GUI object with the right mouse button. These menus contain items specific for the current activity, and most are duplicate functions of main menu items.
Experienced users may be irritated by nested menus. They may prefer to use a single-line command entry to speed things up. Other users might use the shortcut abbreviations or key combinations such as Alt . I . P C, which inserts a picture that is clip art in a Microsoft Office document.
Form-Fill Interfaces (Input/Output Forms)
Form-fill interfaces consist of onscreen forms or Web-based forms displaying fields containing data items or parameters that need to be communicated to the user. The form often is a facsimile of a paper form already familiar to the user. This interface technique is also known as a form-based method and input/output forms.
Figure below shows a form-fill interface. A pull-down menu for Part No. automatically enters a Description and Unit Price for the item. When the user tabs to the Quantity field and enters the number of items being purchased, the software automatically calculates the Extended Price by multiplying Quantity by Unit Price.
Forms for display screens are set up to show what information should be input and where. Blank fields requiring information can be highlighted with inverse or flashing characters. The cursor is moved by the user from field to field by a single stroke of an arrow key. This arrangement allows movement one field backward or one field forward by clicking the appropriate arrow key. It provides the user good control over data entry. Web-based forms afford the opportunity to include hyperlinks to examples of correctly filled-out forms or to further help and provide examples.
Form input for displays can be simplified by supplying default values for fields and then allowing users to modify default information if necessary. For example, a database management system designed to show a form for inputting checks may supply the next sequential check number as a default when a new check form is exhibited. If checks are missing, the user changes the check number to reflect the actual check being input.
Input for display screen fields can be alphanumerically restricted so that, for example, users can enter only numbers in a field requesting a Social Security number, or they can input only letters where a person’s name is required. If numbers are input where only letters are allowed, the computer may alert the user via audio output that the field was filled out incorrectly.
The chief advantage of the input/output form interface is that the printed version of the filled-in form provides excellent documentation. It shows field labels as well as the context for entries. In addition, Web forms can return incomplete forms to the user with an explanation of what data must be entered to complete the transaction. Often, fields with missing data are marked with a red asterisk. Web-based documents can be sent directly to billing if a transaction is involved, or they can go directly to a real-time database if a survey is being submitted. Web-based forms push the responsibility for accuracy to the user and make the form available for completion and submission on a 24-hour, 7-day-a-week, worldwide basis.
There are few disadvantages to input/output forms. The main drawback is that users experienced with the system or application might become impatient with input/output forms and might want more efficient ways to enter data.
A command-language interface allows the user to control the application with a series of keystrokes, commands, phrases, or some sequence of these three methods. The simple syntaxes of command languages are considered to be close to natural language.
Two application examples of command language are shown in the figure below. The first shows a user who asks to use a file containing data on all salespeople, then asks the computer to display all last names and first names for all salespeople whose current sales (CURSALES) are greater than their quotas. In the second example, a user asks to use a file called GROCER, and then directs the computer to calculate the spoilage (SPOILS) by subtracting produce sold from produce bought. After that is done, the user asks to go back to the top of the file and to print out (LIST) the file.
The command language has no inherent meaning for the user, and that fact makes it dissimilar to the other interfaces discussed so far. Command languages manipulate the computer as a tool by allowing the user to control the dialog. Command language affords the user more overall flexibility and control. When the user employs command language, the command is executed by the system immediately. Then the user may proceed to give it another command.
Command languages require memorization of syntax rules that may prove to be obstacles for inexperienced users. Experienced users tend to prefer command languages, possibly because of their faster completion time.
Graphical User Interfaces
The key to graphical user interfaces (GUIs) is the constant feedback on task accomplishment that they provide to users. Continuous feedback on the manipulated object means that changes or reversals in operations can be made quickly, without incurring error messages.
The creation of GUIs poses a challenge, because an appropriate model of reality or an acceptable conceptual model of the representation must be invented. Designing GUIs for use on intranets, extranets, and on the Web requires even more careful planning. Most users of Web sites are unknown to the developer, so design must be clear-cut. The choice of icons, language, and hyperlinks becomes an entire set of decisions and assumptions about what kinds of users the Web site is hoping to attract. The designer must also adhere to conventions that users now expect to encounter on Web sites.
Other User Interfaces
Other less common user interfaces are growing in popularity. They include pointing devices such as the stylus, touch-sensitive screens, and speech recognition and synthesis. Each of these interfaces has its own special attributes that uniquely suit it to particular applications.
The stylus (a small pointed stick that resembles a pen) is used with handwriting recognition software for mobile phones (acting as PDAs—personal digital assistants) and PC devices. They have been a success because they integrate many functions and are easy to use. Additionally, they are portable and sell for a comparatively low price. There has been an explosion of fun and useful applications written for these mobile devices, including popular programs for restaurant reviews such as Zagat, popular utilities such as “To Do” lists for work and personal use, and for popular games such as Sudoku. Data entry is also facilitated with a docking cradle so that data can be synchronized with your PC.
A tablet PC is a notebook computer with a stylus or touch-sensitive display. It can be equipped with built-in Wi-Fi or Bluetooth communication. Touch-sensitive displays allow a user to use a finger to activate the display. Touch-sensitive displays are useful in public information displays, such as maps of cities and their sights posted in hotel lobbies or car rental facilities. They can also be used to explain dioramas in museums and to locate camping facilities in state parks. Touch-sensitive displays require no special expertise from users, and the screen is self-contained, requiring no special input device that might be broken or stolen. Touch sensitive screens (also called simply touch screens or touch pads) for mobile phones such as the iPhone and the BlackBerry are making this alternative user interface familiar to users and widely used. Current research is examining how to make pressure-sensitive touch pads commercially viable. These interfaces can be used with both large and small touch screens and are practical for applications such as virtual painting or sculpting, a simulated mouse, and for musical instruments such as a piano keyboard where the intensity of the pressure applied is critical to the output.
With voice recognition, the user speaks to the computer, and the system is able to recognize an individual’s vocal signals, convert them, and store the input. Voice recognition inventory systems are already in operation, and automobiles now feature voice input systems that respond to a driver’s voice commands to navigate, change the radio station, or use the Bluetooth phone that has been paired with the vehicle.
An advantage of voice recognition systems is that they can speed data entry enormously, and free the user’s hands for other tasks (for example, driving). Speech input adds still another dimension to the PC. It is now possible to add equipment and software that allows a PC user to speak commands such as “open file” or “save file” to avoid using the keyboard or mouse. Users with limited mobility or impaired sight can benefit from voice recognition systems. In the example shown in the figure below, the user corrects a word by pulling down a menu of alternative words that sound the same.
When evaluating interfaces, keep some standards in mind:
- The necessary training period for users should be acceptably short.
- Early in their training, users should be able to enter commands without thinking about them or without referring to a help menu or manual. Keeping interfaces consistent throughout applications can help in this regard.
- The interface should be seamless so that errors are few and those that do occur are not occurring because of poor design.
- The time that users and the system need to bounce back from errors should be short.
- Infrequent users should be able to relearn the system quickly.
Many different interfaces are available, and it is important to realize that an effective interface goes a long way toward addressing key HCI concerns. Users should want to use the system, and they should find it attractive, effective, and pleasing to use.