1. human
2. computer
3. interaction
4. paradigms
5. design basics
6. software process
7. design rules
8. implementation
9. evaluation
10. universal design
11. user support
12. cognitive models
13. socio-organizational
14. comm and collab
15. task models
16. dialogue
17. system models
18. rich interaction
19. groupware
20. ubicomp, VR, vis
21. hypertext and WWW


design rules






7.1 What was the problem with the synthesis example comparing a command language interface with a visual interface? Can you suggest a fix to make a visual interface really immediately honest?


To demonstrate the principle of synthesizability within learnability, it was stated in this example that a visual interface to a file management system provided immediate information about the changed location of some file after a move operation performed by the user. In contrast, a command language interface requires the user to remember the directory to which a file is moved and explicitly issue commands to browse the directory to verify that the file has been moved. To be really sure that a move occurred, the user would also have to browse the original directory to determine that the file was no longer there. The fallacy in this argument is the assumption that visual file management systems always provide information about the new whereabouts of a moved file. To take a counterexample using the Macintosh instance from the text, if a file is moved from an open folder (in which the contents of the folder are revealed to the user) to a closed folder (contents not revealed), then the location of the moved file is not indicated to the user unless she remembers to open up the destination folder to reveal its contents. This is an example of eventual honesty and not immediate as the example suggests.

We could 'fix' this problem of eventual honesty for the visual system by demanding that the destination folder be an open folder (probably too restrictive, given the limited screen size) or by having the destination folder temporarily open up to reveal that the file is now located within it. This last suggestion is also a bit tricky, for we might still want to determine that the file no longer resides in the original folder, so we would have to be sure that the new folder did not obstruct the view of the old folder. In practice, this might be too difficult to guarantee in general.



7.2 It has been suggested in this chapter that consistency could be considered a major category of interactive principles, on the same level as learnability, flexibility and robustness. If this had been the case, which principles discussed in this chapter would appear in support of consistency?


The discussion of consistency suggested that it can take many forms, because it is usually referred to in relation to some other feature of the interaction between user and system. Mentioned already in the text we have consistency related to the following principles:

  • Familiarity - consistency with respect to prior real-world experience
  • Generalizability - consistency with respect to experience with the same system or set of applications on the same platform

In addition, we could interpret some other principles as contributors to consistency:

  • Affordance - consistency with understood intrinsic properties of an object, so a soft button on the screen should allow us to always 'push' on it to select some action
  • Predictability - consistency of system response with user's expectation, given the user has some information about past interaction history
  • Substitutivity - consistent permission from system to allow use of equivalent values for input and output
  • Commensurate effort - consistency of effort with respect to doing and undoing tasks
  • Response time stability - consistency of system response for similar actions

Some other principles for consistency from the text and elsewhere:

  • Consistency can be relative to the form of input/output expressions relative to the user's conceptual model of the system. An example in the text involves using keys whose relative positions are similar to commands for the systems (any set of four typewriter keys that form a diagonal to indicate up, down, left and right information for an input command).
  • As discussed in the exercise on colour, consistency can be with respect to social or cultural conventions (e.g., using red to indicate stop or hot, green for go, blue for cool).



Find as much information as you can on ISO standards that relate to usability. (Hint: many standards are discussed in terms of ergonomics). How many different standards and draft standards can you find?


open-ended research



7.4 Can you think of any instances in which the 'noun-verb' guideline for operations, as suggested in the Apple human interface guidelines for the Desktop Interface, would be violated? Suggest other abstract guidelines or principles besides consistency which support your example. (Hint: Think about moving files around on the Desktop.)


The noun-verb guideline suggests that we can view all operations that the user will perform as being composed of an action (the verb) acting with one argument (the noun). In the case of moving a file (or copying, for that matter), the action (move or copy) requires more than one argument. The way the move operation is performed requires the user first to select the icon for the file to be moved and then to indicate the move operation implicitly by dragging the selected icon to the destination folder. The nouns in this dialogue are the file to be moved and the destination folder. The verb is the move operation. The natural way to express this is in the order noun-verb-noun. Strictly speaking, in order to stick with the noun-verb guideline, we would have to indicate both the target file and the destination folder before indicating the move operation. That would be consistent, relative to input expression, with most other commands on the desktop. However, some principles of direct manipulation and familiarity to the user are more important. Moving files by dragging them on the desktop is very similar to the way we can pick up any object in the physical world and move it to its new location. And the dragging operation is incremental and easily recoverable; moving to one place can be undone within the same operation since the dragging can continue until the file is released.

