Human-Computer Interaction 3e ­ Dix, Finlay, Abowd, Beale

exercises  -  3. the interaction


Choose two of the interface styles (described in Section 3.5) that you have experience of using. Use the interaction framework to analyze the interaction involved in using these interface styles for a database selection task. Which of the distances is greatest in each case?


There is no single answer for this exercise, so we will provide an example of the style of answer that is suitable and the level of analysis that is appropriate.

You should be aware that, although the term distance is used, we have not associated any real measures to any of the translations in the interaction framework.

As a result, this analysis can only be informal and at this point is mainly informed by one's intuition and experience with various interface styles.

As was stated in Section 3.2.3, assessment of any interaction with the interaction framework can only be relative to some task. For this example we will choose a common database selection task - selecting records from an online library database. The two interface styles we will analyze are a natural language interface and a command line interface.

The task is to select a set of references from the library database that satisfy some search criteria. Once the task has been formulated in the user's task language (for instance, the user wants to see all of the books written by Alan Dix since 1990), that task must be articulated in the input language.

A natural language interface style would allow the user simply to type in the selection query exactly as they think of it. The articulation distance is small both because it is easy to articulate (possibly even easier if a spoken interface is provided rather than typing), and because the coverage is total (the user is allowed to articulate anything as a query). On the other hand, for a command line interface, the limited vocabulary of the input language makes it more difficult for the user to articulate a task even though the limited language provides complete coverage in terms of possible queries allowed.

The real difficulty for a natural language interface is how the system translates the input expression into the actual query that accesses the library records. This performance translation will be much easier for the command line interface since it may not even require any translation of an input expression, that language having already been constructed with the database engine in mind.
Therefore, we can see that for a natural language interface the performance distance is greatest, whereas for a command line interface it is the articulation distance that is greatest.

However, the above analysis only really deals with the execution translations. On the evaluation side, a natural language interface must try to present the results of the database query in the form in which the user phrased the question. This can in general be a difficult translation for the system as it attempts to answer questions in the style in which an arbitrary user has posed them.
Having accomplished that, the observation by the user should be easy to perform. For a command line interface, there is no guarantee that the result of the query will be displayed automatically, and the user may have to request a display explicitly (and they may have to express how the display be formatted).

Neglecting that point, presentation by the system is made easier, as the output language can be very constrained. Observation is made more difficult, as the user must translate the output into the terms of their original task formulation. For example, having asked for books by Alan Dix published after 1990, the user may have a difficult time locating author name and year of publication to determine if the resulting records match their expectations.

For evaluation, a natural language interface has a greater presentation distance and a command line interface a greater observation distance. In general, therefore, we would expect that a natural language interface would be easier from the user's perspective but more difficult from the system builder's perspective. The opposite should hold for a command language interface.
There are some issues that we haven't addressed in this example, such as displaying a large set of records that satisfy the query, and being able to reuse the output of one query as the input to another in order to compound searches easily.

Since the performance translation is so difficult for a natural language interface style it is important for a natural language interface to present the results of the query in such a way that the user is able to determine if the system understood the original query in the way the user intended. This would involve the presentation translation reiterating both the user's query and the selected records simultaneously. In our example, since the user was interested in the author and date of publication, it would help if that information was prominently presented in the result set.

We have not considered, either, what effect experience with the system provides. As users become more comfortable with the syntax and semantics of a command language, its perceived difficulty will decrease. Another problem is that a verbose natural language output may limit the number of records it is possible to display from a result set.

The moral of the story is that despite their intuitive allure, such informal analyses as suggested by this exercise cannot be the last word on analysis of an interactive system. Ultimately, our judgements must be made more precise and concrete.



Find out all you can about natural language interfaces. Are there any successful systems? For what applications are these most appropriate?


