wanted to support the visualization of relational
data. To meet all these goals, we developed uVis
building blocks and formulas. The building blocks
are the visual elements that make up the
visualization, and based on data, the formulas
customize the appearance and behaviour of the
blocks.
2.1 uVis Building Blocks
uVis building blocks are the elements that make up a
visualization. They can be basic such as
TextBox,
Icon, Label, and Canvas or composite such as
ComboBox (figure 1). The latter can be made of a
combination of the formers. Blocks have built-in,
properties, designer properties, and event handlers.
Built-in Properties customize the block
appearance. As an example, a
TextBox has Top,
and
Left properties that customize position.
DataSource specifies how many block instances to
create, and bind these instances to data rows.
Designer properties are added by the designer to
retain data. For instance, a designer might write a
complex formula in a designer property and refer to
it from other properties rather than repeating it.
Block behaviour is defined by event handlers.
Events are triggered on mouse and keyboard user
actions. Event statements specify what happens
when an event occurs. For instance, a designer may
specify a box to show up upon clicking a visual
element in a graph.
With present tools, most of the properties have a
fixed value. For instance, the back colour of a
specific label can be set blue, and it can be
positioned at the top left of the screen. To make
these properties depend on data, some programming
is needed. With uVis, each property can be
customized by a formula that can refer to other
properties and data. When a property value changes,
formulas that refer to it automatically update the
values of properties they customize. In this way the
label back colour can depend on or more fields in
the data base and properties in other blocks.
2.1.1 uVis Basic Building Blocks
uVis basic building blocks provide minimal
functionalities, and can be used in many
visualizations.
uVis provides several kinds of basic blocks. We
explain them below.
Standard Input Blocks: Rather than designing all
blocks from scratch, we use standard
.NET input
controls such as
TextBox and Button.
Shapes: We designed a number of primitive shapes
such as
Line, Ellipse, and Box based on GDI+
drawings, but enabled them to function as
independent visual objects that receive mouse and
keyboard events.
Inspired by Cleveland (1985), we provide glyphs
such as triangles and stars. We also provide shapes
that are commonly used in visualizations. For
instance, a
Curve block connects several points.
However, the individual points are defined
separately, and they connect themselves to the curve.
This allows both curves and individual points to be
customizable. The
Tension property of a curve
specifies how the curve bends through the
coordinates of the connected objects.
2.1.2 uVis Composite Building Blocks
Composite building blocks comprise several basic
blocks and have a few properties that can
automatically specify properties of the basic blocks.
The designer can still customize the properties of the
individual basic blocks. Hence, visualization
construction is sped up and simplified without
compromising customizability. As an example,
figure 1 shows a
ComboBox that shows a list of
patient names.
Figure 1: uVis ComboBox, a composite block. Comprised
blocks are illustrated with dotted callouts.
To create the ComboBox, the designer first set a
few properties of the
ComboBox that allowed the
block to refer to data and customize the general
appearance. As a result,
ComboBox generated
several basic blocks (
Label, Canvas, Icon, and
TextBox), and automatically specified them. The
designer set a few properties of the generated
Label
block to customize the appearance of the second
patient name (Lise B. Hansen).
2.2 uVis Formulas
Each block property may have a formula. Formulas
specify how to compute the property value for the
block. They are declarative and correspond to
CUSTOMIZABLE VISUALIZATIONS WITH FORMULA-LINKED BUILDING BLOCKS
769