The file-moving example is a slightly contrived one, because some could argue that there is no violation of the noun-verb guideline (hence, moving is still consistent with respect to input expression) because the verb is 'move to destination folder'. Perhaps a better example is a command to search a file system for files matching some specification. Here, the action is to do the qualified search and the argument or noun is the set of folders or volumes of the system that you want searched. Typically, this kind of operation is defined by some dialog box that allows the user to indicate in any order the specifics of the operation (the search parameters) and the folders or volumes to search. Once this unordered dialog is complete, the user then indicates that it is OK for the system to perform the operation. This kind of form-filling dialog subscribes to neither the noun-verb or verb-noun guideline; the order is more flexible for the user than consistent.



Can you think of any instances in which the user control guideline suggested by Apple is not followed? (Hint: Think about the use of dialog boxes.)


The user control guideline states that, 'The user, not the computer, initiates and controls all actions.' In the case of dialog boxes, this guideline is clearly contradicted. A dialog box can be used to indicate when an error occurs in the system. Once this error has been detected and presented to the user in the dialog box, the only action that the system allows the user is to acknowledge the error and dismiss the dialog box. The system preempts the user dialog, with good reason. The preemptive nature of the dialog box is to ensure that the user actually notices that there was an error. Presumably, the only errors that will be produced in such an intrusive manner are ones which the user must know about before proceeding, so the preemption is warranted. But sometimes dialog boxes are not used to indicate errors and they still prevent the user from performing some actions that they might otherwise wish to perform. The dialog box might be asking the user to fill in some information to specify parameters for a command. If the user does not know what to provide, then they are stuck. A lot of the time, the user can find out the information by browsing through some other part of the system, but in order to do that they must exit the dialog box (and forfeit any of the settings that they might have already entered), find out the missing information and begin again. This kind of preemption is not desirable. It is probably this kind of preemption the user control guideline is intended to prevent, but it doesn't always get applied.



Find a book on guidelines. List the guidelines that are provided and classify them in terms of the activity in the software life cycle to which they would most likely apply.


We use as a source of guidelines Mayhew's book Principles and Guidelines in Software and User Interface Design [230]. In general, all guidelines offer constraints on the design activity and so should be known during the requirements phase. In the following list, we will concentrate on what other stages (architectural design, detailed design, coding and unit testing, integration and testing) will be most affected by the guidelines. The numbers in parentheses indicate the page reference for the given guideline.

Architectural design

  • Present functionality through a familiar metaphor. (97)
  • Provide similar execution style of analogous operations in different applications. (97)
  • Organize the functionality of a system to support common user tasks. (442)
  • Make invisible parts and processes visible to the user. (95)

Detailed design

  • Consistent dialog style for different functions. (97)
  • Match menu structure to task structure. (144)
  • Create logical, distinctive and mutually exclusive semantic categories with clear meanings. (150)
  • Design and organize a fill-in form to support the task. (184)
  • Consider voice synthesis as an output device when the user's eyes are busy, when mobility is required, or when the user has no access to a workstation or screen. (427)

Coding and unit testing

  • On full-screen text menus, present menu choice lists vertically. (148)
  • In a fill-in form, use white space to create a balance and symmetry and lead the eye in the appropriate direction. (186)
  • Avoid frequent use of shift or control keys. (256)
  • Place high-use function keys within easy reach of the home row on the keyboard. (281)

Integration and testing

  • Allow full command names and emphasize them in training, even if abbreviations are allowed. (261)



(a) Distinguish between principles, guidelines and standards, using examples of each to illustrate.

(b) Why is context important in selecting and applying guidelines and principles for interface design? Illustrate your answer with examples.

answer available for tutors only



(a) Why are there few effective HCI standards?

(b) How do "golden rules" and heuristics help interface designers take account of cognitive psychology? Illustrate your answer with examples.

answer available for tutors only



Using the web design pattern language in The Design of Sites [356] produce a design for an e-commerce site for a small retail business. How well does the language support the design process?




Look at some of the principles outlined in this section, and use one or two to provide a usability specification (see Chapter 6, Section 6.3) for an electronic meetings diary or calendar. First identify some of the tasks that would be performed by a user trying to keep track of future meetings, and then complete the usability specification assuming that the electronic system will be replacing a paper-based system. What assumptions do you have to make about the user and the electronic diary in order to create a reasonable usability specification? [page 273]


Look up and report back guidelines for the use of colour. Be able to state the empirical psychological evidence which supports the guidelines. Do the guidelines conflict with any other known guidelines? Which principles of interaction do they support? [page 281]