Pattern from Peter Windsor

Pattern: Situation Display

Problem

The user needs to view and interact with a substantial number of objects that:
a) have spatial location (or have attributes that can be mapped to spaces)
b) are dynamic
c) have substantial additional data

Examples

Examples of this pattern include: air traffic control, military command and control, emergency vehicle dispatch, scientific visualisation, sports analysis and many games.

Solution

The solution presented in this pattern has a general ‘core’ plus many refinements that may apply depending on the particular context.

General

The core solution is to present the objects as symbols on a map.  Typically we have:

a) ‘target symbol’ for each object with

i) differing symbols for different classes of object
ii) different emphasis (eg colour or hollow / filled symbols) to show categories (eg ‘under my control’) or key states
b) embellishments:
i) ‘trail symbols’ to show previous locations
ii) ‘vector lines’ to show predicted trajectory
iii) extra symbols (eg enclosing box / circle) to show key states
c) ‘data blocks’ for associated data (typically textual)

d) ‘maps’ to provide context

Information Management

Typically there will be too much data for permanent display.  There are three information management techniques we use with this pattern:

a) selection of which data to display in fields of the data block (long term); it is usually important that the data blocks for objects in the same category have the same data to allow ‘scanning’

b) ‘quicklook’ to temporarily add small amount of data to data blocks of all objects (of a category); the extra data is removed automatically after a short time

c) ‘pop-up’ to request full information for a single object

Filtering

Sometimes there will be too many objects to provide a clear picture.  The pattern deals with this by introducing one or more filters which divide the objects into those that match some criteria and those that don’t.   Filters can:

a) remove objects (matches / non-matches)

b) emphasise / de-emphasise matches / non-matches

c) remove embellishments and data blocks for matches / non-matches

Filters can be either ‘long term’ (ie until changed by the user) or temporary (automatically cancelled).
If multiple filters are used together, take care with their interactions.  Eg if two filters both remove non-matches, what happens to an object that is a match for one filter but not the other?  We recommend that each filter has a different effect (eg one removes the other de-emphasises)

Consequences

Very expensive to implement.  Achieving satisfactory real-time performance can be very challenging.

Selecting which presentation features to use for what purpose is hard to get right (huge design space).  Already difficult for narrow task / user spectrum, but in many cases the same display may be used for multiple purposes (monitoring, alerting) both by an individual user and by distinct groups of users.  Optimal design for one task typically sub-optimal for others, but common design important for interoperability.

Many choices for interactions to control how Situation Display is manipulated:

a) interaction style (keyboard vs pointer etc)

b) many small windows vs few large ones

c) control selection

Interaction with displayed data is not addressed here.  Key questions are:

a) what actions through direct manipulation, which through more indirect methods

b) what ‘focus’ / selection to support (eg single vs multiple selection)

c) trade off between context sensitivity and consistency (eg if a pop-up menu is provided, is it context sensitive or is there a standard menu with enabling / disabling)
 

Related Patterns

Situation Display is a form of High-Density Information Display.  It has some common elements with Series of Small Multiples.  It uses Optional Detail on Demand.
 


An example pattern prepared for the Usability Pattern Language Workshop at Interact '99