The world is divided into people who think that they're right.
Content is the information that resides in a computer or other information-processing device and that has meaning and utility for you. Creation or alteration of content is the task that you intend to accomplish with the device. If you are a writer, the content is those of your writings that are stored in the system. If you are an artist, your graphics are the content of the system. Where the system is a computer, the menus, the icons, and other paraphernalia of the computer are not your content unless you are an interface designer or a programmer. We can now paraphrase Asimov's first law of robotics from Chapter 1 in terms of content: Any system shall not harm your content or, through inaction, allow your content to come to harm.
A graphical input device (GID) is a mechanism for communicating information, such as a particular location or choice of object on a display, to a system. Typical GID examples are mice, trackballs, lightpens, tablet pens, joysticks, or touchpads. The GID button is the principal button on any GID for example, the left button on a two-button mouse. In general, you use the graphical input device to control the position of the cursor, which is an arrow or other graphical emblem on the display to indicate the system's interpretation of where you are pointing. Because we can pay attention to only one cursor at a time, systems should not display more than one cursor for each graphical input device on the system. The rationale for the one-button mouse is discussed in Appendix A.
A tap is the act of pressing and releasing a key or switch without any intervening action. Tap applies only to keys on a keyboard or to other momentary contact switches that, when released, automatically return to their original position and electrical state.
To click is to position the GID and then to tap the GID button. Thus, "click the word alligator" indicates that you are to move the cursor such that it points to alligator and then, while the cursor remains stationary, tap the GID button. This operation constitutes "clicking on alligator." To drag is to press the GID button at one location and then to move the GID before releasing the GID button at a new location; this action is sometimes called click and drag. To double click is to position the GID and then to tap the GID button twice quickly, without any intervening motion of the GID or other user action. (In practice, a small amount of GID motion is allowed, because it will usually move slightly when the button is pressed.) Triple- and higher-order clicks have been used in interface design.
The usual notations for the overlapping keystrokes that are used to control most software are sometimes ambiguous. For example, the act of pressing and holding the Control key and while holding it pressing and holding Shift and while continuing to hold them both down tapping the letter t, is often written Control-Shift-t or Control+Shift+t in manuals. However, these encodings of keyboard operations are indistinguishable from the conventional notations for the sequences of keystrokes Control, hyphen, Shift, hyphen, t; and Control, plus, Shift, plus, t, respectively.
This ambiguity can cause errors. For example, while I was writing this manuscript, I looked up a key combination for a command I needed; the manual listed it (at the end of a sentence) as
So I pressed Control and, while holding it, typed a plus sign. Due to the manual's ambiguous notation, my interpretation was wrong: The manual was trying to direct me to press and hold Control and, while holding Control, to tap the period key.
Furthermore, the usual notations do not allow you to notate pressing and holding down, say, both the Shift and Command keys, and while holding them both down typing multiple alphabetic characters, releasing Shift but not Command after the first two alphabetic characters have been typed. The alternative that I have just used expressing the operation in natural language is clumsy albeit unambiguous.
To denote keyboard operations with precision and brevity, I use a downward-pointing arrow immediately after the name of a key to indicate that the key has been pressed and is to be held; for example, Shift signals that the Shift key is to be pressed and held. An upward-pointing arrow after the name of a key indicates the release of that key: . A tap of a single key for example, t . The tap of a single key can be abbreviated, where the shorthand is unambiguous, as or, where it will not cause confusion, simply A space separates the notation of consecutive actions. A tap of the space bar is represented by the notation
This convention does not introduce any ambiguity with typing the word space, because typing the letters of the word space is represented by letters separated by spaces, namely,
s p a c e
When there is a risk of misinterpretation, or when exactly what is being typed requires emphasis, I use the full notation:
Arbitrary combinations of keys can be represented linearly in this notation. For example, pressing and holding Shift and then tapping n, pressing and holding Control while Shift is still held and then tapping k, releasing Shift while still holding Control and then tapping w before releasing Control is written as follows:
The release of any of the keys currently being held if the order in which they are released is immaterial to the functioning of the interface is denoted by an up arrow for each key being held. This convention allows us to denote typing the word space this way:
Here is a more useful example: To reset parameter RAM on a Macintosh computer, you use the following sequence of commands:
Hold these keys and wait until a chime sounds
(In English: Press and hold the Command key the lack of an up arrow means that you should not release the key immediately. Rather, while you are holding it, press and hold the Control key. There is no up arrow here either, so while you are holding both of those keys, you press the Power key. There have been no up arrows, so now you are holding down three keys. The three up arrows that follow mean that you should release all three keys in any order or all at once. Next, you are instructed to press and hold the Command key, press and hold the Option key, press and hold p, and then press and hold r, such that, eventually, you are holding down four keys at once. You hold these keys until after the chime and then let all four keys go.)
If a typed sequence has special time dependencies, they should be noted in accompanying text. For example, for the user to type a single letter t, we use this sequence:
With most keyboards, however, if a delay, usually of at least 500 msec, occurs between t and , extra instances of the letter