imapping wikis— towards a graphical environment for...

8
iMapping Wikis— Towards a Graphical Environment for Semantic Knowledge Management Heiko Haller, Felix Kugel, Max V¨ olkel Forschungszentrum Informatik (FZI), University of Karlsruhe, Germany {heiko.haller, max.voelkel, felix.kugel}@fzi.de, http://www.fzi.de/ipe Abstract. iMapping is a visual technique for structuring information objects. It is based on research in the fields of visual mapping tech- niques, Information Visualisation and cognitive psychology. iMapping uses a Zooming User Interface to facilitate navigation and to help users maintain an overview in the knowledge space. An iMap is comparable to a large whiteboard where wiki-pages can be positioned like post-its but also nested into each other. Augmenting Wikis by providing spatial browsing and zooming facilities makes it easier to structure content in an intuitive way. Especially semantic wikis, which typically contain more fine-grained content, and stress the structure between information items, can benefit from a graphical approach like iMapping, that allows to dis- play multiple such items and multiple wiki-pages in one view. This paper describes the iMapping approach in general, and briefly how it will be applied as a rich client front-end to the SemWiki engine. 1 Introduction Wikis have proven to be useful devices to easily store and manage structured in- formation, and are also increasingly being used for Personal Knowledge Manage- ment. Semantic technologies however have not found widespread use so far. Using wikis to also author formal (semantic) knowledge structures seems a promising approach. However for these semantic technologies to be widely used, it is crucial that they are very easy to author and that they do not constrict the user in his work. Also hypertext research has shown, that users often get “lost in hyper- space” when browsing complex hypermedia without additional navigational help [1]. When semantically formalised knowledge structures are being used, content typically becomes more fine grained and the content structure, i.e. the relations between objects gain importance. This stresses the need for user interfaces that facilitate navigating and authoring such structures without loosing orientation. Nowadays’ ontology editors appear to be too complicated for every-day light- weight use. Outside the wiki and semantics world however, exist quite a number ot visual mapping techniques (like Mind-Maps, Concept Maps and others), that provide easy ways to rather intuitively structure fine grained bits of information.

Upload: others

Post on 14-Jun-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

iMapping Wikis—Towards a Graphical Environment

for Semantic Knowledge Management

Heiko Haller, Felix Kugel, Max Volkel

Forschungszentrum Informatik (FZI), University of Karlsruhe, Germany{heiko.haller, max.voelkel, felix.kugel}@fzi.de,

http://www.fzi.de/ipe

Abstract. iMapping is a visual technique for structuring informationobjects. It is based on research in the fields of visual mapping tech-niques, Information Visualisation and cognitive psychology. iMappinguses a Zooming User Interface to facilitate navigation and to help usersmaintain an overview in the knowledge space. An iMap is comparableto a large whiteboard where wiki-pages can be positioned like post-itsbut also nested into each other. Augmenting Wikis by providing spatialbrowsing and zooming facilities makes it easier to structure content inan intuitive way. Especially semantic wikis, which typically contain morefine-grained content, and stress the structure between information items,can benefit from a graphical approach like iMapping, that allows to dis-play multiple such items and multiple wiki-pages in one view. This paperdescribes the iMapping approach in general, and briefly how it will beapplied as a rich client front-end to the SemWiki engine.

1 Introduction

Wikis have proven to be useful devices to easily store and manage structured in-formation, and are also increasingly being used for Personal Knowledge Manage-ment. Semantic technologies however have not found widespread use so far. Usingwikis to also author formal (semantic) knowledge structures seems a promisingapproach. However for these semantic technologies to be widely used, it is crucialthat they are very easy to author and that they do not constrict the user in hiswork. Also hypertext research has shown, that users often get “lost in hyper-space”when browsing complex hypermedia without additional navigational help[1].

When semantically formalised knowledge structures are being used, contenttypically becomes more fine grained and the content structure, i.e. the relationsbetween objects gain importance. This stresses the need for user interfaces thatfacilitate navigating and authoring such structures without loosing orientation.Nowadays’ ontology editors appear to be too complicated for every-day light-weight use. Outside the wiki and semantics world however, exist quite a numberot visual mapping techniques (like Mind-Maps, Concept Maps and others), thatprovide easy ways to rather intuitively structure fine grained bits of information.

Page 2: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

iMapping is a new visual mapping approach based on Zooming User Inter-faces, that tries to combine the strengths of several established mapping tech-niques and go beyond them. It is meant to support easy informal note taking aswell as semi- and fully formalized knowledge engineering in the same powerfulyet easy-to-use environment.

An iMap is like a large pin board, where wiki pages can be spatially arrangedthus enabling users to gain visual overview over several wiki pages at once. Be-sides classical browsing, an iMapping-enabled wiki can be navigated by zoomingthrough. We believe that the iMapping approach may well facilitate the use ofwikis-especially when they go semantic.

2 Background

Since external knowledge repositories like wikis usually represent human knowl-edge and are maintained by humans, it appears sensible to make the UI as cog-nitively adequate as possible, to enhance the link between mental and externalmodels. Unlike text, diagrammatic knowledge representations carry a structuralanalogy to the content they represent. In other words: A diagram’s structurelooks similar to the structure it is about. A map of Europe looks somehowlike Europe from above. A flow-chart depicts the structure of a process. A textdoesn’t—It takes a longer way in the user’s mind until it can be related to theuser’s mental model [2]. Enabling users to spatially arrange information items al-lows the creation of such diagrammatic depictions that give an intuitive overviewover a subject matter. This is the very basis of iMapping.

2.1 Related Work

Microcontent Some Wikis, like e.g. SnipSnap 1, already allow including otherwiki pages in a page so, instead of having to follow a link, the user can see thetarget page inline. This is a first step into the direction of microcontent (”contentthat conveys one primary idea or concept [and] is accessible through a singledefinitive URL” 2), which is useful to avoid redundancies, because most piecesof information are relevant in different contexts. In the same way, pages can benested into other pages in an iMap. This leads to a different conceptualisation ofwhat a wiki page is: many pages will just be little snippets of text, while otherpages will mainly contain such snippets or other resources, thus functioning asaggregators.

Semantic Desktops and Wikis One of the first Semantic Desktop systems,that lets the user freely specify semantic relations between typed informationitems on a topic maps basis, is DeepaMehta [3]. It provides a graph-based UIin a thin client. Once an item (or relation) has been specified (in a topic map),

1 see http://snipsnap.org2 see http://en.wikipedia.org/wiki/Microcontent

Page 3: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

DeepaMehta keeps it in a background repository on the server independent fromwhether they are still part of an actual topic map. This separation between thestructural model and visual model makes sense, also for iMapping, because itallows multiple (visual) instances of an item to be used in different contexts orlocationsmuch like hard links in a Unix file system. Some Semantic Wikis likeSemWiki [4] work in a similar way, but browser based and without a graphicalUI. Others, like SemperWiki [5], are made for local, personal use only and featurean optimized WYSIWYG UI 3.

Visual Mapping Techniques Visual mapping techniques are methods tographically represent knowledge structures. Most of them have been developedas paper-based techniques for brainstorming, learning facilitation, outlining or toelicit knowledge structures. Some of them have proven to be very useful in Per-sonal Knowledge Management, especially for tasks like gathering and structuringideas and acquiring an overview on a certain domain. For an overview on visualmapping techniques, their cognitive psychological background and an evaluationof some existing techniques and tools, see [6]. In brief, all of these mapping tech-niques are quite helpful for some purposes but have constraint paradigms thatmake them useless for others.

Mind-Maps for example, provide an easy-to-understand tree-like structureuseful for outlining a topic or sorting items. But it is suitable to depict therelational structure between items.

Concept Maps on the other hand have a graph-based structure that em-phasizes these relations. But they are not as easy to handle, because explicitlyspecifying all these relations is too laborious e.g. for a fast gathering of keywords.

“Spatial Hypertext” is yet another approach. The basic idea is to view aself-contained hypertext (like a wiki is) from an overview perspective, drillingdown to single pages (which tend towards microcontent). However the SpatialHypertext paradigm expressly abandons the concept of explicitly stating rela-tions between objects and uses spatial positioning as the basic structure. Tofuzzily relate two objects, they are simply placed near to each other, but maybenot quite as near as to a third object. This allows for so-called “constructiveambiguity” [7] and is a very intuitive way to deal with vague relations and or-ders. While Spatial Hypertext in its pure form is not suitable to author formalknowledge structures like needed in semantic wikis, the general approach maywell be used to augment them as a surface.

Zooming User Interfaces An early research prototype using a zooming ap-proach was Pad and its successsor Pad++, both developed in Maryland 4. Ithas been used in various applications and also as a web browser capable of show-ing the viewed web pages and their link-structure from a birds view. In a study

3 For more information on Semantic Desktop systems in general, see http://

semanticdesktop.org4 see http://www.cs.umd.edu/hcil/pad++/

Page 4: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

where participants had to perform browsing tasks in order to answer some ques-tions, subjects using Pad++ were 23% faster than those using Netscape [8]. Thisshows that using large zoomable information surfaces are well-suited hypertextfront-ends. The work on Pad++ has later yielded its successors“Jazz”and finally“Piccolo”, a toolkit that supports the development of 2D structured graphicsprograms, in general, and Zoomable User Interfaces, in particular Piccolo 5.

A Semantic Desktop system whos UI is deeply based on zooming is Men-talSky 6. It uses machine-learning methods to semantically classify existing re-sources into clusters that can be browsed by zooming through and restructuredwith drag-and-drop interaction. MentalSky is currently in a prototype state ofdevelopment. It strongly differs from an iMapping based semantic wiki in therespect, that it is constraint to managing external resources (like files, pictures,web-links, etc.) but is not made for authoring content neither in plain text norin a formal way.

Levels Of

Detail

Hide & Progressive Disclosure

Focus & Context

iMapping Design Principles

Visual Information Seeking Mantra

•overview !rst

• zoom and !lter

•details on demand

7 Tasks of Information Visualisation

details"on"demand

overview

zoom

!lter

relate

history

extract

iMapping

iMappping Related Work

Mapping Techniques

Mind!Maps

Concept Maps

Spatial Hypertext

Knowledge Maps

other methods ...

Literature

Designing the User Interface

