Look for "Widgetless Features"
The ideal features you can build are what we call "widgetless features." Widgets are user interface controls, such as buttons, scrollbars, and menus. Usually, widgets are necessary because there's no way to access a feature (or know about it) without them. But there are some cases when functionality can become available just when you need it, without a widget to request it. One example of a widgetless feature is name completion, which we discussed earlier. As you type a Web address, the name is expanded to the first match of your previously viewed Web addresses, allowing you to stop typing as soon as you see what you want. Automatically setting the insertion point in the first text field on a page is another widgetless feature. There's nothing to press; the interface is ready for you to type. Widgetless features minimize mental effort by not cluttering the screen, and they minimize physical effort by reducing clicks. If we had a butler, we'd call him Widgetless.
Another example of a widgetless feature is the auto-scroll feature on some desktop software. If you're dragging an item from one place inside a window to another, once you move it to the border of the window, the data pane automatically starts scrolling so you can see the rest of the contents of the window. If you didn't have this feature, you'd have to either increase the size of the window to get the source and the destination in view, or you'd have to keep dragging and dropping in increments, scrolling the window between each one until the destination is in view. What an effort! Auto-scrolling the window makes dragging and dropping feasible. There is no widget-it just "does the right thing."
The Garmin eMap Global Positioning System (GPS) device has a nice widgetless feature. It has no keyboard, so to enter text, you have to cycle through the alphabet, which is tedious. But when you search for a street address, it helps you by presenting only letters that are possible given the addresses it knows about. In Figure 3.13A, your cursor is placed at the top after WELLE. From the streets listed below, you can see that the first possible next letter is R, so when you press the hardware down arrow, an R appears in that slot and the display scrolls you to the first match, Weller Ct., as shown in Figure 3.13B. There's no need to make you scroll from A to Q if no such streets exist. If you press down again, the letter will change to S because there are streets that begin with WELLES.
Figure 3.13 The eMap GPS helps you search by skipping letters that don't have any matches. In this example, the first possible next letter after WELLE is R, so pressing the down arrow displays an R, skipping A-Q.
Netscape Navigator and Internet Explorer have implemented widgetless features to make it easier to download and install applications. It used to be that you downloaded the application to a file, then you had to find that file and double-click on it to start the installation. Now you no longer have to find and click on the application file; you can just click to download and then agree to install it without extra steps. Similarly, Yahoo! Messenger, an instant messenger program, makes it trivial to download an upgrade by doing all the work for you. A window pops up when you run the program asking if you want the new version, and if you say Yes, it closes the current version, downloads the new one, installs it, and starts it, putting it in the same screen location as the last one. How thoughtful!
A different kind of widgetless feature is the spell-checking feature in Microsoft Word. Before this feature came along, you would write your document and then pass it through a spell checker when you were done. Spell checkers are complex features, usually involving a separate window that shows you the incorrect word along with options such as Replace It, Ignore the Problem, Add the Word to the Dictionary, and so on. With the Word feature, as you type, a wavy red line appears under any word it doesn't recognize, as shown in Figure 3.14. If you want to correct it, you can replace it manually, or if you want suggestions on how to spell it, you right-click on the word to see possible replacements. If you select one, the word is replaced with the one you chose. If the word is correct, you can ignore the wavy line or you can right-click to add the word to the dictionary. This is a nice feature because it takes so little effort to use and you can choose to correct as you write or fix errors later.
Figure 3.14 Word offers a spell checker that lets you correct words in place, rather than running a separate spell- checking feature after finishing a document. A wavy red line indicates that the word may be mis-spelled, and you can right-click on it to get spelling suggestions or to add the word to the dictionary. Choosing a word from the menu replaces the incorrect word with the one you selected.
Word also has a nice spelling correction feature. If you type "hte," Word automatically changes it to "the." Perfect. It takes no effort and just "does the right thing." Word has a table of common typos that it automatically replaces with the correct words. You can add your own common typos to the list, although most people probably never do. Of course, it's important not to be overzealous in correcting too many "typos," and Word could do a better job of allowing you to insist on a typo if you really meant what you typed. (Backspacing and retyping it should be enough.) Still, this is a good effort, and is based on an understanding of how people write documents.
The Canon Digital Elph camera, among others, has a neat feature to help you take a series of pictures for a panorama. After you take a photo and move the camera to the right, the display shows you the right-most third of the previous picture so you can line up the next shot to overlap it. Seeing part of the last image is just what you need to make sure you don't wind up with gaps in your panorama. The camera also remembers the exposure settings of the first shot so that subsequent pictures have the same lighting. What a helpful feature!
Look for widgetless features-features that do just what you need when you need it, without any visible representation on the screen. But beware of becoming too helpful. It's worse to offer help that people don't want than it is to not offer a pleasant surprise.
A word of caution: Don't get carried away with widgetless features. Remember the butler mentality. It is worse to incorrectly anticipate the user's need than it is to not offer an unexpected treat. You want to look for features that do no harm if the user doesn't want them, but are likely to save effort for most people most of the time. The Microsoft Office Assistant paper clip help system is a good example of going overboard. You started a document with the word "Dear" and it popped up with a manic gleam in its eye, demanding to help you write a letter. That system was so widely disliked that you could even buy T-shirts of the paper clip in the crosshairs of a rifle. Finally, after the paper clip taunted its users for years, Microsoft decided to remove it. Try to be subtler. Find cases where the program can do the right thing itself rather than breaking the user's flow with an explicit offer of help.