next up previous
Next: C. Constrain Up: Design Principles Previous: M. Match mental models

S. Simplify structure

The second principle is to simplify structure wherever possible. Here Norman (1988) recommends that we
1.
Hide complexity,
2.
Provide appropriate feedback,
3.
Automate where possible; where not, change the nature of the task, and
4.
Allow the user to add complexity.

It is the nature of interactive statistical analysis that it be complicated and the typical screen-shot from Quail (see Figure [*]) seems to reinforce the point. There we see five separate windows. Four of these windows are graphic windows - a 2d scatterplot, a 3d rotating scatterplot, a scatterplot matrix, and an interactive list of cases. Each of these provides some facility for direct manipulation. The fifth window (in the bottom left corner of the display) is a type-in command line compiler/interpreter where arbitrarily complex programs can be written and subsequently used (the question mark is the prompt). The commands which produced the remaining four windows could, for example, have been typed in at this window and executed (although the plots for this session were produced entirely without typed input).

The complexity seen here is, in a certain respect, unavoidable, as it represents complexity that the user chooses to see simultaneously. Otherwise some of the windows could have been closed by the user.

Even so, much complexity is hidden away. The dataset being examined, for example has 15 different variates measured on each of 100 observations. Each plot maintains a pointer to the entire dataset. Moreover, each plot is itself made up of several pieces - axes, labels, point-clouds, titles - each one of which maintains a pointer to its own appropriate viewed-object. This complexity is hidden until accessed by the user.

At the top of the screen in Figure [*] is the Quail menubar. Each word in the bar (`File', `Edit', etc.) is the title a pull-down hierarchical menu. Figure [*] shows part of the

  
Figure: The pull down Quail menu.

`Quail' pull-down menu which provides general access to information - help, tutorial examples, etc.

The `Plots' menu illustrates the use of both recommendations 2 and 3. If, for example, the `Scatterplot' menu item was selected as shown in Figure [*] then one of three things would automatically occur depending upon the display context.

  
Figure: The pull down `Plots' menu.

The top-most window is always displayed slightly differently than the other windows; in Figure [*] the top-most window is titled `2D-PLOT-0'. If the top-most window is the type-in window (as would be the case at the beginning of any session) then the user is first prompted for the dataset to be displayed in the scatterplot and then asked to select two variates from those associated with that dataset. If on the other hand, the top-most window is already a plot of some sort, then it is assumed that the user intends the new scatterplot to be of the same data and so he/she is prompted only for the variates to be used. Finally if, as is the case in Figure [*], the top-most window is a plot with a subset of the data selected (shown as gray square boxes near the cursor in Figure [*]), then after the user is prompted to select variates a scatterplot is produced for the selected subset of the data.

Highlit points in a scatterplot mean the user has focused attention on them and this is assumed to be the case for the automated functionality. When the new scatterplot of the subset comes up, all points will be highlighted since they were the ones selected in the original plot. This clear and immediate feedback to the user should help them understand the system model which the automation has presupposed. A considerable pay off occurs for example, when scatterplots of a subset of the data are desired separated and properly arranged according to the value of one or more categorical variates (including point colour). Simply highlighting the desired subset and selecting `Scatterplot by' from the `Plots' menu produces the desired result.

Considerable complexity can be added by the user either programmatically (using the fairly general program structures available in Quail) or interactively via direct manipulation. For the latter case, the variety of point symbol shapes in the displays of Figure [*] were determined by direct interaction with the displays. Besides changing styles (e.g. colour, shape) of the graphics on display, it is also possible to re-arrange their positioning, add other display components and so on.

A good deal of this simplification has been made easy to handle by having the underlying system code match the statistical concepts shared by designer and user alike. The models are reinforced directly by the display organization and by interaction with the display (e.g. point-symbols represent cases, so selected point-symbols represent selected cases).


next up previous
Next: C. Constrain Up: Design Principles Previous: M. Match mental models

2000-05-17