Chapter 22: Selection

There are really only two things you can do with a mouse: Choose an object, and choose something to do with that object. These choosing actions are referred to as selection, and they have many nuances. This chapter discusses the various types of selection, when they should be applied, and how they should be visually indicated.

Object-Verb Ordering and Selection

A fundamental issue in user interfaces is the sequence in which commands are issued. Almost every command has an operation and one or more operands. The operation describes what action will occur, and the operands are the things acted upon by the operation. Operation and operand are programmers' terms; interface designers prefer to borrow linguistic terminology, referring to the operation as the verb, and to the operand as the object.

You can specify the verb first, followed by the object, or you can specify the object first, followed by the verb. These are commonly called verb-object and object-verb orders, respectively. Modern user interfaces use both orders.

When graphical user interfaces first emerged, it became clear that verb-object ordering created a problem. In an interactive interface, if the user chooses a verb, the system must then enter a state—a mode—that differs from the norm: waiting for an object. Normally, the user will then choose an object, and all will be well. However, if the user wants to act on more than one object, how does the system know this? It can only know if the user tells it in advance how many operands he will enter. Requiring the user to do this, however, violates the axiom: Never make the user ask permission (see Chapter 10). Otherwise, the program must accept all operands until the user enters some special object-list–termination command, also a very clumsy idiom. See the problem? What works just fine in a highly structured linguistic environment falls apart completely in the looser universe of interactivity.

If we change the command order to object-verb, we don't need to worry about termination. The user selects which objects will be operated upon, and then he indicates which verb to execute on them. The software then executes the indicated function on the selected data. A benefit of this is that the user can easily execute a series of verbs on the same complex selection. Notice, however, that a new concept has crept into the equation that didn't exist—and wasn't needed—in a verb-object world. That new concept is called selection.

Rather than the program remembering the verb while the user specifies one or more objects, we are asking the program to remember one or more objects while the user chooses the verb. This means, however, that we need a mechanism for identifying, marking, and remembering the chosen operands. Selection is the mechanism by which the user informs the program which objects to remember.

The object-verb model can be difficult to understand intellectually, but selection is an idiom that is very easy to grasp and, once shown, it is rarely forgotten (CTRL-clicking multiple e-mails in Outlook and deleting them, for example, quickly becomes second nature). Explained through the linguistic context of the English language, it is nonsensical that we must choose an object first (although it's probably not an issue for German speakers). On the other hand, we use this model frequently in our non-linguistic actions. We purchase groceries by first selecting the objects—by placing them in our shopping cart—then specifying the operation to execute on them by bringing the cart up to the checkout counter and expressing our desire to purchase. But we never say, "Corn flakes, buy" in English conversation.

In a non-interactive interface, like a modal dialog box, the concept of selection isn't always needed. Dialog boxes naturally come with one of those object-list–termination commands: the OK button. The user can choose a function first and an object second or vice versa because the whole operation won't actually occur until the confirming OK button is clicked. This is not to say that object-verb ordering isn't used in most dialog boxes. It merely shows that no particular command ordering has a divine right, but rather that the two orderings have strengths and weaknesses that complement each other in the complex world of user interfaces. Both are powerful tools for the software designer and should be used where they are best suited.

In its simplest variant, selection is trivial: The user points to a data object with the mouse cursor and clicks: The object is selected. However, this operation is deceptively simple and, in practice, many interesting variants are exposed.




About Face 2.0(c) The Essentials of Interaction Design
About Face 2.0(c) The Essentials of Interaction Design
ISBN: N/A
EAN: N/A
Year: 2006
Pages: 263

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