Give Feedback; Show Signs of Progress
In conversation, people give each other many verbal and nonverbal cues about their level of attention and understanding of each other's comments. People rely on these cues to adjust their contributions to the conversation, and if the cues are not there, people start focusing on the mechanics of the conversation rather than its content. In the same way, your program should tell people immediately whether it understood their request and provide its status in responding to it. Usually it does so by complying with the request. For example, when the user enters text, each character is displayed on the screen; when the user deletes an item, it disappears. But if the program can't carry out the task instantly or the results are not clearly visible, then it should do something to indicate that it "heard" them, just as a butler would. If it doesn't, they'll ask again, which will only bog down the program further.
One common way to provide "I heard you and here's what I'm up to" feedback is to display a progress bar when a task is going to take a long time. This technique is used frequently for such tasks as copying or transferring information. However, there are more subtle ways to stay in sync with the user. Sometimes people ask your program to draw something that takes a little time. Suppose it's a fancy CAD package drawing the internals of a car. Rather than waiting until the entire drawing is ready before presenting it, you can show the car being drawn. It turns out that people perceive the entire process as faster if they can watch it as it occurs rather than seeing the final result all at once, even if it takes the same amount of time. Since Web pages are slow to appear, it's better to show the text first, since it can be downloaded faster, and then have the images fill in. (The way you design your HTML determines how the browser displays the data, so it's worth learning the optimal approaches.) Another nice example is the way browsers show a low-resolution version of certain pictures first and then gradually increase the resolution as more information arrives.
Any time you know it will take a long time to complete a task, consider allowing users to interrupt. Nothing takes longer than waiting for something you didn't want in the first place! The Stop button on Web browsers feels like a godsend when you're waiting for a long download on a page that you didn't want (or decided isn't worth the time). More sophisticated speech-based systems allow you to interrupt the system's voice instructions with a command, which helps the system seem more human and less clumsy.
Sometimes the program can comply immediately, but there is no inherent feedback to let you know it did. In this case, the program should offer feedback to reassure you that it did what you asked. For example, when you end a call on a cell phone, there is no obvious way to tell that the call has been disconnected [ref 1]. Most phones handle this by beeping and changing the display back to the main screen to show you that they are ready for another call. Some volume controls give feedback not just by moving the level indicator but also by playing a sound at the new volume.
Another good time to give feedback is when you ask people to walk through a multistep process, say going through a checkout procedure or filling out a survey. People need to pace themselves and it's helpful to know how long the process will take and how far along they are. Provide a visual indication of the number of steps and which step they're on. 800.com does this nicely by showing you where you are in the checkout process (see Figure 3.10). From this page, it's clear that you will be asked about payment options next, then you'll have a chance to review the information, and finally you'll get a receipt. Harris Poll does this with a continuous meter (see Figure 3.11), which is less effective because it's hard to tell how much the meter moves with each step. Still, it is better than nothing.
Figure 3.10 800.com shows you the steps of the buying process, indicating where you are in that process. This feedback helps keep people oriented.
Figure 3.11 Harris Poll indicates your progress in a Web-based survey with a continuous progress meter in the upper-right corner. This is helpful, but because it's not clear how much the meter moves with each question, it would be more effective to indicate on each page which question you're on and how many questions there are altogether.
With a speech interface, you can't give visual feedback, but you can use conversational techniques to show your level of understanding. For example, Schwab has a speech recognition system that lets you get stock quotes over the phone. If you ask for the stock price of Sun, it says, "There are seven items that match that name. Either speak the full name of the security at any time, or listen to the following list to help narrow down the security you want," followed by a list of the companies that begin with Sun. (It appears to present them in order of frequency of request, rather than alphabetically, which is a nice touch.) Schwab handles ambiguous references well. Rather than offering the user no help by saying, "Please say the full name of the security," it presents the possible matches, while still letting you interrupt at any time with the full name, either as soon as you hear it or right away if you know what it is. A slight improvement would be to confirm the name it heard, perhaps with, "There are seven items that match Sun."
Design Guideline
Always acknowledge the user's request and, if you can't comply immediately, let them know what you're up to and how much longer it will take.
Design Guideline
If a command can't be carried out quickly, allow users to interrupt.
At a different level, it's helpful to let people know they've successfully pressed a button, especially when you're providing software buttons on a small screen. For example, when you're viewing photos, the Canon Digital Elph camera makes a quick, soft click sound each time it scrolls to the next image, subtly reassuring you that it did move, which is useful if two images in a row are similar. The Palm, too, plays a click sound each time you tap a button. Researchers have found that buttons with audio feedback can be smaller than those without, since the sound lets people know when they've successfully tapped the button.
Sounds can also be used to give other kinds of feedback. We have a Panasonic portable phone that flashes a light and beeps when you place it in the cradle to let you know it made a solid connection for recharging. We mentioned earlier how the Corvette beeps as you walk away from the car to let you know that it locked itself. Sounds are useful because they don't require you to look to get the information. And without realizing it, you quickly get used to hearing these sounds, so when they're missing you notice that there's a problem. It's especially good to combine sounds with visual cues, as the Panasonic phone does, partially to reinforce the information and partially to support users who have either hearing or visual impairments. (Even people with perfect hearing or vision may be in a noisy environment or have their line of sight blocked.)
TiVo makes strong use of sound in its interface. Different buttons make different sounds, and the sounds are quite expressive, giving TiVo a personality. The sounds were chosen to correlate with their meaning. For example, if you try to scroll past the bottom of a list, a low-pitched tympani sound plays, as if you've hit bottom. To fast forward, you can press once to move slowly, twice to move a little faster, and a third time to move quickly. With each press, two rising notes play (ba-boop), and as the speed of fast fowarding increases, so does the pitch of the second note (ba-boop, ba-BOOP, ba-BOOP!), so it sounds as if it's going faster. To reinforce the sounds, the display shows one, two, or three right-facing triangles, and the cursor moves faster each time.
Design Guideline
Sounds are effective for letting people know when something has occurred or that a task is in progress. It is good to combine sounds with visual cues to reinforce the information and to support those with visual or hearing impairments.