VisAD Design History

VisAD started as a system for interactve visual experiments with scientific algorithms. It was both my (Bill Hibbard's) PhD project in the UW Computer Sciences Department, supervised by Charles Dyer, and a visualization system for real users, written in C by the SSEC Visualization Project. This system was first demonstrated at the January 1992 AMS Conference. The best record of the design is in these publications:

VisAD was designed to make it easy to visualize novel types of data, in order to accomodate the variety of intermediate data in scientific algorithms. We realized that the design was also suited to novel types of data exchanged by scientists on the Internet, which led to this:

This diagram was drawn for a 1994 proposal to NASA's EOSDIS. The proposal was not funded, but its ideas were the basis for the rewrite of VisAD in Java, the language designed for the network.

In Januray 1996, when version 1.0 of Java came out of beta, we began a redesign of VisAD using Java. The Unidata Program Center was also interested in Java right from the start, so in the fall of 1996 the VisAD redesign became a collaboration between SSEC and Unidata. We held a number of joint design reviews, including:

The redesign featured an improved data model (particularly integrated a greater variety of metadata) and an improved display model (particularly for supporting user interaction and user customization). It also defined all system components as distributed objects.

The Java version of VisAD was first demonstrated at the Januray 1998 AMS Conference and at the 1998 JavaOne Conference (thanks to Sun for providing a booth at that meeting). We announced the public availability of VisAD the day after Sun announced the public availability of beta version of Java3D.

The best overall final design document is the VisAD Java Component Library Developers guide. Briefer design descriptions are available in these two Computer Graphics VisFiles columns:

And in an article about VisAD in the Communications of the ACM:

At this time the VisAD design and implementation are pretty stable. The real design action has moved to the systems using the VisAD library, such as Unidata's Integrated Data Viewer (IDV) and VisBio.