7.1 Extend the text menu and the command line interface to accommodate the additional facilities available in the GeometricTuttle class from Exercise 4.4.
7.2 Redesign, and subsequently re-implement, the TextMenuTuttle's Move and Turn menus so that the user can move or turn the tuttle an arbitrary number of units. This could be accomplished, for example when moving the tuttle forwards, by interposing a menu which offers two further menus labelled tens and units. The tens menu should offer items which move the tuttle 10, 20, 30 steps etc. and the units menu items to move it 1, 2, 3 steps etc. So if the user wanted to move the tuttle 47 steps they could activate the Move/ Forwards/ tens/ 40 item followed by the Move/ Forwards/ units/ 7 item.
7.3 Is the irregularity of the menu structures, some returning to the higher level after being activated and some remaining in the same state, in the TextMenuTuttle interface a problem for the users? To determine this implement a version of the TextMenuTuttle interface which is regular in its behaviour, then have two groups of users perform the same task, observing and recording their behaviour.
7.4 Extend the TextTuttle class so that it will accept synonyms for the commands. As a minimum each command should be allowed to be issued in its abbreviated and long form ( e.g. fd and forward). Additionally actual synonyms should be provided ( e.g. tr and rt, turn right and right turn).
7.5 Which of the four tuttle interfaces is the most effective? Which is the most efficient? And which is the most enjoyable? To decide upon these questions design a standard task and have four groups of users perform the task and observe and record their behaviour.
7.6 Are the results of Exercise 7.5 dependent upon the experience level of the users?
7.7 Decide upon the most acceptable name for tuttle commands by producing a series of diagrams which illustrate what action the tuttle will take and ask a sample of users what name they would give to the action. How much variability is there in the results you obtain? What is the most popular name for each action? How does the list of most popular names compare with the list of commands as presented in this chapter? What does this tell you about naming commands?
Table of Contents
Summary of Chapter 7