También disponible en Español

Inf@Vis!

The digital magazine of InfoVis.net

Software Toolkits for Infovis
by Juan C. Dürsteler [message nº 162]

During the last 4 years we have reviewed many aspects of Information Visualisation. There already exist software toolkits with the potential to ease the incorporation of information visualisation into many commercial applications. In this issue we introduce some of them.

Behind most of the visualisations we have reviewed at InfoVis.net lies a series of algorithms implemented in different programming languages that make it possible for the perception of the relationships between the data to appear, be it on the screen or on paper.

Said algorithms implement some or all of the basic steps needed to build the visualisation, i.e.

  • Gathering, filtering, treatment of data and compilation of data structures

  • Transformation of the data structures into perpceptual elements such as graphics, visualisations, auralisations or other elements capable of activating our senses.

  • Presentation, possibly in an interactive form,of the visualisation mentioned in the previous point to the user.

During the 15 years of life of this discipline many types of visualisation have been tried. Most of them have remained within the four walls of the research labs. Nevertheless some general purpose tools have emerged. Some of them are commercial ones like those from Oculus or Advizor Solutions in the field of data visualisation or Visual Insights in the field of visual analysis of the web. Others have an open character centered on achieving a development platform more than on offering proprietary solutions.

Within this last line we can include at least four interesting toolkits for the development of information visualisation.

The InfoVis Toolkit

Examples of visualisations produced by "The InfoVis Toolkit"
Source: Screenshot as can be seen at the web of The InfoVis Toolkit
Click on the image to enlarge it.

The InfoVis Toolkit is an interactive graphics development tool written in JAVA by Jean-Daniel Fekete at the French National Institute for Research in Computer Science and Control in France (INRIA).

The main features of this tool are, among others described in its website, the following:

  • Unified data structure. All the data is stored as column tables whose columns contain homogeneous data, like text or numerical values. Other data types like trees or graphs are also stored in the form of tables. This provides a reduction of memory consumption and, in general, a reduction of the time needed for internal management.

  • Unified set of interactive components that allows you to reuse the existing components and eases the design of new ones since the dynamic queries of the database are always conveyed through the same control objects, independently of the data structure.

  • Fast and extensible since it can use Agile2D accelerated OpenGL graphics and its conception as open software makes it a suitable starting point for further developments.

    At the moment of writing, in its version 0.8, it implements eight visualisation types:

    • Scatter Plots, Time Series and Parallel Coordinates for tables

    • Node-Link diagrams, Icicle trees and Treemaps for trees

    • Adjacency Matrices and Node-Link diagrams for graphs

    The project can be freely downloaded from Source Forge website.

Prefuse

This toolkit also resides at Source Forge and has been programmed in Java by Jeffrey Heer of the Univeristy of California in Berkeley and at the Palo Alto Research Center (PARC) with contributions of Alan Newberger.

Prefuse is more oriented towards data whose structure corresponds to that of a graph (see issue 137 about graphs). Among them you can include networks, hierarchies, trees, etc.

The interest of Prefuse lies to a large extent in the high interactivity of its components and in the automatic reorganisation and zooming of the graphs it shows.

force.png (62116 bytes) autozoom.png (44887 bytes)
Examples of visualisations made with "Prefuse". To the left a graph in which the nodes are linked by links acting like springs when you interact with the graph. To the right an image of the auto zooming demo.
Source: Screenshot as can be seen at Prefuse's website
Click on the images to enlarge them.

As Prefuse applications : we can count on Vizster, a social networks visualiser or Exploring Enron devoted to visually exploring the e-mail corpus of a large corporation like Enron, among others.

Piccolo

ThisToolkit is the outcome of the work in JAVA of Jesse Grosjean and, in its .NET version, of Aaron Clamage under the direction of Ben Bederson at the Human Computer Interaction Lab (HCIL) of the University of Maryland, although their roots go back to PAD (around 1993), PAD++ and more recently Jazz

As a successor of Jazz, one of Piccolo's strong points is the ZUIS or "Zoomable User Interfaces" in which the user is provided with an infinitely scalable virtual interface where you can easliy go from the overview to the detail.

vizster-overview.jpg (31383 bytes) TimSearchr2.jpg (84894 bytes)
Examples of visualisations produced with "Piccolo". To the left Vizster, a social interaction visualisation tool where the nodes have links that act like springs when you interact with the graphic. To the right TimeSearcher2 a time series explorer.
Source: Screenshot as can be seen in the respective websites.
Click on the images to enlarge them.

These types of interfaces include the concept of semantic zoom by which the zoomed representation of an object is not simply the scaling of its geometric shape, but the shape or representation that is most suitable at that scale to convey the meaning of the object and ease the understanding of its nature. For example, at a certain scale level an object can be just a dot, at another it can be depicted as a labeled box while still at another it can be a rectangle with little characters.

