Unnecessary Dialog Boxes

Alan Cooper likes to compare displaying a dialog box to going to another room. I think this is a perfect analogy. Consider a kitchen. In a kitchen, you want to have everything you need to prepare a meal within easy reach. It would certainly be awkward to have to go to another room just to get a spoon. If you had to go to another room, this would be a poorly designed kitchen, unless, of course, the spoon in question is a family heirloom or is part of a rarely used silver service. In this case, it would be entirely appropriate to find such an item in a different room, since this isn't something you need to access often.

In this example, the type of task being performed (that is, getting a spoon) isn't the factor deciding which room the task should be performed in. Rather, the frequency of the task is. Of course, there are cases when the type of task alone is enough to warrant a separate room. For example, while you might need to use bathroom facilities while you are in a kitchen, no one would suggest that such facilities belong in the kitchen. The tasks performed in a kitchen and a bathroom are completely unrelated, so performing them in separate rooms is appropriate and desirable. For everyone's benefit, I will stop the analogy here, but as Cooper says, "A dialog box is another room. Have a reason to go there."

The reason dialog boxes are undesirable is that they break the flow—that is, the user's train of thought. Dialog boxes require extra effort to use, both physically and psychologically. When I am performing a task without using a dialog box, I feel as if I am telling the program what I want it to do. The program is serving me. When a modal dialog box appears, the program is interrupting what I am doing to ask a question. Furthermore, it is very insistent and won't do anything more until it gets an answer. Now I feel as if I am serving the program and have to stop whatever I am doing to make it happy.

TIP
Dialog boxes break the user's flow.

The psychological effort to use a dialog box is probably more significant than the physical effort. For example, in Microsoft Visual C++ you can search for a string using either a modal dialog box or the toolbar. If you were to count the number of actions required to perform a typical search using each technique, it would come out to be about the same. (It takes three by my count.) If you were to time how long it took to perform each task, the modal dialog box method would probably come out ahead since you can do it entirely with the keyboard whereas I usually perform the toolbar approach using the mouse. (Note that Visual C++ supports keyboard access using Ctrl+D.) Yet the toolbar approach seems faster and more convenient. For the dialog box, you have to stop what you are doing, give the command to display the dialog box, review the dialog box, fill in the required information, click the Find Next button, and then resume your work. By contrast, the toolbar approach feels like much less effort, like you're just doing the task without fooling around. Also, there's less of a visual impact since nothing changes significantly on the screen. The dialog box approach breaks (or at best suspends) your train of thought and removes your sense of being in control, whereas the toolbar approach feels much more direct.

TIP
The psychological effort to use a dialog box is probably more significant than the physical effort.



Developing User Interfaces for Microsoft Windows
Developing User Interfaces for Microsoft Windows
ISBN: 0735605866
EAN: 2147483647
Year: 2005
Pages: 334

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net