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
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.
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).