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

exercises  -  8. implementation support

EXERCISE 8.9 [extra - not in book]

Consider screen 1 in question 8.5.

Imagine the system has been constructed using an MVC model. The model includes the filename being typed and the position of the text cursor in the filename.

The user is in the middle of typing a filename and has entered "Bens.jav". The cursor is currently at the end of the filename.
Consider the following user actions:

(a) user types 'a' which is added to the end of the filename
(b) the user clicks the mouse between the 'e' and the 'n' (in order to later add an 'a').

Describe what happens within the MVC components; think especially carefully about the communication between the components.
How does the system know the click was in the filename field and not over one of the buttons?

answer available for tutors only

The student has to think through the implications of the MVC model for this question. The textbook gives the interconnections, but doesn't do a scenario in this detail.

the user's keypress goes first to the controller (C)
the controller (C) then tells the model (M) to insert the character at the current cursor location and to move the cursor on accordingly
finally the model (M) tells the view (V) that the filename has changed, which displays the amended filename and cursor location

the user's mouse click goes first to the controller (C)
the controller (C) interacts with the view (V) to find out what is under the mouse location and discovers that it is the text field
the controller (C) then tells the model (M) to move the cursor
finally the model (M) tells the view (V) that the cursor location has changed, which displays the amended cursor location

The controller (C) knows that it is in the text field because it interacts with the view (V), which knows about the layout of objects on the screen

Other exercises in this chapter

ex.8.1 (ans), ex.8.2 (ans), ex.8.3 (tut), ex.8.4 (tut), ex.8.5 (tut), ex.8.6 (tut), ex.8.7 (tut), ex.8.8 (tut), ex.8.9 (tut)

all exercises for this chapter

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