AIS BIIS 1999-2000

Interactive System Implementation Exercise

Basic Framework

From the AIS BIIS website you will find a link to TradeViewerr, a Java 1.1 implementation of a very primitive dual view visualisation of a table of bond trading data, including

A simple control is supplied for scaling the entire scatterplot (by entering a scaling value). Entries may be selected from list; the selection will be reflected in the scatterplot by a green dot and by the contents of the record below the scatterplot.

What You Must Do

On top of this basic framework, you should implement basic mechanisms to select a bond from the scatterplot by clicking on the dot that represents it. Reflect your selection in the other two views, if you can.

Also you should try to implement at least one of the following tools or techniques, while maintaining the 'dual view' model, so that data interactions in one window are reflected in the other window. For example, selections made using sliders and buttons in the graphical display should be reflected in the list or table display, and selections made using the list or table should be reflected in the graphical display.

You should be able to give good reasons (a rationale) for your system enhancements.

Implementation Option 1 -- Sliders and Buttons

This option concentrates on handling two cases of interactively selecting a third column, used to 'colour' the scatterplot.

If the user selects a column with numerical values (integers or reals) then the aim is to colour the scatterplot objects using a smooth scale. (Use a perceptually linearised colour scale for this, from ~matthew/public_html/lectures/IS3/ColourScales/) Then the scatterplot should be controlled using either two Swing sliders or one double-ended slider to allow interactive selection of a subrange of the column's values, so that only the rows within the slider subrange are displayed. The others should be made invisible, or (a better approach) you could 'grey' or 'ghost' them.

For ordinal values with a small set of non-numerical values, e.g. CURRENCY_ISO, you should use radio buttons or a similar selection device to allow selection of which objects to display. Hide or grey out the objects not matching the selection, and try to give colours to each button which are displayed on the matching objects in the scatterplot. Try to make the colours not too 'close together' -- they should be easily discernable.

Implementation Option 2 -- Zoom

Build some basic zoom and pan controls into the scatterplot display. Mouse controls should be used to offer zoom in on the current centre of the screen, zoom out from the current centre of the screen, and also zooming by selection of a rectangular subarea of the display as the next visible region. You might also offer sliders for zooming in and out, if you have time. Make sure that the list or table view offers some feedback, showing which objects are still visible in the scatterplot display.

Implementation Option 3 -- Subset Selection

Allow the user to use the mouse to draw out a rectangle on the scatterplot display, and so select a subset of objects. The others outside of this subset should be made invisible, or (a better approach) you could 'grey' or 'ghost' them. Feedback in the list or table view should show which rows have been selected.  If you do Option 1 too, consider how range sliders should change when you make such a selection.  A good design will link these features together.

Implementation Option 4 -- Searches

Provide a simple text search function. Allow the user to type in a string and have all non-matching objects either disappear or be greyed/ghosted. The list or table view should also change to highlight matching rows. At its most simple, this could search for any occurrence of the input string in any column, but a more powerful solution would be to allow separate search strings which are specific to each column.