The Eyes Have It:

Beyond the Plane

Usability Heuristics

Zoomable User Interfaces

Tools

Using Vision to Think

CS-TR-3665 July 1996ISR-TR-96-66

The Eyes Have It:A Task by Data Type Taxonomyfor Information Visualizations

Ben ShneidermanDepartment of Computer Science

Human-Computer Interaction Laboratory,and Institute for Systems Research

University of Maryland, College Park, Maryland 20742 [email protected], http://www/cs.umd.edu/projects/hcil/

Abstract A useful starting point for designing advanced graphical user interfaces is the Visual Information-Seeking Mantra: Overview first, zoom and filter, then details-on-demand. But this is only a starting pointin trying to understand the rich and varied set of information visualizations that have been proposed inrecent years. This paper offers a task by data type taxonomy with seven data types (1-, 2-, 3-dimensionaldata, temporal and multi-dimensional data, and tree and network data) and seven tasks (overview, zoom,filter, details-on-demand, relate, history, and extract).

!"#$%!&$!"#$%&$'&(%$#%$)$*&)(+,$-)(&.%/01.(2.0*3)(/4(&$'&(/%(/&.$%(5$,+-+*&$%2/**$2&$,(6"(%$7-&+/*)8(&"#+2-77"(*-9+1-&+/*-7(7+*3):(;.$)+5+7-%+&"(&/(3*/<7$,1$(%$#%$)$*&-&+/*)()02.(-)(4%-5$)(-*,)$5-*&+2(*$&)(.-)(7$,(&/(502.($44/%&(+*(0)+*1(."#$%&$'&()")&$5)(4/%3*/<7$,1$(%$#%$)$*&-&+/*(-*,($'&$*,+*1(."#$%&$'&()")&$5)(&/5-3$(&.$5(-67$(&/($'#%$))(5/%$:(;.+)(</%3(.-)(5$&(<+&.(7+5+&$,)022$))(,0$(&/(,+44+207&+$)(+*270,+*1(&.$(&-2+&(-*,()+&0-&$,(*-&0%$(/4502.(3*/<7$,1$:(=*)&$-,(/4(9+$<+*1(3*/<7$,1$($'#%$))+/*(-)(-*-77(-&(/*2$($9$*&8(<$(9+$<(+&(-)(-(2/*)&%02&+9$(#%/2$))8(+:$:3*/<7$,1$(60+7,+*1:(;.$(>+)0-7(?*/<7$,1$(@0+7,$%(A>?@B(7$&)0)$%)($'#%$))(2/*&$*&(9+-(9+)0-7(/%(&$'&0-7(5$-*)(-*,(7-&$%4/%5-7+C$(&.-&(2/*&$*&(+*(&.$(4/%5(/4(-&&%+60&$)8(9-70$)8(&"#$)8(-*,%$7-&+/*):(>?@(#%/-2&+9$7"()0##/%&)(&.+)(#%/2$))(&.%/01.(-()$&(/4)011$)&+/*(-1$*&)(<./)$(+*&$%-2&+/*(<+&.(&.$(0)$%(+)(5$,+-&$,(6"&.$()011$)&+/*(5-*-1$%:(D%$7+5+*-%"($9-70-&+/*(/4(&.$()011$)&+/*5-*-1$%(-*,()011$)&+/*(-1$*&)("+$7,)(#/)+&+9$(%$)07&)(60&(40%&.$%2/*4+%5)(&.-&(&.$%$(+)(*/(E)+79$%(6077$&F(4/%(3*/<7$,1$($*1+*$$%+*1GG()$5-*&+2($'#%$))+/*(+)(5/)&(7+3$7"(&/(.-##$*(,0%+*18(-*,(+),%+9$*(6"8(&-)3(#$%4/%5-*2$:

&'()*+,-)./'01/#234)5(/6).5,-7(+,.!:H:I(J809+,:'(-+0/80(),9'5)./'01/;,).)0('(-+0KL(!"#$%&$'&M!"#$%5$,+-(G(!"#$%&'#&("')*+()'"+%))(')

<)0),'=/$),:.N$)+1*8(!05-*(O-2&/%)

>)?@+,1.)#-&+-7(."#$%&$'&8()011$)&+/*G6-)$,(+*&$%4-2$)8(5+'$,G+*+&+-&+9$,+-7/1)8(9+)0-7(7-*10-1$8()#-&+-7(#-%)$%8(+*2%$5$*&-7(4/%5-7+C-&+/*

AB//CD;E%$EF$/!G6/>GHIJE6<E/

%E;%E#EG$!$8HG!"#$%&$'&(.-)(7/*1(6$$*(%$2/1*+C$,(-)(-(4/%5(/4(3*/<7$,1$%$#%$)$*&-&+/*($5#.-)+C+*1(+*&$%,/205$*&(%$7-&+/*):(=*(-,,+&+/*(&/5/%$(2/55/*(#-1$G)+C$,(*/,$)(4/0*,(+*()")&$5)(7+3$(?PQ(JRK-*,(&.$(S$68(-(*056$%(/4()")&$5)(.-9$(+*270,$,()5-77$%G)+C$,+*4/%5-&+/*(2.0*3)(&/(%$#%$)$*&(4+*$%G1%-+*$,(%$7-&+/*):(T-%7"$'-5#7$)(+*270,$(&.$(%$#%$)$*&-&+/*(/4(Q$-%7$U)(V.+*$)$(W//5-%105$*&( +*(T027+,(JXYK8(;/075+*G)&%02&0%$,(-*-7")$)(+*

