This paper begins with a description of the viewer programs. Then we report on our evaluation experiments and discuss our findings.
Overview of the user model
Figure 1 shows a user's model as displayed by
quick_view (for quick viewer). Parts of the model are
"folded" into single nodes to reduce window clutter.
quick_view can also be used to view selected parts of a
user model by invoking it with a specification of the parts
to be viewed.
The um form of a user model is a directed acyclic graph. This is presented to the user as a tree. Non-leaf nodes are called partial models. They are shown as circles. These represent a meaningful grouping of related aspects of the user model. The leaves of the quick_view tree are the components of the user model and these are shown as shapes other than a circle.
Different shapes are used to indicate the type of the component. Squares are used to show knowledge components. Diamonds are beliefs, aspects that the user may believe true but the system designer (and hence the system) considers untrue. These may well be misconceptions. They may, equally, represent alternate views which conflict with those of the main model being displayed. The crosses are characteristics and other properties of the user for which true/false values may not be appropriate.
Most of the model shown in Figure 1 is devoted to knowledge-components. One belief-component represents the view, held by many users, that killing the sam-window is a good way to quit. (This means the user misses potentially helpful warnings.) The bottom of Figure 1 has several characteristics-components such as the representation of the user's apparent typing speed (wpm_info).
In addition, quick_view displays the truth value of the nodes and leaves. For all but belief-components, true is indicated by black, false by white. A circle in a circle (and corresponding nested shapes) indicates situations where the system could not determine the truth of the component. We describe the way that the truth is determined later.
One role of quick_view is to give the user an overview of a large part of the user model structure `relevant' at this point. Now the definition of `relevance' has two parts. First, the root of the displayed tree defines the `relevant' context. In the case of Figure 1, this is the whole model for this user (starting at the `root'). We could have displayed just the part of the model starting, for example, at sam.
The second part of `relevance' concerns the selection of the actual nodes to be displayed. One option
is to display the whole tree so that the user can, indeed,
get an overview of the part of the model being viewed.
An alternative is to try to determine the most useful, and
so relevant, parts.
There are many reasons for avoiding the display of the whole partial model subtree. If the starting node given to quick_view has a large subtree with many components, it may be infeasible to display all of them as the screen would be too cluttered or the print too small to be readable.
Even if all the components can be displayed so that they are clear, it may be that many have the same value. Then the quick_view display can be clearer and more meaningful if we collapse any partial model that has all its components of the same value. Where all the components are true, this constitutes showing the user that the more general notion is true.
In designing quick_view, we were even more concerned about the opposite situation where the user knew none of the components in various partial models. This is the case when a beginner has only made small use of sam and knows little about it. We were concerned that a screen showing large numbers of unknown nodes would be discouraging. Moreover, a user who knows only the simpler aspects of sam is unlikely to be interested in sophisticated features.
We also allow the user to override the default `relevance' definition. When the user clicks on a node whose subnodes are not displayed, the next level down the tree is displayed. Conversely, the user can collapse the subnodes by clicking on a node.
A second role of quick_view is as a navigation aid when viewing a user model in detail. Normally the user will investigate the details of the model using a viewer like um_view, described below. Then quick_view keeps the context available.
Detailed model viewer
The main viewer interface, um_view, allows the user to traverse their user model. A startup screen displays the root and immediate child nodes of Figure 1. The user can select nodes that are leaves in the visible tree, expanding that part of the tree until the leaf components are available as is the case in the example of Figure 2. (As one would expect, the converse navigation applies and leaves can be collapsed by clicking on their parent node.) Rather like the quick_view display, um_view gives the user the value of each node displayed. However, it offers much more at the component's nodes. Here it provides a pop up menu from which the user can select three main actions: justify the value of the component; alter the truth value of the component and explain the meaning and purpose of this part of the model.