HUMAN-COMPUTER INTERACTION
SECOND EDITION
The PIE model is a black-box model. It does not try to represent the internal architecture and construction of a computer system, but instead describes it purely in terms of its inputs from the user and outputs to the user. For a simple single-user system typical inputs would be from the keyboard and mouse, and outputs would be the computer's display screen and the eventual printed output (Figure 9.2).
The PIE diagram can be read at different levels of abstraction. One can take a direct analogy with Figure 9.2. The commands set C is the keystrokes and
This is a physical/lexical level of interpretation. One can produce a similar mapping for any system, in terms of the raw physical inputs and outputs. It is often more useful to apply the model at the logical level. Here the user commands are higher-level actions such as 'select bold font' which may be invoked by several keystrokes and/or mouse actions. Similarly, we can describe the screen at a logical level in terms of windows, buttons, fields and so on. Also, for some purposes, rather than dealing with the final physical result, we may regard, say, the document on disk as the result.
A related issue is predictability. Imagine you have been using a drawing package and in the middle you get thirsty and go to get a cup of tea. On returning, you are faced with the screen -- do you know what to do next? If there are two shapes one on top of the other, the graphics package may interpret mouse clicks as operating on the 'top' shape. However, there may be no visual indication of which is topmost. The screen image does not tell you what the effect of your actions will be; you need to remember how you got there, your command history. This has been called the 'gone away for a cup of tea problem'. In fact, the state of the system determines the effects of any future commands, so if we have a system which is observable in the sense that the display determines the state, it is also predictable. Predictability is a special case of observability.
Dynamic pointers Interface objects often have special positions, such as the cursor or marked blocks. They also may have pointers into them, such as hypertext links. Dynamic pointers are a formalism which describes such positional information in a uniform manner. In particular, they help to manage the changes in pointers as the underlying object is updated. They also describe the mapping between positional information at different levels, for example when mapping mouse positions on the screen to their appropriate positions in application objects.
The PIE model is very asymmetric between input and output. Some sorts of output are difficult to deal with, for example a beep used when something goes wrong. This is not clear in the formalism itself, but if we look at the principles, it is obvious that the display is expected to be persistent. If you go away and have a cup of tea, the display is still there when you get back. The beep is not. On the input side, mouse movement is not easy: one can regard each movement as being a command in C, but this is unnatural. Certainly, the user would not be conscious of each pixel movement!
A beep is similar to a keystroke: each is an event. The mouse's position is similar to the screen: they both have an observable value at any moment -- we say each of them is a status. The PIE model is then an event-in/status-out model: the user does events (from C) and the system responds with a status (display). This suggests variations of the PIE model which have different combinations of event and status.
One version has events and status for its input, but still a purely status output (any-in/status-out). The (single command) state transition function then depends on both the command and the current mouse position (M):
The display function is now not just a function of the state, but it too depends on the mouse position:
This allows for the display to include the mouse cursor, which moves with the mouse (pretty obvious really) and also allows for the change in the display when the mouse drags an object.
processed in 0.004 seconds
| |
HCI Book 3rd Edition || old HCI 2e home page || search
|
|
feedback to feedback@hcibook.com | hosted by hiraeth mixed media |
|