Jan Miksovsky’s BlogArchive2005 AboutContact

Avoiding unnecessary questions in command UI

A European acquaintance once remarked that when they go to an American restaurant, they feel like they're "under assault" by the waitstaff: placing an order requires answering a long series of questions—"Soup or salad? Italian dressing or Ranch? Lite Italian or Regular Italian?"—and the waitstaff continues to interrupt them every ten minutes to ask yet more questions. Some user interfaces can feel like this.

In particular, some applications have commands with UIs that ask too many questions before the application will actually carry out the command. If you try to insert a new page into a Microsoft Visio document, you get a form to fill out:


What you really wanted was a new page, not a form to fill out. The difference between ordering a salad and inserting a new page is that the restaurant has to get things right the first time. Once you get the salad, you can't change your mind and have them turn the salad into a soup (or, at least, not a very good soup).

An application, in contrast, can adjust its output after the fact. Good UIs often eliminate unnecessary up-front questions by doing something in response to a command and letting you tweak the results if they're not what you wanted.

A common example: when you create a new folder in virtually all modern operating systems, you get a new folder right away. The new folder is called something like "New Folder". You don't get a question asking you what kind of folder you want, what sort of name you'd like to give it, etc. For this UI to be effective, the OS simply needs to make it easy for you to rename the new folder once it's been created.

Another example comes from Microsoft Office. In old versions of Office, if you wanted to paste something from the clipboard that could be pasted in multiple ways, you had to use an ugly and confusing Paste Special dialog:


Recent releases of Microsoft Office have deprecated this dialog in favor of a contextual pop-up menu that appears after commands like Paste. If you don't like the result of the command, you simply select another result from the pop-up menu:


Advances like these obviate the need for an application to bug the user with lots of questions. Other suggestions for streamlining command UI: