USENIX Technical Program - Paper - Proceedings of the The Sixth Annual Tcl/Tk Workshop, 1998
|Pp. 201202 of the Proceedings|
Enhancing Interfaces with Animated Widgets
D. Scott McCrickard
Graphics, Visualization, and Usability Center
and College of Computing
Atlanta GA 30332
As noted by Tcl creator John Ousterhout, scripting languages
are designed to ``glue'' together existing resources
making them easier and more efficient to use.
In particular, the Tcl/Tk scripting language is designed to be
platform-independent with an extensible graphical toolkit
for interface design.
However, many programs written with scripting languages
(specifically agents) are autonomous and long-lived,
implying that new interaction techniques
may be necessary to best serve the interface designer.
One approach is to use animation to provide a hands-off way
to deliver information to a user.
Our Agentk toolkit consists of animated widgets,
widgets whose appearance changes over time to provide
additional information to users.
An animated widget is a type of of mega-widget,
a collection of widgets operated using
a single programming interface.
Programmers can control the contents, animation speed,
bindings, and other factors of an animated widget
using the same type of widget creation commands,
widget subcommands, and options
syntax that they use with existing widgets.
Agentk consists of the following types of widgets:
- Fade widgets display multiple blocks of text or graphics
within a given space by gradually fading between them.
The information contained in a fade widget
slowly changes color until it matches the background color.
This fading effect allows multiple blocks of information
(such as stock quotes or ball scores)
to be displayed in a single area without
having to flip or scroll between items.
To control the rate at which information is displayed,
a user can click and hold the mouse button to pause the fading effect,
then can release it to jump to the next information block.
- Ticker widgets provide a ticker tape display that
automatically scrolls or ``tickers'' text and graphics
horizontally across the screen.
As with the fade widget, a gradual tickering effect
can be less distracting than a sudden switch in information.
While the fade widget is useful for showing fixed-size blocks
of information, the ticker widget proves to work better
for streams of text with arbitrary length such as news
or weather bulletins.
The user can pause the flow of information
by clicking on the ticker
and can alter the flow by dragging.
- Roll widgets scroll information vertically
across the screen. As one line disappears at the top
of a widget the next appears at the bottom.
Roll widgets are well-suited for ordered lists
of information such as golf leaderboards or product rankings.
As with the ticker widget, a user can pause or alter the
flow of information using the mouse.
- Navigation bar widgets allow a user to view and find
information in a list.
Navigation bars employ many of the same components as a scrollbar
(arrows, a thumb, a trough) that function in a similar manner,
but the trough contains colored horizontal lines that represent
the items in the list.
The colors correspond to groupings of list items,
so repeated color patterns will reveal related items.
Navigation bars have various programmer-configurable
layout options that are useful for various types of lists.
As a list changes, the navigation bar
automatically updates to show the change.
The Agentk toolkit has been used in a variety of
applications for managing email, news,
and Web-based information. More information,
screenshots, and details on obtaining Agentk
can be found at
We hope that the animated widgets in Agentk will help
programmers build better information management
agents and programs.