For the Workshop on "Information
Visualization Software Infrastructures" at IEEE 2004 Visualization,
Organized by Katy Börner, Indiana University, USA and Jean-Daniel Fekete, INRIA, France
Group for User Interface Research
Berkeley Institute of Design
University of California, Berkeley
I.1) What functionality should a general InfoVis infrastructure provide?
As a baseline, a general infovis infrastructure should provide usable mechanisms for deploying any of a host of established interactive visualization techniques to new data while also serving as a platform for developing, integrating, and evaluating new visualizations. Some of the specific functionalities necessary to achieving this include:
Perhaps most importantly, the above features must cohere in a well-designed, integrated architecture. For example, components such as layout algorithms, data transformations, rendering modules and the like need to be reusable and composable across various visualization applications. By analogy to user interface toolkits, what is needed is not just visualization "widgets" that a user can select from, but a deeper decomposition of the visualization design space into reusable components that can function across varied visualization designs.
The above features will help ensure a useful platform for both researchers and developers to use and build various visualization applications. I would also, however, like to see such an infrastructure leveled at the construction of tools by which end users can craft their own custom visualizations. Everyday, millions of people use tools such as those in Microsoft Excel to generate a wide range of data graphics. For information visualization technologies to reach their true potential, tools by which to create customized visualizations in a direct manipulation fashion are sorely needed. I would hope that a general infovis architecture would be designed with these additional goals in mind, that infovis techniques and technologies become constructive tools accessible to everyday users.
I.2) What do you see as the main technical challenges for creating a central but flexible and universally useful (information) visualization software infrastructure (as opposed to 100 different ones)?
I think the main "technical" challenge is API design. With a skilled programmer at hand, recreating any existing, published visualization or algorithm is not intellectually all that difficult. However, decomposing the space of visualizations into individual, composable building blocks that can support both existing and future visualization designs while remaining usable is a hard problem. One must at one time balance systems issues such as memory footprint, scalability and response times; design issues such as flexibility and extensibility; and programmer usability of the resulting abstractions.
I thinks this challenge also perserveres when considering the earlier expressed goal of creating visual, end-user tools for designing visualizations. Building such tools will require that these goals also be considered in the design of the underlying programming interfaces of the supporting infrastructure. The conceptual model of the API design, though implemented in code, should hopefully be clear enough to also serve as the model by which to visually construct an infovis application.
Please describe the (information) visualization software infrastructure you are working on.
II.1) Project Name and Web Address
prefuse - a toolkit for interactive information visualization
The website includes access to the toolkit source code, video and interactive demonstrations, and links to research papers and articles about or involving the toolkit.
II.2) Core Team Members (Please list in order, Role of Project Member, Full Name, E-mail. eg: Developer, John Doe, firstname.lastname@example.org)
Designer and Developer, Jeffrey Heer
Advisor, Stuart K. Card,
Advisor, James Landay
II.3) Project Start Date
Project started in spring 2003.
II.4) Targeted User Group
Java programmers and user interface designers.
II.5) Supported User Tasks
The prefuse toolkit is a platform for building interactive visualizations, as such it can be used to build custom applications for any number of user tasks. To support common user needs, the architecture includes support for common interactions (e.g., focus selection, brushing, repositioning, panning and zooming), visualization techniques (e.g., animation, various layout and distortion algorithms), and indexing and searching of data. See the snapshots below for examples of some of the end-user applications constructed with the toolkit.
II.6) Major Features of the System Architecture
Informed by a review of existing applications, our own years of experience designing novel visualizations, and earlier toolkit evaluations, the prefuse toolkit offers:
II.7) Algorithms Provided
II.8) Snapshot of the InterfaceHere are some images of various visualizations built with the prefuse toolkit.
Force-directed graph layout
Animated radial graph layout
Speed-dependent automatic zooming
Graphical fisheye view of a graph
Vizster Social Network Browser
II.9) Development PlatformBuilt in 100% pure Java using the Java 2D graphics library and the Eclipse IDE.
II.10) Supported Operating Systems
Any operating system for which there is a working Java 1.4 virtual machine implementation (includes Windows, Mac OS X, and Linux).
II.11) Software Dependencies/Required Libraries
II.12) Current License
BSD license (open source, commercial friendly)
II.13) Number of Users/DownloadsApproximately 500
II.14) Pros and ConsPros
II.15) Planned WorkWe would like to get additional developers working on the platform. Perhaps an integration of prefuse features with other available toolkits should be considered. For example, currently prefuse's data model is based on adjacency list graph representations and name-value pair attributes. A more database-like structure such as that of Fekete's InfoVis toolkit would likely prove more efficient and amenable to advanced data processing tasks.
Please describe your main interest in participating in the workshop
My main interests are to meet other infovis architecture developers and learn from each other's experience and "war stories". My hope is that walking away from the workshop, we might have plans for collaboration, resulting in the construction of a best-of-breed visualization environment that promotes the use, reuse, and expansion of visualization techniques while serving as a solid and flexible platform for future research.Send the completed paper by Sept. 30, 2004 to email@example.com and Jean-Daniel.Fekete@inria.fr.