Human-computer interaction (HCI) is the study of how people use computers, with the aim of making them easier to use. It has grown in importance as a topic as computers have become less expensive and, thus, are now used by many more people. In the early years of computers (the 1950s to the 1970s), computers were expensive and generally only used by skilled people, often computer scientists. The aim in writing programs was to squeeze the most power from a very limited memory and processing speed. It made sense to pay little attention to the usability of the system when the computer cost millions of dollars and could barely perform the task required. Since the 1980s, as computers have become less expensive and particularly as they have become more widespread, the problems of usability have become more intense. Systems developers can no longer assume that the user of a computer has a degree in computer science or is willing to spend considerable time learning to use it. At the same time, falling hardware costs mean that it has become feasible to allocate computational resources to an interface that is easier to use. But what makes an interface easier to use? That is what researchers in HCI attempted to find out, and it remains the challenge of current research and development.
Research and Development
In addition to computer science, psychology has played a significant role in HCI research. Early work on the design of aircraft cockpits focused on the problems of designing complex displays so that pilots could quickly and accurately make use of many sources of information and act on them. Researchers carefully studied other time-critical and safety-critical applications such as nuclear power stations. Although using a word processor is rarely a life-and-death affair, it can seem overwhelmingly complicated, considering that it should be a simple task. Cognitive psychologists draw on their experience of understanding human learning and problem-solving practices to explain the factors that make a problem easier or harder for a person to solve. This can be used to help to understand the difficulties that people have with using computer programs and to generate recommendations for the design of better interfaces (i.e., how the user will interact with the computer). It involves the application of the traditional scientific method—proposing a hypothesis about user behavior under a certain set of circumstances and then designing a controlled experiment to test the hypothesis. Work in this tradition may also be called "human factors" or "ergonomics."
In parallel with the analytic approach of psychologists, computer scientists explore the development of new computer interfaces in an attempt to solve the problems identified by these analyses. One major development has been the creation of graphical user interfaces such as the Macintosh user interface and Microsoft Windows. Instead of typing commands in order to manipulate, copy, and organize files, users can move small graphical representations ("icons") of the files and folders. They can make the computer carry out tasks by clicking on buttons that may contain text and/or an icon to illustrate what the button will do. Users may also choose commands from lists of names ("menus") that may be on a particular screen or that can drop down or pop up when the user clicks on a particular area. Different contexts for working, such as word-processing a document and working on a spreadsheet, can be provided by rectangles on the screen that can be overlapped ("windows"). To people who use computers on a regular basis, this discussion may sound rather odd. They might even wonder why there is any need to try to explain exactly what icons, menus, and windows are. However, a key point in HCI is the fact that users of computer systems can become so familiar with an interface that they find it normal forget that such an interface initially seemed strange and needed explanation. This was the problem with many of the early designs of computer applications for popular use. Since the designers were familiar with computers and found the designs easy to use, they often forgot that users who were new to computers would need a different, clearer design.
There are several reasons why graphical interfaces are popular. For example, one of the findings from cognitive psychology is that human beings are much better at recognizing something familiar (e.g., by choosing a command from a list) than they are at recalling it (e.g., remembering the exact name for a command without being given any clues). Thus, if computers provide a menu of commands to choose from, rather than requiring users to recall a command and type it into the computer, many more users are likely to be able to make the correct choice.
There is, however, a problem with this approach. If there are only ten things that can be done, then a menu of ten items is fine. If there are one hundred, it gets more complicated, requiring submenus with a resulting problem of whether the user will be able to guess the right submenu in which to look. If there are one thousand items, things are much more complicated. That explains in part why, despite the popularity of graphical user interfaces, text-based interfaces are still used. The Unix operating system is still mostly used with such a complex interface. Unix is a powerful system and there are many commands. It is popular with expert computer users who want access to these commands and are willing to take the time to learn them. Once learned, typing in a powerful command can be much faster than choosing a combination of menu items and doing a sequence of clicking and dragging of icons. It is also possible to program sequences of commands to automate many complex tasks. This is a classic design tradeoff. The graphical interface may be easier to learn and faster to use for beginners, but the text-based interface may be much more efficient for experts.
Good introductory overviews of HCI are available in the form of textbooks (e.g., Preece et al., 1994; Dix, 1998) as well as books written by practitioners reflecting on their design experience and the general lessons that can be learned (e.g., Tognazzini, 1992, 1995; Cooper, 1995). The Association for Computing Machinery (ACM) publishes an accessible magazine in the area, called interactions, as well as providing numerous resources via its website. Research in HCI examines both the theory of how people reason about and with computer systems, as well as the development and testing of new kinds of interfaces. Some researchers also study how to integrate interface design and efficient evaluation of computer use into the cycle of product development.
Much can be learned from watching someone and noting their confusion as they try to use a computer system. Often, by careful analysis, it is possible to explain why the person was confused, to predict other likely areas of confusion, and to propose ways of redesigning the system to eliminate or at least reduce the chances of that confusion. People often reason by analogy. If the new computer application that they are currently using reminds them of another application that they already know, they will guess that doing something in this new application will do the same thing as in the old application. For example, if they are used to filling in an online form by hitting the tab key to get from one field to another, they will try and do the same thing in the current form. If it does not work (or worse, does something different, such as inserting a tab character into the form), they may not notice at first and will be all the more confused when they eventually do notice. Consistency in interfaces greatly increases their usability. Consistency can be external (i.e., it is similar to other, familiar interfaces) and also internal (i.e., two different parts of the system are similar). For example, imagine how confusing an internally inconsistent interface would be if, after filling in one form, the user must click on the "enter" button at the top of the form, while on the next form, the user, after filling in the form, must click on the "submit" button at the bottom of the form.
Metaphor can be useful in helping someone to understand a new application. Thus, the way a person can organize his or her computer files into folders can use the metaphor of a physical desktop, as in the Windows and Macintosh operating systems. However, metaphors can become confusing if they are used inconsistently. Other techniques to test an interface can be employed prior to doing a usability study. One can use a checklist of desirable interface features to include, or one can use a checklist of common interface errors. The interface can be assessed by comparison with such a list. In this way, certain problems can be detected in a very quick and cost-effective manner. For example, a checklist of desirable features might include the question "Does the interface provide consistent ways of doing similar actions?"
Usability and Design
The usability of a system depends on both textual and graphical aspects. In graphical user interfaces, icons are often used. A poorly designed icon may mean that the user cannot guess what it will do. If the image seems arbitrary, people may forget the meaning of an icon from one use to the next, greatly reducing their efficiency. Edward Tufte (1990) has explored many issues that are of importance to the design of comprehensible graphical interfaces. Similarly, textual design— choosing the names of menu options, actions, words on buttons, and so on—is harder than it might first appear. In designing a system and choosing those names, what should a certain option be called? Is it a technical term? If so, will the intended users know what it means? Is it ambiguous? It may not be to the interface designer, but it may be to the user. The selection of names is complex, and again there are ways of testing the usability of ideas, even before a system is actually built. One method is known as participatory design, in which the intended users of a new system are included in the design process.
It can be tempting when reading about the problems that users have, or even when observing a user test, to react in words like the following: "Well, they ought to read the manual or go on a training course. It's not my fault if they can't be bothered to learn to use my system." However, few users read the manual. People are too busy, they want to learn by doing, and often they have had such unproductive experiences with poorly written manuals that they are unwilling to take that route. Thus, designers must strive to make systems as easy to use as possible, so users can guess the most likely action that they should try. The difficulty of learning to use computer applications is a major problem. If designers could improve interfaces, they could create substantial productivity gains for the users of computer systems. Furthermore, designers need to justify why a company should bother to invest scarce resources in improving the usability of its products, and they need to show that such an investment yields substantially greater profits through greater sales of a more usable product.
It has already been noted that designers are tempted to think that all users are similar to them. Thus, it is important in design to consider the likely background of the intended users. Often, there will be several different kinds of user all with slightly different needs. The design challenge is to cater to as many of those needs as possible, within the budget constraints. Trade-offs are inevitable. Including a given feature may help one group of users but confuse another, so should it be included or not? Users vary by what they may want to do with the software, and also by their background. They may be computer novices or experts. The needs of someone who is new to the system are different from the needs of someone who frequently uses the system. The former may want help and explanation, along with features to make it easy to learn how to use the application. The latter may be much more concerned with doing their tasks as quickly and accurately as possible and be irritated by "helpful" features that slow them down. For example, many graphical interfaces allow the user to carry out actions by a sequence of menu selections, where each stage of the process is explained in a series of text and graphic boxes that pop up on the screen. This helps a novice to the application to understand what to do and the other options that are possible. There may also be a "keyboard shortcut" available for experts who know exactly what they want to do and want to do it quickly. The shortcut is often an obscure combination of keys that must be pressed in a certain order. This is hard to learn (which is bad for the newcomer) but very fast to execute (which is good for the expert). Including the shortcut in the menu option creates an interface that benefits both groups.
As well as experience with computers, there are other ways in which the intended users of systems may be different in some way from their designers, and these differences should also be explicitly taken into account in the design process. People with disabilities have a particular set of needs. They may use special hardware or software configurations to enable them to use a computer application. It is important to check that an interface design is compatible with these different kinds of use. For example, a color display that conveys vital information only by whether a certain area on the screen is red or green will be confusing for a user with red-green colorblindness. The solution, as in other cases, is to provide additional ways of conveying the information: use color and shape, or color and text, for example. Other kinds of potential users who may need special design attention include children and people from countries and cultures different from that of the designer. This means that the designer must consider issues such as choice and style of language, alternative versions of the same language (such as British and American English), whether icons will be meaningful, the effect of graphics, and various other conventions. The format for dates is a classic convention problem—4/5/01 can mean either the 4th of May 2001 or the 5th of April 2001, depending on where in the world you are.
The design of interfaces involves both hardware and software. When certain kinds of input and output hardware become available or inexpensive enough for the intended task, new kinds of interfaces (designed in software) become possible. For example, color monitors and the mouse make it possible to design the kinds of graphical user interfaces that are now common. As handheld computers become more prevalent, particularly as they become networked, new opportunities for innovative interfaces will arise, along with commercial pressures that they should become as easy to use as other domestic appliances. Work on immersive virtual reality looks at how hardware such as very large monitors, wall projectors, or special goggles can be used to give users the illusion of actually traveling in a fabricated three-dimensional world as opposed to manipulating small images on a flat screen. People frequently use images to help them interact with computers, but why not use sound as well? At the moment, most computers only use sound in primitive ways, such as beeping when something is wrong, or for entertainment. Some researchers are working on more advanced ideas, such as being able to hear data as well as, or instead of, seeing it. This is known as "sonification." In addition, researchers are working on ways for a user to talk to a computer and for the computer to talk back. Such sound-based interfaces would be especially useful for people who have visual disabilities or for interacting via a mobile telephone or while driving.
In addition to applications that run on computers, such as word processors and databases, interface design is important for Internet use. Designing web pages, including interactive pages for shopping, pose whole new challenges for HCI. Online customers can be impatient, and if a website is difficult to use, they will very rapidly move on to a competitor's site and make their purchases there. Consequently, design for ease of use is a significant competitive advantage.
HCI is growing in importance as the number of people who interact with computers grows. The explosive growth of the Internet and of e-commerce has served to focus attention on the usability of websites as yet another kind of computer interface. HCI involves both fundamental theoretical research, experimentation, the creation of radically new ways of interacting with computers, and the practical development of computer applications that are easier to use.
Association for Computing Machinery. (2000). "Association for Computing Machinery." <http://www.acm.org>.
Baecker, Ronald M.; Buxton, William; and Grudin, Jonathan, eds. (1995). Readings in Human-Computer Interaction: Toward the Year 2000, 2nd edition. San Francisco: Morgan Kaufmann.
Bias, Randolph G., and Mayhew, Deborah J., eds. (1994). Cost-Justifying Usability. San Diego, CA: Academic Press.
Brice, Richard. (1997). Multimedia and Virtual Reality Engineering. Oxford, Eng.: Newnes.
Card, Stuart K.; Moran, Thomas P.; and Newell, Allen. (1983). The Psychology of Human-Computer Interaction. Hillsdale, NJ: Lawrence Erlbaum.
Cooper, Alan. (1995). About Face: The Essentials of User Interface Design. Foster City, CA: IDG Books Worldwide.
del Galdo, Elisa M., and Nielsen, Jakob, eds. (1996). International User Interfaces. New York: Wiley.
Dix, Alan J., ed. (1998). Human-Computer Interaction. Englewood Cliffs, NJ: Prentice-Hall.
Druin, Allison, ed. (1998). The Design of Children's Technology; How We Design, What We Design and Why. San Francisco: Morgan Kaufmann.
Furnas, George W.; Landauer, Thomas K.; Gomez, L. M.; and Dumais, Susan T. (1987). "The Vocabulary Problem in Human System Communication." Communications of the ACM 30(11):964-971.
Greenbaum, Joan, and Kyng, Morten, eds. (1991). Design at Work: Cooperative Design of Computer Systems. Hillsdale, NJ: Lawrence Erlbaum.
Landauer, Thomas K. (1995). The Trouble with Computers: Usefulness, Usability, and Productivity. Cambridge, MA: MIT Press.
Nielsen, Jakob. (1993). Usability Engineering. London: Academic Press.
Nielsen, Jakob, and Mack, Robert L., eds. (1994). Usability Inspection Methods. New York: Wiley.
Norman, Donald A. (1988). The Psychology of Everyday Things. New York: Basic Books.
Norman, Donald A. (1999). The Invisible Computer: Why Good Products Can Fail, the Personal Computer Is So Complex and Information Applicances Are the Solution. Cambridge, MA: MIT Press.
Preece, Jenny; Rogers, Yvonne; Sharp, Helen; and Benyon, David, eds. (1994). Human-Computer Interaction. Reading, MA: Addison-Wesley.
Raman, T. V. (1997). Auditory User Interfaces: Toward the Speaking Computer. Boston: Kluwer Academic.
Shneiderman, Ben. (1997). Designing the User Interface: Strategies for Effective Human-Computer Interaction. Reading, MA: Addison-Wesley.
Tognazzini, Bruce. (1992). Tog on Interface. Reading, MA: Addison-Wesley.
Tognazzini, Bruce. (1995). Tog on Software Design. Reading, MA: Addison-Wesley.
Tufte, Edward. (1990). Envisioning Information. Cheshire, CT: Graphics Press.