Z/&$V-%,)(JR[K8(-*,(=@=QG6-)$,(,$)+1*(%-&+/*-7$(+*(P+3%/#7+)(J\\K

-*,(1=@=Q(JIK:

;.+)(4+%)&(%/0*,(/4(%$#%$)$*&-&+/*-7(."#$%&$'&(.$7#$,(5/&+9-&$(&.$

,$) +1* ( /4 ( - ( *056$% ( /4 ( )") &$5)(<+ &. (5/%$ ( $'#%$)) +9$

%$#%$)$*&-&+/*):(=NT(JRHK($'&$*,$,(Z/&$V-%,)(&/(+*270,$(-

&',-.!&'+#!"/(4/%(,$4+*+*1(&"#$)(&.%/01.(&.$(+*.$%+&-*2$(/4

-&&%+60&$)(-*,(6$.-9+/%(<+&.+*(&.$(2/*&$'&(/4(+*)&%02&+/*-7(,$)+1*:

QDW=Z;(JXK8(<+&.(-*(-+5(&/($*.-*2+*1(60)+*$))(#%-2&+2$8(0)$,

Q5-77;-73(5$&./,)(-&&-2.$,(&/(-(4%-5$G6-)$,(%$#%$)$*&-&+/*(&/

+*&$1%-&$(."#$%5$,+-8()$5-*&+2(*$&</%38(-*,($'#$%&()")&$5

%$#%$)$*&-&+/*):(V/*2/%,$(JRRK()0##/%&$,(3*/<7$,1$($*1+*$$%+*1

&.%/01.(-(%$#%$)$*&-&+/*(+*(<.+2.(%$7-&+/*)(6$&<$$*(*/,$)(2/07,

6$(2/*)&%-+*$,:(?*/<7$,1$()&%02&0%+*1(<-)(&.$(1/-7(/4(]^0-*$&

JR_K8(<.+2.(-77/<$,(0)$%)(&/(,$4+*$(%$#%$)$*&-&+/*-7()2.$5-)(&.-&

+*270,$,(/6`$2&(-*,(%$7-&+/*(&"#$)8(-&&%+60&$)8(-*,(2/*)&%-+*&):(;.$

-6/9$(%$#%$)$*&-&+/*)($5#.-)+C$(&.$($'#%$))+/*(/4(,$27-%-&+9$

3*/<7$,1$:(D.+,+-)(J\XK($56$,,$,(#%/2$,0%-7(3*/<7$,1$(+*(&.$

."#$%&$'&(%$#%$)$*&-&+/*8()02.(-)(+*4$%$*2$)(6-)$,(/*(4/%<-%,G

2.-+*+*18(6"(-77/<+*1(*/,$)(+*(+&)(."#$%6-)$(&/(2/*&-+*(-()&/%$,

^0$%":(]77(/4( &.$)$()")&$5)(67$*,$,(%$#%$)$*&-&+/*)(4%/5

."#$%&$'&(-*,(-%&+4+2+-7(+*&$77+1$*2$:(O0%&.$%(,+)20))+/*)(/4(&.$

,$)+1*(-*,(0)$(/4()02.()")&$5)(-%$(4/0*,(+*(JRaK8(JXRK8(-*,(J\HK:

S/%3(/*(3*/<7$,1$G6-)$,(."#$%&$'&(6$2-5$(7$))(2/55/*(<+&.

&.$($5$%1$*2$(/4(&.$(S$6:(b*$(%$-)/*(+)(&.-&(&.$(S$6U)(#%+5-%"

%$#%$)$*&-&+/*)8($:1:(!;Pc8(,+,(*/&(+*270,$(0)$407(4-2+7+&+$)(4/%

5/%$(4/%5-7(%$#%$)$*&-&+/*:(P/%$(%$2$*&()&-*,-%,)(.-9$(2.-*1$,

&.-&:(=*,$$,8(5-*"(/4(&.$(-6/9$(&.$5$)(-%$(6$+*1(%$9+)+&$,(+*

,+)20))+/*)(/4(&.$(EQ$5-*&+2(S$6:F(dPc(+*270,$)(5-*"(/4(&.$

2.-%-2&$%+)&+2)(/4($-%7+$%($44/%&)(<+&.(%$1-%,)(&/(+*&$1%-&+*1(4%-5$G

6-)$,( %$#%$)$*&- & +/*) ( -*,( ."#$% &$'& : ( c+3$(]^0-*$& U)

%$#%$)$*&-&+/*8(+&(+)(-(5$&-G7-*10-1$(&.-&(2-*(6$(0)$,(&/($*2/,$

)#$2+4+2(3*/<7$,1$(%$#%$)$*&-&+/*(7-*10-1$):(;.$(W$)/0%2$

N$)2%+#&+/*(O%-5$</%3(AWNOB(-*,(N]Pceb=c(4/77/<(&.$

3*/<7$,1$(+*&$%2.-*1$(4/%5-&(A?=OB(-*,(3*/<7$,1$(^0$%"(-*,

5-*+#07-&+/*(7-*10-1$(A?fPcB(-)()&-*,-%,)(4/%().-%+*1(2/55/*

#%/2$,0%-7(%$#%$)$*&-&+/*)(/4(3*/<7$,1$:

;.$)$(-%$(-77(%$#%$)$*&-&+/*)(,$)+1*$,(&/(-+,(+*(&.$(0)$(-*,().-%+*1

/4(3*/<7$,1$(/*2$(+&(+)(%$#%$)$*&$,8(60&(./<(&.$(3*/<7$,1$(+)

E-0&./%$,F(+*(&.$(4+%)&(#7-2$(+)(*/&(2/*)+,$%$,:(b0%(4/20)(+)(/*(./<

&/()0##/%&(&.+)($'#%$))+/*8(<.+2.(<$(2-77(0123.'/4'+5(%./%146(;.+)

+)(-(2/*)&%02&+9$(-2&+9+&"(<.$%$(&.$(-0&./%U)(/<*(3*/<7$,1$(+)

+5#-2&$,(6"(&.$($'#%$))+/*(#%/2$)):(@$)+,$)(#%/9+,+*1(9+)0-78

)#-&+-7(-*,(&$'&0-7(5$-*)(/4(2/550*+2-&+/*8(<$(-%$(60+7,+*1

#%/-2&+9$()0##/%&(4/%(&.+)(#%/2$)):

;.$(*$'&( )$2&+/*(,+)20))$)(,+44+207&+$)(<+&.(3*/<7$,1$

%$#%$)$*&-&+/*(-*,(+5#7+2-&+/*)(4/%(,$9$7/#+*1(&//7)(&/(.$7#

!"#$%&'()*+$,,"%-

.%/01"23"*45'12'%3*'%*!,$&'$1*+6,"7&"8&

!"#$%&'()*+#$,&-.&/)0(#12&/33"1,&4"115#+&/#233",&6#371)&68)1(,&9#:(;&<%%#*1==)>1*#"5+1$5&3?&@3+*;51"&'0)1$01&#$=&@1$51"&?3"&5(1&'5;=A&3?&>):)5#2&B)C"#")18

D1E#8&<F/&G$)H1"8)5A

@3221:1&'5#5)3$,&DI&JJKLMNMOOP&G'<

QO&RJR&KSP&MPOS

8()*+#$T08.5#+;.1=;

D$%5+))+/*(&/(5-3$(,+1+&-7(/%(.-%,(2/#+$)(/4(-77(/%(#-%&(/4(&.+)(</%3(4/%

#$%)/*-7(/%(27-))%//5(0)$(+)(1%-*&$,(<+&./0&(4$$(#%/9+,$,(&.-&(2/#+$)(-%$

*/&(5-,$(/%(,+)&%+60&$,(4/%(#%/4+&(/%(2/55$%2+-7(-,9-*&-1$(-*,(&.-&(2/#+$)

6$-%(&.+)(*/&+2$(-*,(&.$(4077(2+&-&+/*(/*(&.$(4+%)&(#-1$:(;/(2/#"(/&.$%<+)$8(/%

%$#067+).8(&/(#/)&(/*()$%9$%)(/%(&/(%$,+)&%+60&$(&/(7+)&)8(%$^0+%$)(#%+/%

)#$2+4+2(#$%5+))+/*(-*,M/%(-(4$$:(

789:;8(g0*$(RRGRH8(\hh\8(V/77$1$(D-%38(P-%"7-*,8(iQ]:(

V/#"%+1.&(\hh\(]VP(RGH[RRXGIYYGhMh\Mhhha:::jH:hh:(

25

!"#$%!&$!"#$%&$'&(%$#%$)$*&)(+,$-)(&.%/01.(2.0*3)(/4(&$'&(/%(/&.$%(5$,+-+*&$%2/**$2&$,(6"(%$7-&+/*)8(&"#+2-77"(*-9+1-&+/*-7(7+*3):(;.$)+5+7-%+&"(&/(3*/<7$,1$(%$#%$)$*&-&+/*)()02.(-)(4%-5$)(-*,)$5-*&+2(*$&)(.-)(7$,(&/(502.($44/%&(+*(0)+*1(."#$%&$'&()")&$5)(4/%3*/<7$,1$(%$#%$)$*&-&+/*(-*,($'&$*,+*1(."#$%&$'&()")&$5)(&/5-3$(&.$5(-67$(&/($'#%$))(5/%$:(;.+)(</%3(.-)(5$&(<+&.(7+5+&$,)022$))(,0$(&/(,+44+207&+$)(+*270,+*1(&.$(&-2+&(-*,()+&0-&$,(*-&0%$(/4502.(3*/<7$,1$:(=*)&$-,(/4(9+$<+*1(3*/<7$,1$($'#%$))+/*(-)(-*-77(-&(/*2$($9$*&8(<$(9+$<(+&(-)(-(2/*)&%02&+9$(#%/2$))8(+:$:3*/<7$,1$(60+7,+*1:(;.$(>+)0-7(?*/<7$,1$(@0+7,$%(A>?@B(7$&)0)$%)($'#%$))(2/*&$*&(9+-(9+)0-7(/%(&$'&0-7(5$-*)(-*,(7-&$%4/%5-7+C$(&.-&(2/*&$*&(+*(&.$(4/%5(/4(-&&%+60&$)8(9-70$)8(&"#$)8(-*,%$7-&+/*):(>?@(#%/-2&+9$7"()0##/%&)(&.+)(#%/2$))(&.%/01.(-()$&(/4)011$)&+/*(-1$*&)(<./)$(+*&$%-2&+/*(<+&.(&.$(0)$%(+)(5$,+-&$,(6"&.$()011$)&+/*(5-*-1$%:(D%$7+5+*-%"($9-70-&+/*(/4(&.$()011$)&+/*5-*-1$%(-*,()011$)&+/*(-1$*&)("+$7,)(#/)+&+9$(%$)07&)(60&(40%&.$%2/*4+%5)(&.-&(&.$%$(+)(*/(E)+79$%(6077$&F(4/%(3*/<7$,1$($*1+*$$%+*1GG()$5-*&+2($'#%$))+/*(+)(5/)&(7+3$7"(&/(.-##$*(,0%+*18(-*,(+),%+9$*(6"8(&-)3(#$%4/%5-*2$:

&'()*+,-)./'01/#234)5(/6).5,-7(+,.!:H:I(J809+,:'(-+0/80(),9'5)./'01/;,).)0('(-+0KL(!"#$%&$'&M!"#$%5$,+-(G(!"#$%&'#&("')*+()'"+%))(')

<)0),'=/$),:.N$)+1*8(!05-*(O-2&/%)

>)?@+,1.)#-&+-7(."#$%&$'&8()011$)&+/*G6-)$,(+*&$%4-2$)8(5+'$,G+*+&+-&+9$,+-7/1)8(9+)0-7(7-*10-1$8()#-&+-7(#-%)$%8(+*2%$5$*&-7(4/%5-7+C-&+/*

AB//CD;E%$EF$/!G6/>GHIJE6<E/

%E;%E#EG$!$8HG!"#$%&$'&(.-)(7/*1(6$$*(%$2/1*+C$,(-)(-(4/%5(/4(3*/<7$,1$%$#%$)$*&-&+/*($5#.-)+C+*1(+*&$%,/205$*&(%$7-&+/*):(=*(-,,+&+/*(&/5/%$(2/55/*(#-1$G)+C$,(*/,$)(4/0*,(+*()")&$5)(7+3$(?PQ(JRK-*,(&.$(S$68(-(*056$%(/4()")&$5)(.-9$(+*270,$,()5-77$%G)+C$,+*4/%5-&+/*(2.0*3)(&/(%$#%$)$*&(4+*$%G1%-+*$,(%$7-&+/*):(T-%7"$'-5#7$)(+*270,$(&.$(%$#%$)$*&-&+/*(/4(Q$-%7$U)(V.+*$)$(W//5-%105$*&( +*(T027+,(JXYK8(;/075+*G)&%02&0%$,(-*-7")$)(+*

Z/&$V-%,)(JR[K8(-*,(=@=QG6-)$,(,$)+1*(%-&+/*-7$(+*(P+3%/#7+)(J\\K

-*,(1=@=Q(JIK:

;.+)(4+%)&(%/0*,(/4(%$#%$)$*&-&+/*-7(."#$%&$'&(.$7#$,(5/&+9-&$(&.$

,$) +1* ( /4 ( - ( *056$% ( /4 ( )") &$5)(<+ &. (5/%$ ( $'#%$)) +9$

%$#%$)$*&-&+/*):(=NT(JRHK($'&$*,$,(Z/&$V-%,)(&/(+*270,$(-

&',-.!&'+#!"/(4/%(,$4+*+*1(&"#$)(&.%/01.(&.$(+*.$%+&-*2$(/4

-&&%+60&$)(-*,(6$.-9+/%(<+&.+*(&.$(2/*&$'&(/4(+*)&%02&+/*-7(,$)+1*:

QDW=Z;(JXK8(<+&.(-*(-+5(&/($*.-*2+*1(60)+*$))(#%-2&+2$8(0)$,

Q5-77;-73(5$&./,)(-&&-2.$,(&/(-(4%-5$G6-)$,(%$#%$)$*&-&+/*(&/

+*&$1%-&$(."#$%5$,+-8()$5-*&+2(*$&</%38(-*,($'#$%&()")&$5

%$#%$)$*&-&+/*):(V/*2/%,$(JRRK()0##/%&$,(3*/<7$,1$($*1+*$$%+*1

&.%/01.(-(%$#%$)$*&-&+/*(+*(<.+2.(%$7-&+/*)(6$&<$$*(*/,$)(2/07,

6$(2/*)&%-+*$,:(?*/<7$,1$()&%02&0%+*1(<-)(&.$(1/-7(/4(]^0-*$&

JR_K8(<.+2.(-77/<$,(0)$%)(&/(,$4+*$(%$#%$)$*&-&+/*-7()2.$5-)(&.-&

+*270,$,(/6`$2&(-*,(%$7-&+/*(&"#$)8(-&&%+60&$)8(-*,(2/*)&%-+*&):(;.$

-6/9$(%$#%$)$*&-&+/*)($5#.-)+C$(&.$($'#%$))+/*(/4(,$27-%-&+9$

3*/<7$,1$:(D.+,+-)(J\XK($56$,,$,(#%/2$,0%-7(3*/<7$,1$(+*(&.$

."#$%&$'&(%$#%$)$*&-&+/*8()02.(-)(+*4$%$*2$)(6-)$,(/*(4/%<-%,G

2.-+*+*18(6"(-77/<+*1(*/,$)(+*(+&)(."#$%6-)$(&/(2/*&-+*(-()&/%$,

^0$%":(]77(/4( &.$)$()")&$5)(67$*,$,(%$#%$)$*&-&+/*)(4%/5

."#$%&$'&(-*,(-%&+4+2+-7(+*&$77+1$*2$:(O0%&.$%(,+)20))+/*)(/4(&.$

,$)+1*(-*,(0)$(/4()02.()")&$5)(-%$(4/0*,(+*(JRaK8(JXRK8(-*,(J\HK:

S/%3(/*(3*/<7$,1$G6-)$,(."#$%&$'&(6$2-5$(7$))(2/55/*(<+&.

&.$($5$%1$*2$(/4(&.$(S$6:(b*$(%$-)/*(+)(&.-&(&.$(S$6U)(#%+5-%"

%$#%$)$*&-&+/*)8($:1:(!;Pc8(,+,(*/&(+*270,$(0)$407(4-2+7+&+$)(4/%

5/%$(4/%5-7(%$#%$)$*&-&+/*:(P/%$(%$2$*&()&-*,-%,)(.-9$(2.-*1$,

&.-&:(=*,$$,8(5-*"(/4(&.$(-6/9$(&.$5$)(-%$(6$+*1(%$9+)+&$,(+*

,+)20))+/*)(/4(&.$(EQ$5-*&+2(S$6:F(dPc(+*270,$)(5-*"(/4(&.$

2.-%-2&$%+)&+2)(/4($-%7+$%($44/%&)(<+&.(%$1-%,)(&/(+*&$1%-&+*1(4%-5$G

6-)$,( %$#%$)$*&- & +/*) ( -*,( ."#$% &$'& : ( c+3$(]^0-*$& U)

%$#%$)$*&-&+/*8(+&(+)(-(5$&-G7-*10-1$(&.-&(2-*(6$(0)$,(&/($*2/,$

)#$2+4+2(3*/<7$,1$(%$#%$)$*&-&+/*(7-*10-1$):(;.$(W$)/0%2$

N$)2%+#&+/*(O%-5$</%3(AWNOB(-*,(N]Pceb=c(4/77/<(&.$

3*/<7$,1$(+*&$%2.-*1$(4/%5-&(A?=OB(-*,(3*/<7$,1$(^0$%"(-*,

5-*+#07-&+/*(7-*10-1$(A?fPcB(-)()&-*,-%,)(4/%().-%+*1(2/55/*

#%/2$,0%-7(%$#%$)$*&-&+/*)(/4(3*/<7$,1$:

;.$)$(-%$(-77(%$#%$)$*&-&+/*)(,$)+1*$,(&/(-+,(+*(&.$(0)$(-*,().-%+*1

/4(3*/<7$,1$(/*2$(+&(+)(%$#%$)$*&$,8(60&(./<(&.$(3*/<7$,1$(+)

E-0&./%$,F(+*(&.$(4+%)&(#7-2$(+)(*/&(2/*)+,$%$,:(b0%(4/20)(+)(/*(./<

&/()0##/%&(&.+)($'#%$))+/*8(<.+2.(<$(2-77(0123.'/4'+5(%./%146(;.+)

+)(-(2/*)&%02&+9$(-2&+9+&"(<.$%$(&.$(-0&./%U)(/<*(3*/<7$,1$(+)

+5#-2&$,(6"(&.$($'#%$))+/*(#%/2$)):(@$)+,$)(#%/9+,+*1(9+)0-78

)#-&+-7(-*,(&$'&0-7(5$-*)(/4(2/550*+2-&+/*8(<$(-%$(60+7,+*1

#%/-2&+9$()0##/%&(4/%(&.+)(#%/2$)):

;.$(*$'&( )$2&+/*(,+)20))$)(,+44+207&+$)(<+&.(3*/<7$,1$

%$#%$)$*&-&+/*(-*,(+5#7+2-&+/*)(4/%(,$9$7/#+*1(&//7)(&/(.$7#

!"#$%&'()*+$,,"%-

.%/01"23"*45'12'%3*'%*!,$&'$1*+6,"7&"8&

!"#$%&'()*+#$,&-.&/)0(#12&/33"1,&4"115#+&/#233",&6#371)&68)1(,&9#:(;&<%%#*1==)>1*#"5+1$5&3?&@3+*;51"&'0)1$01&#$=&@1$51"&?3"&5(1&'5;=A&3?&>):)5#2&B)C"#")18

D1E#8&<F/&G$)H1"8)5A

@3221:1&'5#5)3$,&DI&JJKLMNMOOP&G'<

QO&RJR&KSP&MPOS

8()*+#$T08.5#+;.1=;

D$%5+))+/*(&/(5-3$(,+1+&-7(/%(.-%,(2/#+$)(/4(-77(/%(#-%&(/4(&.+)(</%3(4/%

#$%)/*-7(/%(27-))%//5(0)$(+)(1%-*&$,(<+&./0&(4$$(#%/9+,$,(&.-&(2/#+$)(-%$

*/&(5-,$(/%(,+)&%+60&$,(4/%(#%/4+&(/%(2/55$%2+-7(-,9-*&-1$(-*,(&.-&(2/#+$)

6$-%(&.+)(*/&+2$(-*,(&.$(4077(2+&-&+/*(/*(&.$(4+%)&(#-1$:(;/(2/#"(/&.$%<+)$8(/%

%$#067+).8(&/(#/)&(/*()$%9$%)(/%(&/(%$,+)&%+60&$(&/(7+)&)8(%$^0+%$)(#%+/%

)#$2+4+2(#$%5+))+/*(-*,M/%(-(4$$:(

789:;8(g0*$(RRGRH8(\hh\8(V/77$1$(D-%38(P-%"7-*,8(iQ]:(

V/#"%+1.&(\hh\(]VP(RGH[RRXGIYYGhMh\Mhhha:::jH:hh:(

25

Toolkit Design forInteractive Structured Graphics

Benjamin B. Bederson, Jesse Grosjean, and Jon Meyer

Abstract—In this paper, we analyze toolkit designs for building graphical applications with rich user interfaces, comparing polylithic

and monolithic toolkit-based solutions. Polylithic toolkits encourage extension by composition and follow a design philosophy similar to

3D scene graphs supported by toolkits including Java3D and OpenInventor. Monolithic toolkits, on the other hand, encourageextension by inheritance, and are more akin to 2D Graphical User Interface toolkits such as Swing or MFC. We describe Jazz (a

polylithic toolkit) and Piccolo (a monolithic toolkit), each of which we built to support interactive 2D structured graphics applications ingeneral, and Zoomable User Interface applications in particular. We examine the trade offs of each approach in terms of performance,

memory requirements, and programmability. We conclude that a polylithic approach is most suitable for toolkit builders, visual designsoftware where code is automatically generated, and application builders where there is much customization of the toolkit.

Correspondingly, we find that monolithic approaches appear to be best for application builders where there is not much customizationof the toolkit.

Index Terms—Monolithic toolkits, polylithic toolkits, object-oriented design, composition, inheritance, Zoomable User Interfaces(ZUIs), animation, structured graphics, Graphical User Interfaces (GUIs), Pad++, Jazz, Piccolo.

!

1 INTRODUCTION

APPLICATION developers rely on User Interface (UI)toolkits such as Microsoft’s MFC and .NET Windows

Forms, and Sun’s Swing and AWT to create visual userinterfaces. However, while these toolkits are effective fortraditional widget-based applications, they fall short whenthe developer needs to build a new kind of user interfacecomponent-one that is not bundled with the toolkit. Thesecomponents might be simple widgets, such as a range slideror more complex objects, including interactive graphs andcharts, sophisticated data displays, timeline editors, zoom-able user interfaces, or fisheye visualizations.

Developing application-specific components usuallyrequires significant quantities of custom code to manage arange of features, many of which are similar from onecomponent to the next. These include managing whichareas of the window need repainting (called region manage-ment), repainting those regions efficiently, sending events tothe internal object that is under the mouse pointer,managing multiple views, and integrating with the under-lying windowing system.

Writing this code is cumbersome, yet most standard 2DUI toolkits provide only rudimentary support for creatingcustom components—typically, just a set of methods fordrawing 2D shapes and methods for listening to low-levelevents.

Some toolkits such as Tcl/Tk [19] include a “structuredcanvas” component, which supports basic structured

graphics. These canvases typically contain a collection ofgraphical 2D objects, including shapes, text, and images.These components could in principal be used to createapplication-specific components. However, structured can-vases are designed primarily to display graphical data, notto support new kinds of interaction components. Thus, forexample, they usually do not allow the application toextend the set of objects that can be placed within thecanvas. We have found that many developers bypass thesestructured canvas components and follow a “roll-your-own” design philosophy, rewriting large quantities of codeand increasing engineering overhead, particularly in termsof reliability and programmability. There are also commer-cial toolkits available such as Flash [6] and Adobe SVGViewer [2]. But, these approaches are often difficult toextend and integrate into an application.

We believe future user interface toolkits must addressthese problems by providing higher-level libraries forsupporting custom interface components. However, thereis still an open question regarding which design philosophyto adopt for these higher-level toolkits. The core issue weaddress here is whether toolkits should be designed so thatthe inevitable complexity and extension of the componentsare supported primarily through composition (which wecall polylithic) or inheritance (which we call monolithic).

In this paper, we consider these two design approachesfor interactive structured graphics toolkits through twotoolkits we built: Jazz,1 a polylithic toolkit; and Piccolo,2 a

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 30, NO. 8, AUGUST 2004 1

. The authors are with the Human-Computer Interaction Laboratory,Institute for Advanced Computer Studies, Computer Science Department,University of Maryland, College Park, MD 20742.E-mail: {bederson, jesse, meyer}@cs.umd.edu.

Manuscript received 16 Sept. 2003; accepted 16 Mar. 2004.Recommended for acceptance by D. Weiss.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TSE-0145-0903.

1. The name Jazz is not an acronym, but rather is motivated by themusic-related naming conventions that the Java Swing toolkit started. Inaddition, the letter “J” signifies the Java connection, and the letter “Z”signifies the zooming connection. Jazz is open source software according tothe Mozilla Public License, and is available at: http://www.cs.umd.edu/hcil/jazz.

2. The name Piccolo is motivated by the music connection of Jazz andSwing, and because it is so small (approximately one tenth the size of Jazz).Piccolo is open source software according to the Mozilla Public License, andis available at: http://www.cs.umd.edu/hcil/piccolo.

0098-5589/04/$20.00 ! 2004 IEEE Published by the IEEE Computer Society

Mouse

House

Dog

Cat

DaddyMum

Charly

Farm

Farmer

Bulldozer

Horse

Spider

Pig

Office

Computer

Printer

Papers

Boss

Buildings

Stable

search-filter Type: Animal

Mouse

Dog

Cat

Horse

Spider

iMapping Search

iMapping Examples

superordinate Node

new Text...

when [enter] is pressed while editing a node,

editing is anded and a Textcursor is set to the

position below the node - where a new paragraph

would start.

entering text

Fig. 1. An example iMap showing three expanded text pages and several sub-mapswith collapsed items.

5 see http://www.cs.umd.edu/hcil/piccolo/6 see http://mentalsky.net/ and http://cognitivetools.net/tiki-index.php?

page=MentalSky

Page 5: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

3 Design

iMapping tries to combine the advantages of all the above approaches:

– basic wiki functionality (collaborative editing, easy linking, backlinks etc.)– visual knowledge representations with structural analogy to content– easy hierarchical overall topology– facility for graph-based relation mapping– support for formal semantic statements– allowing constructive ambiguity– provide overview by integrating context and detail through zooming

Basic Hierarchy The basis of the iMapping paradigm is a large two-dimen-sional surface, where items can be freely placed. In a wiki context, these itemsmainly correspond to wiki pages. Because these items can contain other items, itis encouraged to use microcontent rather than long unstructured texts. Whereasin Mind-Maps or other tree-like diagrams the lower hierarchies branch towardsthe outside from a central point, in an iMap hierarchy goes down into deeplynested nodes that can be zoomed into (see Figure 1). Like explained above, therecan be multiple visual instances of one and the same information object, becauseit may be relevant in different contexts.

Other Content Instead of a wiki (text-) page, a node could also contain thingslike a picture or other structured objects. It can basically be seen as an inlinelink to any resource for which a display method is known. Even inter-wiki orother remote content could be included inline like that.

Levels of Detail Because some information objects (like most text-pages) arerather hard to recognise when they are scaled down to thumbnail size, the nodesshould have at least two possible states: open and closed, which could also be seenas expanded / collapsed or being outside / inside the node. Switching betweenthese states is done either manually per click or can take place automatically,depending on how large the object is displayed. This method is also sometimesreferred to as “semantic zooming”. A wiki page could be represented by its namein collapsed state and with its content in expanded mode. A more structuredarticle could show his title only from a distance, when zoomed larger also someadditional information like authors and date and when zoomed to reasonablesize, fade over to the full content. Structuring content in the ABCDE format7,facilitates such semantic zooming.

7 see http://wiki.ontoworld.org/wiki/ABCDEF

Page 6: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

Link Structure On the one hand, giving an overview to the structure andrelations between information items is one of the main benefits of the iMappingapproach. On the other hand, just drawing arrows for every link or even everysemantic relation and backlinks to any other item would result in a completemess sometimes referred to as the “spaghetti syndrome”. The idea in iMappingis, to not show any relations by default, and only make them visible on demand(see Figure 2). This could be a subtle interaction like mouse-over or somethingmore explicitdepending on user settings or a mode.

Not only naming or even typing links but graphically drawing them betweenobjects in a concept map (node-and-link) style would go even further beyondcommon wiki functionality. However it is a common and well-evaluated techniquethat is useful for depicting and authoring relations between information items.Such links have of course to stay permanently visible. In the same way, it ispossible to semantically interrelate items by simply drawing links between them,which can than be typed. If this is done using auto-completion, reuse of existingrelation types is fostered.

Levels Of

Detail

Hide & Progressive Disclosure

Focus & Context

iMapping Design Principles

Visual Information Seeking Mantra

•overview !rst

• zoom and !lter

•details on demand

7 Tasks of Information Visualisation

details"on"demand

overview

zoom

!lter

relate

history

extract

iMapping

iMappping Related Work

Mapping Techniques

Mind!Maps

Concept Maps

Spatial Hypertext

Knowledge Maps

other methods ...

Literature

Designing the User Interface

The Eyes Have It:

Beyond the Plane

Usability Heuristics

Zoomable User Interfaces

Tools

Using Vision to Think

CS-TR-3665 July 1996ISR-TR-96-66

The Eyes Have It:A Task by Data Type Taxonomy

for Information Visualizations

Ben ShneidermanDepartment of Computer Science

Human-Computer Interaction Laboratory,and Institute for Systems Research

University of Maryland, College Park, Maryland 20742 [email protected], http://www/cs.umd.edu/projects/hcil/

Abstract A useful starting point for designing advanced graphical user interfaces is the Visual Information-Seeking Mantra: Overview first, zoom and filter, then details-on-demand. But this is only a starting pointin trying to understand the rich and varied set of information visualizations that have been proposed inrecent years. This paper offers a task by data type taxonomy with seven data types (1-, 2-, 3-dimensionaldata, temporal and multi-dimensional data, and tree and network data) and seven tasks (overview, zoom,filter, details-on-demand, relate, history, and extract).

!"#$%!&$!"#$%&$'&(%$#%$)$*&)(+,$-)(&.%/01.(2.0*3)(/4(&$'&(/%(/&.$%(5$,+-+*&$%2/**$2&$,(6"(%$7-&+/*)8(&"#+2-77"(*-9+1-&+/*-7(7+*3):(;.$)+5+7-%+&"(&/(3*/<7$,1$(%$#%$)$*&-&+/*)()02.(-)(4%-5$)(-*,)$5-*&+2(*$&)(.-)(7$,(&/(502.($44/%&(+*(0)+*1(."#$%&$'&()")&$5)(4/%3*/<7$,1$(%$#%$)$*&-&+/*(-*,($'&$*,+*1(."#$%&$'&()")&$5)(&/5-3$(&.$5(-67$(&/($'#%$))(5/%$:(;.+)(</%3(.-)(5$&(<+&.(7+5+&$,)022$))(,0$(&/(,+44+207&+$)(+*270,+*1(&.$(&-2+&(-*,()+&0-&$,(*-&0%$(/4502.(3*/<7$,1$:(=*)&$-,(/4(9+$<+*1(3*/<7$,1$($'#%$))+/*(-)(-*-77(-&(/*2$($9$*&8(<$(9+$<(+&(-)(-(2/*)&%02&+9$(#%/2$))8(+:$:3*/<7$,1$(60+7,+*1:(;.$(>+)0-7(?*/<7$,1$(@0+7,$%(A>?@B(7$&)0)$%)($'#%$))(2/*&$*&(9+-(9+)0-7(/%(&$'&0-7(5$-*)(-*,(7-&$%4/%5-7+C$(&.-&(2/*&$*&(+*(&.$(4/%5(/4(-&&%+60&$)8(9-70$)8(&"#$)8(-*,%$7-&+/*):(>?@(#%/-2&+9$7"()0##/%&)(&.+)(#%/2$))(&.%/01.(-()$&(/4)011$)&+/*(-1$*&)(<./)$(+*&$%-2&+/*(<+&.(&.$(0)$%(+)(5$,+-&$,(6"&.$()011$)&+/*(5-*-1$%:(D%$7+5+*-%"($9-70-&+/*(/4(&.$()011$)&+/*5-*-1$%(-*,()011$)&+/*(-1$*&)("+$7,)(#/)+&+9$(%$)07&)(60&(40%&.$%2/*4+%5)(&.-&(&.$%$(+)(*/(E)+79$%(6077$&F(4/%(3*/<7$,1$($*1+*$$%+*1GG()$5-*&+2($'#%$))+/*(+)(5/)&(7+3$7"(&/(.-##$*(,0%+*18(-*,(+),%+9$*(6"8(&-)3(#$%4/%5-*2$:

&'()*+,-)./'01/#234)5(/6).5,-7(+,.!:H:I(J809+,:'(-+0/80(),9'5)./'01/;,).)0('(-+0KL(!"#$%&$'&M!"#$%5$,+-(G(!"#$%&'#&("')*+()'"+%))(')

<)0),'=/$),:.N$)+1*8(!05-*(O-2&/%)

>)?@+,1.)#-&+-7(."#$%&$'&8()011$)&+/*G6-)$,(+*&$%4-2$)8(5+'$,G+*+&+-&+9$,+-7/1)8(9+)0-7(7-*10-1$8()#-&+-7(#-%)$%8(+*2%$5$*&-7(4/%5-7+C-&+/*

AB//CD;E%$EF$/!G6/>GHIJE6<E/

%E;%E#EG$!$8HG!"#$%&$'&(.-)(7/*1(6$$*(%$2/1*+C$,(-)(-(4/%5(/4(3*/<7$,1$%$#%$)$*&-&+/*($5#.-)+C+*1(+*&$%,/205$*&(%$7-&+/*):(=*(-,,+&+/*(&/5/%$(2/55/*(#-1$G)+C$,(*/,$)(4/0*,(+*()")&$5)(7+3$(?PQ(JRK-*,(&.$(S$68(-(*056$%(/4()")&$5)(.-9$(+*270,$,()5-77$%G)+C$,+*4/%5-&+/*(2.0*3)(&/(%$#%$)$*&(4+*$%G1%-+*$,(%$7-&+/*):(T-%7"$'-5#7$)(+*270,$(&.$(%$#%$)$*&-&+/*(/4(Q$-%7$U)(V.+*$)$(W//5-%105$*&( +*(T027+,(JXYK8(;/075+*G)&%02&0%$,(-*-7")$)(+*

Z/&$V-%,)(JR[K8(-*,(=@=QG6-)$,(,$)+1*(%-&+/*-7$(+*(P+3%/#7+)(J\\K

-*,(1=@=Q(JIK:

;.+)(4+%)&(%/0*,(/4(%$#%$)$*&-&+/*-7(."#$%&$'&(.$7#$,(5/&+9-&$(&.$

,$) +1* ( /4 ( - ( *056$% ( /4 ( )") &$5)(<+ &. (5/%$ ( $'#%$)) +9$

%$#%$)$*&-&+/*):(=NT(JRHK($'&$*,$,(Z/&$V-%,)(&/(+*270,$(-

&',-.!&'+#!"/(4/%(,$4+*+*1(&"#$)(&.%/01.(&.$(+*.$%+&-*2$(/4

-&&%+60&$)(-*,(6$.-9+/%(<+&.+*(&.$(2/*&$'&(/4(+*)&%02&+/*-7(,$)+1*:

QDW=Z;(JXK8(<+&.(-*(-+5(&/($*.-*2+*1(60)+*$))(#%-2&+2$8(0)$,

Q5-77;-73(5$&./,)(-&&-2.$,(&/(-(4%-5$G6-)$,(%$#%$)$*&-&+/*(&/

+*&$1%-&$(."#$%5$,+-8()$5-*&+2(*$&</%38(-*,($'#$%&()")&$5

%$#%$)$*&-&+/*):(V/*2/%,$(JRRK()0##/%&$,(3*/<7$,1$($*1+*$$%+*1

&.%/01.(-(%$#%$)$*&-&+/*(+*(<.+2.(%$7-&+/*)(6$&<$$*(*/,$)(2/07,

6$(2/*)&%-+*$,:(?*/<7$,1$()&%02&0%+*1(<-)(&.$(1/-7(/4(]^0-*$&

JR_K8(<.+2.(-77/<$,(0)$%)(&/(,$4+*$(%$#%$)$*&-&+/*-7()2.$5-)(&.-&

+*270,$,(/6`$2&(-*,(%$7-&+/*(&"#$)8(-&&%+60&$)8(-*,(2/*)&%-+*&):(;.$

-6/9$(%$#%$)$*&-&+/*)($5#.-)+C$(&.$($'#%$))+/*(/4(,$27-%-&+9$

3*/<7$,1$:(D.+,+-)(J\XK($56$,,$,(#%/2$,0%-7(3*/<7$,1$(+*(&.$

."#$%&$'&(%$#%$)$*&-&+/*8()02.(-)(+*4$%$*2$)(6-)$,(/*(4/%<-%,G

2.-+*+*18(6"(-77/<+*1(*/,$)(+*(+&)(."#$%6-)$(&/(2/*&-+*(-()&/%$,

^0$%":(]77(/4( &.$)$()")&$5)(67$*,$,(%$#%$)$*&-&+/*)(4%/5

."#$%&$'&(-*,(-%&+4+2+-7(+*&$77+1$*2$:(O0%&.$%(,+)20))+/*)(/4(&.$

,$)+1*(-*,(0)$(/4()02.()")&$5)(-%$(4/0*,(+*(JRaK8(JXRK8(-*,(J\HK:

S/%3(/*(3*/<7$,1$G6-)$,(."#$%&$'&(6$2-5$(7$))(2/55/*(<+&.

&.$($5$%1$*2$(/4(&.$(S$6:(b*$(%$-)/*(+)(&.-&(&.$(S$6U)(#%+5-%"

%$#%$)$*&-&+/*)8($:1:(!;Pc8(,+,(*/&(+*270,$(0)$407(4-2+7+&+$)(4/%

5/%$(4/%5-7(%$#%$)$*&-&+/*:(P/%$(%$2$*&()&-*,-%,)(.-9$(2.-*1$,

&.-&:(=*,$$,8(5-*"(/4(&.$(-6/9$(&.$5$)(-%$(6$+*1(%$9+)+&$,(+*

,+)20))+/*)(/4(&.$(EQ$5-*&+2(S$6:F(dPc(+*270,$)(5-*"(/4(&.$

2.-%-2&$%+)&+2)(/4($-%7+$%($44/%&)(<+&.(%$1-%,)(&/(+*&$1%-&+*1(4%-5$G

6-)$,( %$#%$)$*&- & +/*) ( -*,( ."#$% &$'& : ( c+3$(]^0-*$& U)

%$#%$)$*&-&+/*8(+&(+)(-(5$&-G7-*10-1$(&.-&(2-*(6$(0)$,(&/($*2/,$

)#$2+4+2(3*/<7$,1$(%$#%$)$*&-&+/*(7-*10-1$):(;.$(W$)/0%2$

N$)2%+#&+/*(O%-5$</%3(AWNOB(-*,(N]Pceb=c(4/77/<(&.$

3*/<7$,1$(+*&$%2.-*1$(4/%5-&(A?=OB(-*,(3*/<7$,1$(^0$%"(-*,

5-*+#07-&+/*(7-*10-1$(A?fPcB(-)()&-*,-%,)(4/%().-%+*1(2/55/*

#%/2$,0%-7(%$#%$)$*&-&+/*)(/4(3*/<7$,1$:

;.$)$(-%$(-77(%$#%$)$*&-&+/*)(,$)+1*$,(&/(-+,(+*(&.$(0)$(-*,().-%+*1

/4(3*/<7$,1$(/*2$(+&(+)(%$#%$)$*&$,8(60&(./<(&.$(3*/<7$,1$(+)

E-0&./%$,F(+*(&.$(4+%)&(#7-2$(+)(*/&(2/*)+,$%$,:(b0%(4/20)(+)(/*(./<

&/()0##/%&(&.+)($'#%$))+/*8(<.+2.(<$(2-77(0123.'/4'+5(%./%146(;.+)

+)(-(2/*)&%02&+9$(-2&+9+&"(<.$%$(&.$(-0&./%U)(/<*(3*/<7$,1$(+)

+5#-2&$,(6"(&.$($'#%$))+/*(#%/2$)):(@$)+,$)(#%/9+,+*1(9+)0-78

)#-&+-7(-*,(&$'&0-7(5$-*)(/4(2/550*+2-&+/*8(<$(-%$(60+7,+*1

#%/-2&+9$()0##/%&(4/%(&.+)(#%/2$)):

;.$(*$'&( )$2&+/*(,+)20))$)(,+44+207&+$)(<+&.(3*/<7$,1$

%$#%$)$*&-&+/*(-*,(+5#7+2-&+/*)(4/%(,$9$7/#+*1(&//7)(&/(.$7#

!"#$%&'()*+$,,"%-

.%/01"23"*45'12'%3*'%*!,$&'$1*+6,"7&"8&

!"#$%&'()*+#$,&-.&/)0(#12&/33"1,&4"115#+&/#233",&6#371)&68)1(,&9#:(;&<%%#*1==)>1*#"5+1$5&3?&@3+*;51"&'0)1$01&#$=&@1$51"&?3"&5(1&'5;=A&3?&>):)5#2&B)C"#")18

D1E#8&<F/&G$)H1"8)5A

@3221:1&'5#5)3$,&DI&JJKLMNMOOP&G'<

QO&RJR&KSP&MPOS

8()*+#$T08.5#+;.1=;

D$%5+))+/*(&/(5-3$(,+1+&-7(/%(.-%,(2/#+$)(/4(-77(/%(#-%&(/4(&.+)(</%3(4/%

#$%)/*-7(/%(27-))%//5(0)$(+)(1%-*&$,(<+&./0&(4$$(#%/9+,$,(&.-&(2/#+$)(-%$

*/&(5-,$(/%(,+)&%+60&$,(4/%(#%/4+&(/%(2/55$%2+-7(-,9-*&-1$(-*,(&.-&(2/#+$)

6$-%(&.+)(*/&+2$(-*,(&.$(4077(2+&-&+/*(/*(&.$(4+%)&(#-1$:(;/(2/#"(/&.$%<+)$8(/%

%$#067+).8(&/(#/)&(/*()$%9$%)(/%(&/(%$,+)&%+60&$(&/(7+)&)8(%$^0+%$)(#%+/%

)#$2+4+2(#$%5+))+/*(-*,M/%(-(4$$:(

789:;8(g0*$(RRGRH8(\hh\8(V/77$1$(D-%38(P-%"7-*,8(iQ]:(

V/#"%+1.&(\hh\(]VP(RGH[RRXGIYYGhMh\Mhhha:::jH:hh:(

25

!"#$%!&$!"#$%&$'&(%$#%$)$*&)(+,$-)(&.%/01.(2.0*3)(/4(&$'&(/%(/&.$%(5$,+-+*&$%2/**$2&$,(6"(%$7-&+/*)8(&"#+2-77"(*-9+1-&+/*-7(7+*3):(;.$)+5+7-%+&"(&/(3*/<7$,1$(%$#%$)$*&-&+/*)()02.(-)(4%-5$)(-*,)$5-*&+2(*$&)(.-)(7$,(&/(502.($44/%&(+*(0)+*1(."#$%&$'&()")&$5)(4/%3*/<7$,1$(%$#%$)$*&-&+/*(-*,($'&$*,+*1(."#$%&$'&()")&$5)(&/5-3$(&.$5(-67$(&/($'#%$))(5/%$:(;.+)(</%3(.-)(5$&(<+&.(7+5+&$,)022$))(,0$(&/(,+44+207&+$)(+*270,+*1(&.$(&-2+&(-*,()+&0-&$,(*-&0%$(/4502.(3*/<7$,1$:(=*)&$-,(/4(9+$<+*1(3*/<7$,1$($'#%$))+/*(-)(-*-77(-&(/*2$($9$*&8(<$(9+$<(+&(-)(-(2/*)&%02&+9$(#%/2$))8(+:$:3*/<7$,1$(60+7,+*1:(;.$(>+)0-7(?*/<7$,1$(@0+7,$%(A>?@B(7$&)0)$%)($'#%$))(2/*&$*&(9+-(9+)0-7(/%(&$'&0-7(5$-*)(-*,(7-&$%4/%5-7+C$(&.-&(2/*&$*&(+*(&.$(4/%5(/4(-&&%+60&$)8(9-70$)8(&"#$)8(-*,%$7-&+/*):(>?@(#%/-2&+9$7"()0##/%&)(&.+)(#%/2$))(&.%/01.(-()$&(/4)011$)&+/*(-1$*&)(<./)$(+*&$%-2&+/*(<+&.(&.$(0)$%(+)(5$,+-&$,(6"&.$()011$)&+/*(5-*-1$%:(D%$7+5+*-%"($9-70-&+/*(/4(&.$()011$)&+/*5-*-1$%(-*,()011$)&+/*(-1$*&)("+$7,)(#/)+&+9$(%$)07&)(60&(40%&.$%2/*4+%5)(&.-&(&.$%$(+)(*/(E)+79$%(6077$&F(4/%(3*/<7$,1$($*1+*$$%+*1GG()$5-*&+2($'#%$))+/*(+)(5/)&(7+3$7"(&/(.-##$*(,0%+*18(-*,(+),%+9$*(6"8(&-)3(#$%4/%5-*2$:

&'()*+,-)./'01/#234)5(/6).5,-7(+,.!:H:I(J809+,:'(-+0/80(),9'5)./'01/;,).)0('(-+0KL(!"#$%&$'&M!"#$%5$,+-(G(!"#$%&'#&("')*+()'"+%))(')

<)0),'=/$),:.N$)+1*8(!05-*(O-2&/%)

>)?@+,1.)#-&+-7(."#$%&$'&8()011$)&+/*G6-)$,(+*&$%4-2$)8(5+'$,G+*+&+-&+9$,+-7/1)8(9+)0-7(7-*10-1$8()#-&+-7(#-%)$%8(+*2%$5$*&-7(4/%5-7+C-&+/*

AB//CD;E%$EF$/!G6/>GHIJE6<E/

%E;%E#EG$!$8HG!"#$%&$'&(.-)(7/*1(6$$*(%$2/1*+C$,(-)(-(4/%5(/4(3*/<7$,1$%$#%$)$*&-&+/*($5#.-)+C+*1(+*&$%,/205$*&(%$7-&+/*):(=*(-,,+&+/*(&/5/%$(2/55/*(#-1$G)+C$,(*/,$)(4/0*,(+*()")&$5)(7+3$(?PQ(JRK-*,(&.$(S$68(-(*056$%(/4()")&$5)(.-9$(+*270,$,()5-77$%G)+C$,+*4/%5-&+/*(2.0*3)(&/(%$#%$)$*&(4+*$%G1%-+*$,(%$7-&+/*):(T-%7"$'-5#7$)(+*270,$(&.$(%$#%$)$*&-&+/*(/4(Q$-%7$U)(V.+*$)$(W//5-%105$*&( +*(T027+,(JXYK8(;/075+*G)&%02&0%$,(-*-7")$)(+*

Z/&$V-%,)(JR[K8(-*,(=@=QG6-)$,(,$)+1*(%-&+/*-7$(+*(P+3%/#7+)(J\\K

-*,(1=@=Q(JIK:

;.+)(4+%)&(%/0*,(/4(%$#%$)$*&-&+/*-7(."#$%&$'&(.$7#$,(5/&+9-&$(&.$

,$) +1* ( /4 ( - ( *056$% ( /4 ( )") &$5)(<+ &. (5/%$ ( $'#%$)) +9$

%$#%$)$*&-&+/*):(=NT(JRHK($'&$*,$,(Z/&$V-%,)(&/(+*270,$(-

&',-.!&'+#!"/(4/%(,$4+*+*1(&"#$)(&.%/01.(&.$(+*.$%+&-*2$(/4

-&&%+60&$)(-*,(6$.-9+/%(<+&.+*(&.$(2/*&$'&(/4(+*)&%02&+/*-7(,$)+1*:

QDW=Z;(JXK8(<+&.(-*(-+5(&/($*.-*2+*1(60)+*$))(#%-2&+2$8(0)$,

Q5-77;-73(5$&./,)(-&&-2.$,(&/(-(4%-5$G6-)$,(%$#%$)$*&-&+/*(&/

+*&$1%-&$(."#$%5$,+-8()$5-*&+2(*$&</%38(-*,($'#$%&()")&$5

%$#%$)$*&-&+/*):(V/*2/%,$(JRRK()0##/%&$,(3*/<7$,1$($*1+*$$%+*1

&.%/01.(-(%$#%$)$*&-&+/*(+*(<.+2.(%$7-&+/*)(6$&<$$*(*/,$)(2/07,

6$(2/*)&%-+*$,:(?*/<7$,1$()&%02&0%+*1(<-)(&.$(1/-7(/4(]^0-*$&

JR_K8(<.+2.(-77/<$,(0)$%)(&/(,$4+*$(%$#%$)$*&-&+/*-7()2.$5-)(&.-&

+*270,$,(/6`$2&(-*,(%$7-&+/*(&"#$)8(-&&%+60&$)8(-*,(2/*)&%-+*&):(;.$

-6/9$(%$#%$)$*&-&+/*)($5#.-)+C$(&.$($'#%$))+/*(/4(,$27-%-&+9$

3*/<7$,1$:(D.+,+-)(J\XK($56$,,$,(#%/2$,0%-7(3*/<7$,1$(+*(&.$

."#$%&$'&(%$#%$)$*&-&+/*8()02.(-)(+*4$%$*2$)(6-)$,(/*(4/%<-%,G

2.-+*+*18(6"(-77/<+*1(*/,$)(+*(+&)(."#$%6-)$(&/(2/*&-+*(-()&/%$,

^0$%":(]77(/4( &.$)$()")&$5)(67$*,$,(%$#%$)$*&-&+/*)(4%/5

."#$%&$'&(-*,(-%&+4+2+-7(+*&$77+1$*2$:(O0%&.$%(,+)20))+/*)(/4(&.$

,$)+1*(-*,(0)$(/4()02.()")&$5)(-%$(4/0*,(+*(JRaK8(JXRK8(-*,(J\HK:

S/%3(/*(3*/<7$,1$G6-)$,(."#$%&$'&(6$2-5$(7$))(2/55/*(<+&.

&.$($5$%1$*2$(/4(&.$(S$6:(b*$(%$-)/*(+)(&.-&(&.$(S$6U)(#%+5-%"

%$#%$)$*&-&+/*)8($:1:(!;Pc8(,+,(*/&(+*270,$(0)$407(4-2+7+&+$)(4/%

5/%$(4/%5-7(%$#%$)$*&-&+/*:(P/%$(%$2$*&()&-*,-%,)(.-9$(2.-*1$,

&.-&:(=*,$$,8(5-*"(/4(&.$(-6/9$(&.$5$)(-%$(6$+*1(%$9+)+&$,(+*

,+)20))+/*)(/4(&.$(EQ$5-*&+2(S$6:F(dPc(+*270,$)(5-*"(/4(&.$

2.-%-2&$%+)&+2)(/4($-%7+$%($44/%&)(<+&.(%$1-%,)(&/(+*&$1%-&+*1(4%-5$G

6-)$,( %$#%$)$*&- & +/*) ( -*,( ."#$% &$'& : ( c+3$(]^0-*$& U)

%$#%$)$*&-&+/*8(+&(+)(-(5$&-G7-*10-1$(&.-&(2-*(6$(0)$,(&/($*2/,$

)#$2+4+2(3*/<7$,1$(%$#%$)$*&-&+/*(7-*10-1$):(;.$(W$)/0%2$

N$)2%+#&+/*(O%-5$</%3(AWNOB(-*,(N]Pceb=c(4/77/<(&.$

3*/<7$,1$(+*&$%2.-*1$(4/%5-&(A?=OB(-*,(3*/<7$,1$(^0$%"(-*,

5-*+#07-&+/*(7-*10-1$(A?fPcB(-)()&-*,-%,)(4/%().-%+*1(2/55/*

#%/2$,0%-7(%$#%$)$*&-&+/*)(/4(3*/<7$,1$:

;.$)$(-%$(-77(%$#%$)$*&-&+/*)(,$)+1*$,(&/(-+,(+*(&.$(0)$(-*,().-%+*1

/4(3*/<7$,1$(/*2$(+&(+)(%$#%$)$*&$,8(60&(./<(&.$(3*/<7$,1$(+)

E-0&./%$,F(+*(&.$(4+%)&(#7-2$(+)(*/&(2/*)+,$%$,:(b0%(4/20)(+)(/*(./<

&/()0##/%&(&.+)($'#%$))+/*8(<.+2.(<$(2-77(0123.'/4'+5(%./%146(;.+)

+)(-(2/*)&%02&+9$(-2&+9+&"(<.$%$(&.$(-0&./%U)(/<*(3*/<7$,1$(+)

+5#-2&$,(6"(&.$($'#%$))+/*(#%/2$)):(@$)+,$)(#%/9+,+*1(9+)0-78

)#-&+-7(-*,(&$'&0-7(5$-*)(/4(2/550*+2-&+/*8(<$(-%$(60+7,+*1

#%/-2&+9$()0##/%&(4/%(&.+)(#%/2$)):

;.$(*$'&( )$2&+/*(,+)20))$)(,+44+207&+$)(<+&.(3*/<7$,1$

%$#%$)$*&-&+/*(-*,(+5#7+2-&+/*)(4/%(,$9$7/#+*1(&//7)(&/(.$7#

!"#$%&'()*+$,,"%-

.%/01"23"*45'12'%3*'%*!,$&'$1*+6,"7&"8&

!"#$%&'()*+#$,&-.&/)0(#12&/33"1,&4"115#+&/#233",&6#371)&68)1(,&9#:(;&<%%#*1==)>1*#"5+1$5&3?&@3+*;51"&'0)1$01&#$=&@1$51"&?3"&5(1&'5;=A&3?&>):)5#2&B)C"#")18

D1E#8&<F/&G$)H1"8)5A

@3221:1&'5#5)3$,&DI&JJKLMNMOOP&G'<

QO&RJR&KSP&MPOS

8()*+#$T08.5#+;.1=;

D$%5+))+/*(&/(5-3$(,+1+&-7(/%(.-%,(2/#+$)(/4(-77(/%(#-%&(/4(&.+)(</%3(4/%

#$%)/*-7(/%(27-))%//5(0)$(+)(1%-*&$,(<+&./0&(4$$(#%/9+,$,(&.-&(2/#+$)(-%$

*/&(5-,$(/%(,+)&%+60&$,(4/%(#%/4+&(/%(2/55$%2+-7(-,9-*&-1$(-*,(&.-&(2/#+$)

6$-%(&.+)(*/&+2$(-*,(&.$(4077(2+&-&+/*(/*(&.$(4+%)&(#-1$:(;/(2/#"(/&.$%<+)$8(/%

%$#067+).8(&/(#/)&(/*()$%9$%)(/%(&/(%$,+)&%+60&$(&/(7+)&)8(%$^0+%$)(#%+/%

)#$2+4+2(#$%5+))+/*(-*,M/%(-(4$$:(

789:;8(g0*$(RRGRH8(\hh\8(V/77$1$(D-%38(P-%"7-*,8(iQ]:(

V/#"%+1.&(\hh\(]VP(RGH[RRXGIYYGhMh\Mhhha:::jH:hh:(

25

Toolkit Design forInteractive Structured Graphics

Benjamin B. Bederson, Jesse Grosjean, and Jon Meyer

Abstract—In this paper, we analyze toolkit designs for building graphical applications with rich user interfaces, comparing polylithic

and monolithic toolkit-based solutions. Polylithic toolkits encourage extension by composition and follow a design philosophy similar to

3D scene graphs supported by toolkits including Java3D and OpenInventor. Monolithic toolkits, on the other hand, encourageextension by inheritance, and are more akin to 2D Graphical User Interface toolkits such as Swing or MFC. We describe Jazz (a

polylithic toolkit) and Piccolo (a monolithic toolkit), each of which we built to support interactive 2D structured graphics applications ingeneral, and Zoomable User Interface applications in particular. We examine the trade offs of each approach in terms of performance,

memory requirements, and programmability. We conclude that a polylithic approach is most suitable for toolkit builders, visual designsoftware where code is automatically generated, and application builders where there is much customization of the toolkit.

Correspondingly, we find that monolithic approaches appear to be best for application builders where there is not much customizationof the toolkit.

Index Terms—Monolithic toolkits, polylithic toolkits, object-oriented design, composition, inheritance, Zoomable User Interfaces(ZUIs), animation, structured graphics, Graphical User Interfaces (GUIs), Pad++, Jazz, Piccolo.

!

1 INTRODUCTION

APPLICATION developers rely on User Interface (UI)toolkits such as Microsoft’s MFC and .NET Windows

Forms, and Sun’s Swing and AWT to create visual userinterfaces. However, while these toolkits are effective fortraditional widget-based applications, they fall short whenthe developer needs to build a new kind of user interfacecomponent-one that is not bundled with the toolkit. Thesecomponents might be simple widgets, such as a range slideror more complex objects, including interactive graphs andcharts, sophisticated data displays, timeline editors, zoom-able user interfaces, or fisheye visualizations.

Developing application-specific components usuallyrequires significant quantities of custom code to manage arange of features, many of which are similar from onecomponent to the next. These include managing whichareas of the window need repainting (called region manage-ment), repainting those regions efficiently, sending events tothe internal object that is under the mouse pointer,managing multiple views, and integrating with the under-lying windowing system.

Writing this code is cumbersome, yet most standard 2DUI toolkits provide only rudimentary support for creatingcustom components—typically, just a set of methods fordrawing 2D shapes and methods for listening to low-levelevents.

Some toolkits such as Tcl/Tk [19] include a “structuredcanvas” component, which supports basic structured

graphics. These canvases typically contain a collection ofgraphical 2D objects, including shapes, text, and images.These components could in principal be used to createapplication-specific components. However, structured can-vases are designed primarily to display graphical data, notto support new kinds of interaction components. Thus, forexample, they usually do not allow the application toextend the set of objects that can be placed within thecanvas. We have found that many developers bypass thesestructured canvas components and follow a “roll-your-own” design philosophy, rewriting large quantities of codeand increasing engineering overhead, particularly in termsof reliability and programmability. There are also commer-cial toolkits available such as Flash [6] and Adobe SVGViewer [2]. But, these approaches are often difficult toextend and integrate into an application.

We believe future user interface toolkits must addressthese problems by providing higher-level libraries forsupporting custom interface components. However, thereis still an open question regarding which design philosophyto adopt for these higher-level toolkits. The core issue weaddress here is whether toolkits should be designed so thatthe inevitable complexity and extension of the componentsare supported primarily through composition (which wecall polylithic) or inheritance (which we call monolithic).

In this paper, we consider these two design approachesfor interactive structured graphics toolkits through twotoolkits we built: Jazz,1 a polylithic toolkit; and Piccolo,2 a

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 30, NO. 8, AUGUST 2004 1

. The authors are with the Human-Computer Interaction Laboratory,Institute for Advanced Computer Studies, Computer Science Department,University of Maryland, College Park, MD 20742.E-mail: {bederson, jesse, meyer}@cs.umd.edu.

Manuscript received 16 Sept. 2003; accepted 16 Mar. 2004.Recommended for acceptance by D. Weiss.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TSE-0145-0903.

1. The name Jazz is not an acronym, but rather is motivated by themusic-related naming conventions that the Java Swing toolkit started. Inaddition, the letter “J” signifies the Java connection, and the letter “Z”signifies the zooming connection. Jazz is open source software according tothe Mozilla Public License, and is available at: http://www.cs.umd.edu/hcil/jazz.

2. The name Piccolo is motivated by the music connection of Jazz andSwing, and because it is so small (approximately one tenth the size of Jazz).Piccolo is open source software according to the Mozilla Public License, andis available at: http://www.cs.umd.edu/hcil/piccolo.

0098-5589/04/$20.00 ! 2004 IEEE Published by the IEEE Computer Society

Mouse

House

Dog

Cat

DaddyMum

Charly

Farm

Farmer

Bulldozer

Horse

Spider

Pig

Office

Computer

Printer

Papers

Boss

Buildings

Stable

search-filter Type: Animal

Mouse

Dog

Cat

Horse

Spider

iMapping Search

iMapping Examples

superordinate Node

new Text...

when [enter] is pressed while editing a node,

editing is anded and a Textcursor is set to the

position below the node - where a new paragraph

would start.

entering text

Fig. 2. The same iMap but with link-structure of one item made visible.

Page 7: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

To sum up, this makes three structurally different ways of interrelating itemsin an iMapping environment:

– wiki-style text-links(linking from a particular text position to another item)

– nesting items into another(including the link target inline at a specified position)

– linking on an item level(stating a relation between two objects)

Each of these can be mere navigational links or carry formal semantics, ifspecified.

4 Discussion

Whether the iMapping approach will be successful, user studies and time willhave to tell. It is a concept so far. A first prototype environment is under devel-opment and might be available by mid 2006. While our implementation is basedon a java client to take advantage of the Piccolo framework (s. above), a flash- orSVG+AJAX-based version would allow browser-based usage, which would comecloser to common wiki use.

Also, since the iMapping approach was initially designed for personal use,there might be unforeseen difficulties when used in a collaborative setting, likemost wikis are. For example, there could be dissent on how items should be spa-tially arranged. But hopefully, like it is common in wiki culture, over time layoutswill converge to a structure that finds consensus. Another approach would be touse personal profiles to let users make their personalised spatial arrangementsof the content. The better the content and its structure represented using de-fined semantics, the easier it is to separate it from its visual appearance and tosyndicate it to other applications.

5 Outlook

Wikis have started as very simple content management systems and many en-gines have grown immensely feature-rich by now. The step to semantic wikis isvery promising and could give the realisation of the Semantic Web a significantboost. But it surely doesnt make these wikis easier to use. Focussing on user in-teraction and cognitive ergonomics will be an important point, if semantic wikisare to become widely used whether collaboratively or for personal knowledgemanagement. In the Open Source Social-Semantic-Desktop Project Nepomuk8,a first iMapping Wiki is being developed, and anticipated to become availableduring 2007. It will then become part of a more comprehensive knowledge work-bench integrating Semantic Desktop functionalities like application integration,and semantic search with a distributed p2p-based collaboration environment.8 see http://Nepomuk.semanticdesktop.org

Page 8: iMapping Wikis— Towards a Graphical Environment for ...sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-206/pa… · wikis to also author formal (semantic) knowledge structures

Acknowledgments:

Research reported in this paper has been partially financed by the EU in the SocialSemantic Desktop project NEPOMUK (IST-FP6-027705). I would also like to thankBenjamin Heitman for fruitful discussions and last-minute technical assistance.

References

1. Tergan, S.O.: Hypertext und Multimedia: Konzeption, Lernmoglichkeiten, Lern-probleme und Perspektiven. In: Information und Lernen mit Multimedia und Inter-net. third, completely revised edn. Beltz, PVU (2002)

2. Schnotz, W.: Wissenserwerb mit Texten, Bildern und Diagrammen. In: Informationund Lernen mit Multimedia und Internet. third, completely revised edn. Beltz, PVU,Weinheim (2002)

3. Richter, J., Volkel, M., Haller, H.: Deepamehta - a semantic desktop. In Decker, S.,Park, J., Quan, D., Sauermann, L., eds.: Proceedings of the 1st Workshop on TheSemantic Desktop. 4th International Semantic Web Conference (Galway, Ireland).Volume 175., CEUR-WS (2005)

4. Volkel, M., Oren, E.: Personal knowledge management with semantic wikis (2006)Paper submitted to ESWC2006, available at http://semwiki.ontoware.org/.

5. Oren, E.: Semperwiki: a semantic personal wiki. In: Proceedings of the 1st Workshopon The Semantic Desktop, Galway, Irland. (2005)

6. Haller, H.: Mappingverfahren zur Wissensorganisation (2003) Knowledge BoardEurope. Availlable online at http://heikohaller.de/literatur/diplomarbeit/.

7. Shipman, F., Marshall, C.: Spatial hypertext: An alternative to navigational andsemantic links. ACM Comp. Surveys 31 (1999)

8. Bederson, B.B., Hollan, J.D., Stewart, J., Rogers, D., Vick, D.: A zooming webbrowser. Human Factors in Web Development (1998)