This exercise is intended to encourage personal research in the form of a brief literature survey. Appropriate places to begin such a search would be: general text books on artificial intelligence (e.g. Janet and Alan's An Introduction to Artificial Intelligence), which will include basic information on natural language processing and famous systems such as SHRDLU; proceedings from conferences such as the AAAI and specialist journals, which will have more up to date research papers in the area; proceedings of HCI conferences such as CHI, Interact and HCI, which will include natural language systems particularly geared towards the interface.

Other likely sources are popular journals such as BYTE and personal computer magazines, which are likely to review commercial systems. The student's response to the second part of the question will depend upon what is unearthed, but it is likely that the systems that they find out about operate in very constrained domains and that the natural language used is restricted. There are as yet no general purpose natural language interfaces.



3.3 What influence does the social environment in which you work have on your interaction with the computer? What effect does the organization (commercial or academic) to which you belong have on the interaction?


The aim of this exercise is to explore the social and environmental influences that affect interaction, often without the user being aware of them. The particular influences will vary from environment to environment, but we encourage you to consider some or all of the following.

Chapters 13 and 14 also discuss the influence of groups of workers within an organization on interaction, and are suggested as further reading material on this topic.



(a) Group the following functions under appropriate headings, assuming that they are to form the basis for a menu-driven word-processing system - the headings you choose will become the menu titles, with the functions appearing under the appropriate one. You can choose as many or as few menu headings as you wish. You may also alter the wordings of the functions slightly if you wish.

save, save as, new, delete, open mail, send mail, quit, undo, table, glossary, preferences, character style, format paragraph, lay out document, position on page, plain text, bold text, italic text, underline, open file, close file, open copy of file, increase point size, decrease point size, change font, add footnote, cut, copy, paste, clear, repaginate, add page break, insert graphic, insert index entry, print, print preview, page setup, view page, find word, change word, go to, go back, check spelling, view index, see table of contents, count words, renumber pages, repeat edit, show alternative document, help.

(b) If possible, show someone else your headings, and ask them to group the functions under your headings. Compare their groupings with yours. You should find that there are areas of great similarity, and some differences. Discuss the similarities and discrepancies.

Why do some functions always seem to be grouped together?
Why do some groups of functions always get categorised correctly?
Why are some less easy to place under the 'correct' heading?
Why is this important?


open-ended investigation



3.5 Using your function groupings from Exercise 3.4, count the number of items in your menus.

(a) What is the average?
What is the disadvantage of putting all the functions on the screen at once?
What is the problem with using lots of menu headings?
What is the problem of using very few menu headings?

Consider the following: I can group my functions either into 3 menus, with lots of functions in each one, or into 8 menus with fewer in each. Which will be easier to use? Why?

(b) Optional experiment
Design an experiment to test your answers. Perform the experiment and report on your results.


(a) The answer depends on the answer to Question 3.4. The problem with putting all functions on the screen at once is that they will occupy too much screen space, leaving little room for anything else. Too many menu headings will make it difficult for the user to decide under which heading a desired command resides. Too few menu headings means that each menu will consist of many menu items, complicating the visual search task to locate the menu item and increasing the average length of time it takes to drag the mouse and select an options. Fitts' Law gives us a way to understand the impact of length of menu items and selection times.

We would tend to go for a larger number of smaller menus, under the assumption that it is possible to create clear conceptual boundaries between menu categories. If the eight categories lead to an easy to understand decomposition of the commands, then it would be easier to decide which menu to select and then would be quick to select a menu item among a small number of options. A small number of menus might result in an unclear decision on where to place some menu items.

(b) Open-ended experiment



Describe (in words as well as graphically) the interaction framework introduced in Human-Computer Interaction. Explain how it can be used to explain problems in the dialogue between a user and a computer.

answer available for tutors only

Pictures of the framework are on page 128 of the book. Symbols should be included for user, system, input and output. Names for the articulation, presentation, performance and observation translations should also be included. The concept of translations between languages should be described, even if the names of the translations are not accurate. Students should mention that the framework can be used to explain where in the overall user/system interaction difficulties take place. The framework will isolate it as a problem with one of the translations. One problem might be the ease with which a particular translation can occur. Another might be that the particular translation involved does not actually cover the the possible translation that is needed by a particular situation. Together, the ease and possibility issues are the main reasons why this framework is useful for doing simple analysis. Students may also mention the relation to Norman's execution/evaluation cycle and how this framework is more detailed on the system side; they may give examples of the use of the framework.



Describe briefly four different interaction styles used to accommodate the dialog between user and computer.

answer available for tutors only

These are the commonest interaction styles:

Command line interface Provides a means of expressing instructions to the computer directly, using function keys, single characters, abbreviations or whole-word commands. In some systems it is the only way of communicating with the system, e.g. remote access using telnet. More commonly it supplements menu-based interfaces, giving experienced users accelerated access to the system's functionality. Flexible and powerful but may be difficult to learn and use. Because commands must be remembered it is better for expert users than novices.

Menus The set of available options is displayed on the screen, and selected using the mouse, or numeric or alphabetic keys. These visible options rely on recognition rather than recall, but still need to be meaningful and logically grouped. Menus may be nested hierarchically, with the grouping and naming of menu options the only cue for finding the required option. May be text based or have a graphical component.

Natural language Understanding of speech and written input is the focus of much research. Natural language is very difficult for a machine to understand. It is ambiguous, syntactically and semantically. It is difficult to provide the machine with context. Unlikely that a general natural language interface will be available soon, but systems can be built to understand restricted subsets of a language. They are limited and the user has to learn what the computer understands.

Question/answer, query dialogue Question/answer dialogue is a simple mechanism for providing input to an application in a specific domain. The user is asked a series of questions (mainly with yes/no responses, multiple choice, or codes) and is led through the interaction step by step. Easy to learn and use, but limited in functionality and power. Appropriate for restricted domains and novice/casual users. Query languages are used to construct queries to retrieve information from a database. They use natural-language-style phrases, but require specific syntax and knowledge of the database structure. Their effective use requires some experience.

Form-fills and spreadsheets Used primarily for data entry but also useful in data retrieval. The display resembles a paper form, with slots to fill in. May be based on an actual form with which the user is familiar. Easy to learn and use for novice users and can be flexible for expert users. Spreadsheets are a variation. Users can enter and alter values and formulae in any order. The system will maintain consistency amongst the values displayed, ensuring that all formulae are obeyed, so users can manipulate values to see the effects of changing different parameters. Flexible and natural, as the distinction between input and output is blurred.

WIMP interface Also often called simply windowing systems. WIMP stands for windows, icons, menus and pointers (sometimes windows, icons, mice and pull-down menus), and is the default interface style for the majority of interactive computer systems in use today, especially in the PC and desktop workstation arena. Examples of WIMP interfaces include Microsoft Windows for IBM PC compatibles, MacOS for Apple Macintosh compatibles and various X Windows-based systems for UNIX.

Mixed styles In UNIX windowing environments the contents of many windows are often simply command line or character-based programs. Mixing of interface styles in the same system is quite common, especially where older legacy systems are used at the same time as more modern applications. Can be a problem if users try to use commands and methods suitable for one environment in another, leading to inconsistency in the interface.

Point-and-click interfaces In most multimedia systems and web browsers, most actions take only a single click of the mouse button. The philosophy is simpler than WIMP and more closely tied to ideas of hypertext. Not tied to mouse-based interfaces, but also used in touchscreen information systems, often combined with a menu-driven interface. Has been popularized by World Wide Web pages, which incorporate different types of point-and-click navigation: highlighted words, maps, iconic buttons.

Three-dimensional interfaces Increasingly used in interfaces. Virtual reality is an obvious example, but ordinary WIMP elements, buttons, scroll bars, etc., can be given a 3D appearance using shading. Can highlight active areas if used discriminatingly. Other techniques: 3D workspaces, VR and information visualization systems, where the user can move about within a simulated 3D world. 3D interfaces invite use of real world abilities in the electronic world.



The typical computer screen has a WIMP setup (what does WIMP stand for?) Most common WIMP arrangements work on the basis of a desktop metaphor , in which common actions are likened to similar actions in the real world. For example, moving a file is achieved by selecting it and dragging it into a relevant folder or filing cabinet. The advantage of using a metaphor is that the user can identify with the environment presented on the screen. Having a metaphor allows them to predict the outcome of their actions more easily.

Note that the metaphor can break down, however. What is the real-world equivalent of formatting a disk? Is there a direct analogy for the concept of 'undo'? Think of some more examples yourself.




EXERCISE 3.9 [extra - not in book]

Explain what is meant by a modal dialog box.

answer available for tutors only

A dialog box that prevents you doing anything else until it is complete - an example of pre-emptive dialog.


EXERCISE 3.10 [extra - not in book]

The aim of this project is to encourage you to think about some of the problems involved in providing clear, unambiguous interfaces, even to familiar applications. It also helps you to begin to evaluate designs critically. You should draw on your knowledge of human cognition and of interaction styles, but you do not need to use any particular modelling or evaluation techniques.

The design brief
You are part of a development team charged with producing a new drawing package. You have to develop the full set of icons. This is a new product and so there is no set house style. It is to appear on a new platform and so does not have to follow any particular set of user interface style guidelines. The platform usually supports colour on a high-resolution bitmapped monitor, but icons must be suitable for use on black and white as well as colour screens - design in black and white first, then add colour. Text can be used if required. Each icon needs an unselected and a selected state.

The following is a list of all the functionality required: you may choose a form other than an icon to provide the function but you should justify your choice.

First, think about the problem, and possible solutions. You can choose to draw on your experience of other systems if you wish, (but remember that the developers of the new package do not wish to become engaged in law suits over copied designs!).
Next, sketch your designs as clearly as possible. Using graph paper for this part will make it easier. The icons should be designed on 64x64 grids. Use colour if required.

At this stage, ask someone else to assess your designs (fairly and honestly). (Mark them clearly with their associated functionality.) Look critically at your work yourself and try to identify what you think are good designs, and, most importantly, why. Use the following questions to help you:

Make any adjustments you think necessary to your designs.

answer available for tutors only



EXERCISE 3.11 [extra - not in book]

It is normally the case that you would like people to be able to do things as quickly and efficiently as possible.  In the case of virtual crackers the recipient first gets to a closed crackers page and then has to press another button to get to the open crackers page.  The closed has no information or functionality that is not also on the open crackers page, so why isn't the interface designed so that you get straight to the open crackers page?

answer available for tutors only

Fresh analysis of known example.  The 'closed cracker' page is there to increase suspense. Students may mention that designing for 'experience' is different from maximal efficiency.


EXERCISE 3.12 [extra - not in book]

This question relates to the train both scenario.

Define slips and mistakes and provide an example of each while interacting with the train booth.

answer available for tutors only

Slips are right intentions which users fail to do right, mainly due to poor physical skills, inattention or fatigue.

Example: Selecting the wrong destination from the list of those starting with the destination’s letter, e.g. the one beneath or above, due to poor coordination.

Mistakes are caused by incorrect understanding of how the system works, e.g. inaccurate mental model.

Example: The attempt to type in the entire name of the destination, and not only the first letter.

Individual exercises

ex.3.1 (ans), ex.3.2 (ans), ex.3.3 (ans), ex.3.4 (open), ex.3.5 (open), ex.3.6 (tut), ex.3.7 (tut), ex.3.8 (open), ex.3.9 (tut), ex.3.10 (open), ex.3.11 (tut), ex.3.12 (tut)

Worked exercises in book

  • a worked exercise
  • a worked exercise
  • a worked exercise
  • a worked exercise

home | about | chapters | resources | exercises | online | editions | interactive | community | search | plus +++
exercises: 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