A simple example of an application that exploits Tecate's features is one that browses for earth science data in a database and then provides visualizations of that dJta. The initial user interface for this application is built using a collection of user interface \vidgers, where each widget is a Tecate dynamic object. Because the Tecate system docs not yet have a comprehensive 3 - D widget set, some widgets sti ll rely on two-dimensional ( 2-D) constructs provided by the Tk \vidget set that is implemented on top of the Tel language:'"
Figure 4 depicts the tlow of messages between some of the more important objects that are used within the application. One object is the Map Query Tool that is used to make certain graphical queries for earth science data sets whose geographical extents and rime stamps fal l within user-specified constraints. The tool is built around a world map on which regions of inter est can be specified (see figure 5). When a user marks a region of i nterest on the map and selects a temporal rJnge, a query message is sent to the Database lnrertace. The result of the query is retu rned to the Map Query Tool, which then torwards a description of the result to the Intel ligent Visualization System. To structure an appropriate visualization, an inferred select task directive accompanies the result. The ensu ing script produced by the I ntel ligent Visual ization System is executed by BigRiver, which produces a stream of AVL code that is sent to the Abstract Visualization Machine tor interpretation.
QUERY QUERY RESULT QUERY QUERY RESULT KEY: DATABASE INTERFACE
0
DYNAMIC OBJECTCl
RESOURCE OBJECT -+-- MESSAGE FLOWMessage Flow between Important Objn:rs in rhc Earrh Science Appl ic1rion
Figure 5
The Map Query Tool Sho\\'ing a Vtstdi zation of a Qucrv Result
This AVL program creates a new virtu::d world that consists of a collection of 3 - D objects . Each object acts as an icon that corresponds to one data set that was retu rned as the result of the initial query (sec hgure 5 ) . The I n tell igent Visuali zation System also bui lds in rwo behaviors t(>r each icon . Depending on how a user selects an icon , either the mctadata associated with the data scr represented by the i con is d ispiJvcd in a separate window or a q uery message is sent to the Database l nterbcc requesti ng the actual data. In the latter case, the Map Query Tool again t(>rwards r.he qucrv result to the I ntelligcnr Visualization System, and another virtual world contJining objects repre senting data kJtu rcs is created and displavcd with the aid of BigR.ivcr Jnd the Abstract Visuali zation Machine. In generJI, lhta exploration proceeds this way by creating and d iscarding virtual worlds based on interactions with objects that populate prior worlds. After selecting Jn icon to actuJIIy view the data asso ciated with it, an end user is Jskcd bv the I ntelligcnt Visualization System to input a task spccitication using a Task Editor. Generall y, data sets can be visualized in
many diffl:rent ways. The I ntel ligent Visual ization Svstem uses the task specification ro select the one 1·isualization that best satisfies the stated task. After J task specification is en tered, a visualization of the selected data set appears on the screen . The BigRiver dataflow program that the I ntel ligent Visualization System creates ro do that visualization can be edited by h:md by knowledgeable end users to override the deci sions made by the system.
Figure
6
shows a Task Editor and a visualization crafted by the I ntelligent Visualization System after an end user selected a data-set icon. The visualization rep resents hydrological dara that consists of a collectjon of tuples, each corresponding to a set of measurements made at discrete geographical locations. Based on the task specification that the end user entered, the [ntel ligenr Visualization System chose to map the data into a coordinate system that has axes that represent latitude, longitude, and elevation. Each sphere repre sents an individual measurement site, whose color is a fi.mction of the mean temperature. When an end user selects a sphere, the actual data values associated with76
Figure 6
Task Editor Sho\\'ing a Visualizatio11 of Hnlrologiral DaLl
the location repr
e
sented 1)\' the sphere JJ-c disp l avcd . I n addition, the I mclligcnr Visualiz;1tion Svstcm Juto matical l y places into the l'irtual world ofrhe visu:tliza tion ;1 color legend to help relat-e sphere colors to mea11 tcmperatun: v:t lues.hgurc 7 depicts another 1 irrual world showing J
visu:tlization ohbta-sct output h·om a regional clim;1te model program. The dau set is ;J 3 - D arrav indexed b1·
latitude
,
longitude, and cle1·ation . Fach arrav c l ementis a tuple thJt contains cloud d ens
i
tv, water content,and temperature I'Ji ues. In this 1nst;1ncc, the end user enrered J task specincnion that st;ned that the spatial variation in temperature was of primarv i lllJlOrtance. The I nr e l ligent Visualization System responded lw specif-\·ing J l'isualizJtion that represemed the temper atun: datJ as an isosurbcc, i.e.
,
a su rbce 11·hose poi nts a l l h:tve the s:trne 1·al u c f(Jr the temperatu re . Incl udedin
the 1·irtual world is ;l widget tklt can be used tochange the isosu rbcc I';Ji ue and the field l';lriable th;n is being srudied
.
The isosurbcc widget that :tppc:trs in the l'isuali z;l tion shown in Figure 7 is ofspeci;ll interest bcc:�use of t h e way that it is i m plemented. Embedded in the tool is a slider that is used
to change the isosurbcc 1·aluc. As
with most sliders, the slider ,·:�
luc indicator ;Jutom;Jtical
ly moves when ;J mouse button is held down while Digiral Tcdmiol )< n1rn�lpoinring at one ofrhe slider ends. To achieve this sim ple ;Jnimation, Te
c
ate'
s clock object is used . When rhe mouse burron is fi rs� depressed while the cursor is over a slider end , rbe slider ind icator registers i tself to be i n formed of c l ock ricks. From then on, at every clock rick, rhe indicator receives an update message fi-om the clock, at whic
h time the indicator repositions itself and increments or d.eerernenrs the current slider value. VVhen the mouse bu rron is released,
rhe slider sends a message to BigRiver indicating that a new isosurtace is ro be calcu lated and displayed.
In addition, the slider indiutor u nregisters itself f!·om the clock signaling thJr it no longer is to receive the u pdate messages. I n general, applications em use this same clock mechanism to perf(mn more elaborate animations.
A 3-D World Wide Web Browser
I n the Teute Web browser, exploration of the World Wide Web ami i rs comcnrs occurs by placing an end user onto an informational landscape. This landscape is ;1 3 - D ' irtual world whose appearance reflects the coment and the structure of a designated subset of the entire Web
.
Upon applicnion start-up, a n end user is prese
nted with an initial informational landscape that consists of a p!Jn;lr map of rhe earth embedded in a 3 - D space, ;lS shown in Figure 8 . I n general,
rheFigure 7
Task Editor Showing a Visualization of Regional C l i mate Dat3, I nduding an lsosurtacc 3nd cl User I nrcrt,lcc Widger initial i n formational landscape can be any 3 - D scene
and does not have to be geographically based. For instance, an intormational landscape might be a virtual library where books on shelves serve as anchors for hyper! inks to different Web sites.
In the present browser application, selected Web
sites appear as 3-D icons on the world map. These
icons arc positioned either in locations where Web servers physically reside or in locations referenced
within Web documents (see Figure 8 ) . A user places
information that describes these sites into a database that serves as an elaboration of the hot list of current hypertext- based browsers. When the browser applica tion is first started, it sends a query for the initial com plement of Web sites to the Database I nterface. The browser application then invokes a BigRiver script that visualizes the results by placing icons representing each site onto the world map.
Suspended above the world map is a 3-D user inter face widget that is used to query a database of Web sites that are of interest to an end user ( see Figure 8 ) . This database, where the initial set o f Web sites i s stored, includes information such a s URLs, keywords,
geographical locations, and Web site types. Cu rrently, Figure 8
Tecate Web Browser Int<>rmarion3l L�1ndscapc Showing WW\V Sites Depicted as 3· D Icons on a Map of the World Digital Tc..:hni..:al Journal Vol . 7 �o. 3 J Y95 77
78
individual users arc responsi ble tor mai ntaining their own databases by adding or removing \Veb sire entries by hand. An automated me:ms tor building these LhtJ
�
bases can be easily added to the broll'ser appliurion so that Web intormation could be Jccu mulated bas
ed on where and when an end user rra\'cls on the Web.During a browsing session, rhc Web Qu
e
rv Toolallows arbitrary SQL q ueries to be posed ro the
database by an end user. ln addition, the Web Query
Tool has provisions to a llow packaged queries ro be initiated by a simple click of a mouse bu tton . ln both
cases, queries are sent ro th
e
Dat<1base lntert:Jce Forforwarding ro the appropriate dat,1base ser\'lT The Database I nterface pacbges up the query results as
on�thc�wire fiber bundles which are returned to the
Web Query Tool
.
The Web Query Tool then im·okesa BigRiver script, which converts the ti ber bundle data into AVL code. This code, \\"hen interpreted
lw
the Object Manager,
creates a ,·isualizarion of rhe vVcb sires that satisfies the query.
Generally, a visu:-tl ization such as this consists of pl:1cing on the \\'Orld m:1p :1 setof 3� n icons whose appearances arc a function of the Web site type. However, query result \'isualizarions
need not be li mited to an orga nization based on geo� graphical position. For insr:mce, a querv t()r the con�
Figure 9
Sample
End� uscr Nongeograph iul !ntcmnatiOtd I ,;llllbopcDigital Tcdmi(al Journal
Vol. 7 �"-
3 l <J<JSte nts of :tn end user's own til e directory n:sulrs in a new int(mnational landsCJpe that consists of an evenly
spaced gri d of icons suspended within a room, as sbo\\'n in 1-'igu re 9 .
Each icon that appc1rs \\'i thin a n int(mnational
landscape is cloned ti·om •lll AVL
I-IJ1J<'rlinl<. abstract
object that stores its U lU , in a state \'Jri::�ble. Each Web sire icon inherits ti·om the
Hyperlink prototype abeha,·ior that causes data poinred to by i rs U R.L state
\'ariable ro be terched
lw
me.ms ofrhe WWW l nrertace"·hen the icon is
selected . vVhen
the data is drawn across the Web, Tecate's W\V\V Inre rtace attempts tostructure a ,·isu �llization of it. Figure 10 summarizes the message tlow
bet\\'een
the more importJnt objects wirh in the Web browser application.If an end user selects an icon and a Web server returns a stream of HTM L, the WWW Interface trans�
lares the stream into AVL and dispiJys the result on the