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
I.1) What functionality should a general InfoVis infrastructure provide?
I'll suggest a couple social aspects of infrastructure functionality, anticipating that other participants will address technical aspects. I believe that success of such an infrastructure requires a vibrant, sustained community of people who contribute to:
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)?
Infovis research has tended to focus on individual pieces, not the entire puzzle. Lots of work has been done on particular data structures, views, and analysis methods, but there has not been much system-level research, and what has been done tends to be limited to implementations of particular applications. The technical challenge of building an infrastructure that supports development of complete visualization systems probably relates to how difficult it is to achieve modularity and extensibility in various components of such systems:
Two additional technical challenges will be development of general-purpose instrumentation (record/playback for documentation, demos, teaching, testing) and specification of widely-applicable usability protocols.
Social aspects may be more challenging than technical ones. Visualization software is often an important aspect of careers and/or incomes. This situation is understandable, but is probably an impediment to any unified infrastructure. There would need to be a way to allow researchers to contribute software/modules/data/examples/etc. without giving up their ability to be identified as the original/primary/significant source of such contributions.
Please describe the (information) visualization software infrastructure you are working on.
II.1) Project Name and Web Address
Improvise, http://www.cs.wisc.edu/~weaver/improvise/II.2) Core Team Members
Sole Developer, Chris Weaver, weaver@cs.wisc.eduII.3) Project Start Date
April 1999II.4) Targeted User Group
Improvise has three different levels of functionality: browsing (navigation and selection), building (editing coordinated queries and laying out views in frames), and metavisualization (in situ visualization of coordinations and other interactive structure). Browsing targets normal end-users. Building targets data analysts, at roughly the same level of expertise required to create spreadsheets with moderately complex formulas and layouts. Metavisualization targets advanced visualization designers who wish to incorporate customized graphical annotations into their visualizations, as well as visualization researchers who wish to study coordination structure.II.5) Supported User Tasks
Improvise is an integrated visualization design environment specialized for interactive, incremental construction of coordinated multiview visualizations of relational data. It supports:
II.6) Major Features of the System Architecture
II.7) Algorithms Provided
Views in Improvise evaluate and cache user-definable, expression-based queries on relational data for the purposes of projecting (visual encoding), filtering, sorting, indexing, and grouping data. Expression evaluation is optimized using short-circuiting, scan-constant evaluation, and caching of expensive subexpressions.Scatterplot views perform tile-based caching of rendered data, optimized for common interaction patterns (pans and zooms). Graph views provide concurrent interactive and energy minimization layout.
II.8) Snapshot of the Interface
Improvise is a self-contained application that displays one or more visualizations, each in its own top-level frame. Each frame contains a multi-page (tabbed) desktop pane in which internal frames can be positioned and sized. Views are leaves layed out in a panel hierarchy inside these internal frames. Editor dialogs allow the user to create, modify, and destroy frames and views and to lay them out using a variety of layouts (roughly equivalent to layout managers in the Java AWT).The elements that make up coordinations and visual encodings are also created, modified, and destroyed in editor dialogs. Of particular interest is the expression editor, which allows users to construct complicated query expressions in a top-down manner using point-and-click. All views provide popup menus for rapid adjustment of coordinations as well as for setting various view-specific options.
In addition to built-in coordination graphs, Improvise allows users to build custom metavisualizations using the same interface used to build regular visualizations. A metavisualization is a visualization of data that represents the structure of another visualization, and can be used to list views, show coordination graphs, or otherwise reveal visualization structure.
II.9) Development Platform
Platform: Mac OS X and LinuxPPCII.10) Supported Operating Systems
Any system that supports Java 1.4II.5) Software Dependencies/Required Libraries
Java 1.4II.5) Current License
None. I have not decided whether to pursue commercialization of the software or to make it available under some free software license (e.g. GPL, BSD). I'm leaning toward the latter. I hope this workshop will help me resolve this issue.II.5) Number of Users/Downloads
None. I plan to make the software privately available to workshop/conference attendees and other visualization researchers, but will not release it publicly until licensing issues are resolved.II.5) Pros and Cons
Improvise is a general-purpose visualization builder and browser, and as such trades off performance for flexibility.Pros:
II.5) Planned Work
Development:Please describe your main interest in participating in the workshop