There are three versions of Piccolo:

  • Piccolo.Java Piccolo.Java is written 100% in Java, and therefore it runs in most Windows, Mac OS X, Linux and Solaris machines. It's based on the Java2D API.

  • Piccolo.NET Piccolo.NET is written 100% in C#. Therefore it runs basically in Windows machines. Piccolo.NET is based on the GDI+ API.

  • PocketPiccolo.NET PocketPiccolo.NET is written inc C# oriented to PDAs running the Pocket PC system, what inludes some models of mobile phones.

Piccolo stores a hierarchical structure of graphical objects and cameras that allows every node of the hierarchy to be arbitrarily translated, scaled, rotated or shared at the same time that you can select any view of any camera, which offers great visualisation flexibility.

Any version of Piccolo can be downloaded for free.

Geovista Studio

Geovista has been developed by the Geography Dept. of the Pennsylvania State University (Penn State) and particularly by six programmers led by Mark Gahegan, Alan MacEachren and Masa Takatsuka as System Architect.

It's oriented mainly towards geoscientific analysis through visualisation. Nevertheless this doesn't prevent us from using it as a general purpose toolkit given its modular and extensible conception. Like the others we have seen it's also written in Java. Its basic features can be summarised as follows:

StudioArq.gif (18548 bytes)
Geovista Studio Architecture. The image shows the different layers in which the tools are organised
Source: Screenshot as it can be seen at GeoVista website.
Click on the image to enlarge it.
FrankMap.gif (72260 bytes)
Example of Geovista Studio.
Source: Screenshot as it can be seen at GeoVista website.
Click on the image to enlarge it.
  • It's a component oriented system based on Java Beans that can be interconnected to each other or you can add custom made components.

  • Visual programming. To perform a given visualisation you just connect the appropriate components using a visual interface.

  • Open and extensible architecture. It's open software and the way it's developed allows the user to employ very heterogeneous components and the addition of new ad-hoc ones.

A programm is created in Studio just by interconnecting components to each other. In fact Studio doesn't allow you direct programming. In order to do this you have to create components using JavaBeans outside Studio's environment. There are three types of users that Studio aims at:

  • Tool users, characterised by their interest in immediate analysis, data visualisation and their related use for publications.

  • Application developers, users that need not only to analyse and visualise but probably to obtain a coordinated set of applications to ease knowledge discovery or to formulate a scientific theory.

  • Application users. They are users that will not use Studio directly but the applications built using that tool.

As with the other examples GeoVista Studio can be downloaded without charges to our decimated pockets.

InfoVis Cyberinfrastructure

We end this list with Infovis Cyberinfrastructure, an interesting initiative that is not a toolkit in itself but it's more of a central resource unit with a software architecture that provides a framework within which one can integrate many algorithms from different origins, languages and formats operating on any type of data.

According to their creators IVC or Information Visualisation Cyberinfrastructure" provides access to a comprehehsive set of software packages easing the exploration, modification, comparison, and extension of data mining and information visualization algorithms".

The website is complemented with a series of learning modules about the different aspects of data mining and information visualisation, software, databases and the available computing resources. A very interesting site

Conclusion

After some years of a certain dispersion of resources we now have some advanced toolkits that contain diverse components within architectures that allow you to reuse components and the creation of sophisticated applications without having to reinvent the most advanced techniques, like Treemaps or semantic zooming user interfaces.

Although it can appear to be very bound to the academic world, these toolkits offer to many software developing companies the possibility to include sophisticated visualisations in their product portfolio thus beginning to use "visual thinking" in the same, with a reduced cost of approximation to those technologies, since you don't need to program algorithms, you just use them in your product.

The existence of such tools should mean an important impulse towards the introduction of Information Visualisation into "daily life".


I owe the inspiration of this issue to Victor Pascual, post graduate student at the UPF

Links of this issue:

http://www.oculusinfo.com/   Oculus website
http://www.advizorsolutions.com/   Advizor Solutions website
http://www.visualinsights.com/   Visual Insights website
http://ivtk.sourceforge.net/   Description of The InfoVis Toolkit
http://www.inria.fr/index.en.html   INRIA
http://www.cs.umd.edu/hcil/agile2d/index.shtml   Agile2D Implementation of Java2D in OpenGL
http://sourceforge.net/projects/ivtk/   InfoVis Toolkit at Source Forge
http://www.sourceforge.net   Source Forge, open software repository
http://www.infovis.net/printMag.php?num=137&lang=2   Issue 137 about Graphs
http://www.cs.berkeley.edu/~jheer/infovis/final/   Vizster
http://www.cs.berkeley.edu/~jheer/anlp/final/   Exploring Enron
http://www.cs.umd.edu/hcil/piccolo/index.shtml   Piccolo website
http://www.infovis.net/printRec.php?rec=grupinv&lang=2   HCIL at InfoVis.net
http://www.cs.umd.edu/hcil/timesearcher/   Time Searcher 2
http://www.cs.umd.edu/hcil/piccolo/download/index.shtml   Piccolo download page
http://www.geovistastudio.psu.edu/jsp/index.jsp   GeoVista
http://www.geovistastudio.psu.edu/jsp/tryit.jsp   GeoVista download page
http://iv.slis.indiana.edu/   InfoVis Cyberinfrastructure website
© Copyright InfoVis.net 2000-2014