This section discusses the Visual Query interface of DEVise:
In a database environment, users ask their questions by formulating queries over the underlying database. The query output are the answers to these questions. The same questions can be asked over and over on different sets of input data. The same principle applies when graphics is used to represent data. The difference is that visual queries are formulated using a graphical user interface, against graphical data.
When formulating visual queries, users start with a set of input data. Graphical representations of the input data are generated, perhaps through extensive experimentations. Users would navigate the data to look for places of interest. Sometimes users might need additional help by looking at the original data represented by the graphics. The state of the visualization environment forms a visual query. Just like a database query, the visual query can be saved, and applied over and over to different sets of input data.
A visual query is constructed by manipulating the system components
in DEVise to create component instances and interconnections.
These components are derived from a model
of visualization. The visual query interface manipulates these
components to allow the user to specify what data is to be visualized,
how data is to be visualized, and where to place the graphics on the display.
Session
The state of each visual query is a session. Sessions are accessed from the Session menu, with the following menu items:
Sometimes the size of shapes are so small that they appear as single pixels when drawn inside a view:
Controlling the actual size of pixel sized shapes is done via
keyboard commands directed at a view. The '+' key increases the
size of shapes, while the '-' key decreases the size of the shapes.
What to Visualize
There are many ways to specify what the user wants to look at:
The widgets on the control panel are mainly used for navigating the
data. The ``current view'' text widget
() displays the name of the
view that the user wishes to navigate. User commands initiated from
the control panel widgets are applied to the current view. The user
selects a view as the current view by clicking inside its boundary with
the left mouse button.
Interactions with widgets for navigation are translated into
changing the visual filter of the current view. The widgets used
for navigation are as follows:
DEVise has two modes of operation:layout and display modes. Users
toggle between these two modes by clicking at the
button. In the layout mode, the user constructs mappings and views
and decides where to place views in windows without having the graphics
update in the window. The windows are eventually updated when the
user switches into display mode.
Placing DEVise in the layout mode is a time saver when large amounts
of data are involved. The layout mode allows the user to construct a visual
query without waiting for the graphics to be updated. Otherwise, adding a
view in a window may cause all other views already in the same window,
together with linked views in other windows, to be updated simultaneously.
may take a long time.
Axes
DEVise gives the users to turn the display of view axes on/orr.
This is accessed through the ``View/Toggle X Axis'' and the
``View/Toggle Y Axis'' menus.
Mouse and Keyboard Events
The default interpretation of the events are:
The history window is accessed by clicking the `history' button on the control panel. A history of changes to the visual filter of the current view are displayed.
Users can go back to places previously visisted by clicking in a
history window entry, and then clicking the `use' button on the control panel.
Users can also mark or unmark places of interest by clicking in the
`mark' column of the history window. The marked entries are preceded
by an `*'. Because the history window has a finite size,
old history entries are replaced by new ones after the size of the history
window reaches it maximum. However, marked entries are never replaced.
Visual Link
Visual links are used to link the axes of multiple views, so that
scrolling or zooming one synchronously scrolls or zooms
all linked views. The ``View/Link'' menu brings up a dialogue box
that allows the user to select a link for the current view. The
dialogue box also allows the user to create new links, and to
examine views that belong to existing links. The ``View/Unlink'' menu
allows the user to dissociate a view from a link.
Cursor
click here for an example.
Cursors are used to display the boundaries of one view relative to another. Clicking in the destination view moves the cursor to the clicked region, at the same time changing the visual filter of the source view. The cursor menu is used to access cursors:
Consider a window consisting of a set of linked views. As the user navigates the views, he or she might come across a location of interest. One way to save this location is to mark it in the history window. However, the user may also want to compare two separate locations. This is most easily accomplished by making a copy of the window so that the two may be placed side by side for comparison. This is done by choosing the ``Window/duplicate Window'' menu.
After duplicating the window, the user is provided with two
identical windows. The user can use the first window as a reference point,
while using the second window for further navigation to find other
places of interest. The alternative is to recreate the window
by using the structured interface. But
this may take a long time.
Data Querying
As the user navigates the data, there might be places
where information about the records used to generate the graphics
becomes important for understanding. Pressing down on the
middle button may be used to query the data that
underly the mouse. As a result, a pop-up window appears,
giving the user information about the data records, including
attribute names and values. (Click for an example)
In the event that there is too much information to fit in a pop-up window, the information is displayed textually on the user's terminal.
Where to Place graphics
Views and windows are the means throught which the user decides to place graphics. First, views can be removed from windows to reduce clutter, or be moved to other windows for side by side comparison with other views. These functions are accessed through the ``View/Remove from window'' and ``View/move to window'' menus. When placed within the same window, the positions of views may also be swapped using the ``View/Swap position'' menu.
Windows are responsible for arranging views inside their boundaries.
Different placement strategies may be implemented. Currently, DEVise
only places the views vertically within a window. In addition,
DEVise relies on the window manager of particular implementations
for moving a window to a different locations on the display, for changing
the size of a window, or for turning the window into an icon.
Command Summary
Thus far, the user interface commands
supported by DEVise were presented grouped by
function: whether they address the how, what, or
where issues of visualization. We now summarize these commands by
grouping them according to form:
There are five groups of menus: Session, Visualize, View, Cursor, and Window. We now describe each one in turn, beginning with the Session menu. Recall that the state of each visual query is a session. The session menu deals with saving and restoring visual queries:
The ``Visualize'' Menu is used to start the structured query interface that helps users construct visualizations using a series of dialogue boxes.
The ``View'' menu is used to operate on views. Most of the menu items require that the current view be specified by clicking in the view with the left mouse button. The menu items are:
The ``Cursor'' menu is used to operate on cursor:
The ``Window'' menu operates on windows:
The control panel widgets are as follows:
Moving the mouse repositions the mouse pointer to different parts of the display. If the pointer falls within a view, mouse and keyboard events may be used to invoke commands on the view. These commands are intercepted either by the cursor inside the view Valid commands also have the side effect of making the view under the pointer current view of the control panel.
If the view under the mouse pointer is the destination view of a cursor, then mouse events may be used to operate the cursor. The effective areas are under the X axis, or to the left of the Y axis. Clicking anywhere along the effective area moves the cursor to the new location, updating the source view at the same time. Additional mouse events are intercepted by the view as follows:
Keyboard events are also intercepted by the view as follows: