exercises

8. implementation support

EXERCISE 8.8 [extra - not in book]

(a) Explain the purpose of the three main boxes of the Seeheim model:

Presentation
Dialog control
Application interface model

(b)What is meant by 'semantic feedback'?

(c) Why is the switch often omitted?

(d) Which of the following would require rapid semantic feedback?

(i) displaying the results of a database query
(ii) showing a progress bar of a web page download
(iii) using a 'spray gun' in a paint package
(iv) moving a cursor in a text field
(v) moving an avatar in a 3D virtual reality world

answer available for tutors only

(a)
Presentation
- responsible for appearance
Dialog control - regulates communication between presentation and application
Application interface model - view of the application semantics (often now would be the application API or a view of it)

In addition there is an extra component, the bypass or switch, which is often omitted in descriptions of the Seeheim model.

(b) Where fast feedback is required, but where the information needed is not held in the dialog level abstractions

(c) Because there is not a clear distinction made between the logical/conceptual use of the Seeheim model and its use as an implementation model to structure actual code. The switch is unnecessary for the former, but essential for efficiency reasons in the latter.

(d)
(i) displaying the results of a database query
NO: this is semantic but not rapid!

(ii) showing a progress bar of a web page download
NO: application information is required, but it is not feedback to a user's ongoing actions.
(However, it would probably require the switch or something like it to achieve rapid update to the user's display)

(iii) using a 'spray gun' in a paint package
YES: needs to be really fast (otherwise you can't see where you are spraying), requires application knowledge (about the bitmap painting) and repsonds to user actions (moving the can).

(iv) moving a cursor in a text field
NO (but debatable): this is rapid, but a text-entry field would normally be regarded as part of the dialog level abstraction.

(v) moving an avatar in a 3D virtual reality world
DISCUSSION POINT: it is debatable whether the Seeheim model is useful at all in such a situation and if one thinks it is, it is not clear what are appropriate dialog level abstractions. One choice is to regard the movement in the world as dialog level and then require semantic feedback for collisions with objects. However, an alternative would be to have a much 'heavier' dialog component that knows about objects and avatars. Semantic feedback would then only be required if objects had complex behaviour (such as a door opening on a hinge), but not for solid walls, etc.

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