NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
For the European Space Agency's Herschel Observatory (scheduled to be launched in 2007, http://astro.estec.esa.nl/FIRST/ ) the Interactive Analysis (IA) working group is in the process of choosing existing plotting and math libraries/packages to use. The existing Herschel and IA frame works mandate that software developed by Herschel has to be in pure Java and free to the Astronomical community. Lots of work has been put in for the software making the IA and supporting the three onboard instruments. In the end hundreds of man-years of software developing work will likely be committed. I am not a spokes person for Herschel IA but my work involves the plotting functionalities for the SPIRE instrument onboard Herschel, and are making recommendation and suggestions as which package to choose for IA. I speak for myself. When defining the IA frame work it is found desirable to have, among many things, an elaborated data structure at some level that supports units, scriptability (a jython console has been already prototyped, much like VisAD's), easy plotting interface to the end user etc. I find VisAD to be quite promising. It is active, and fits into the pure Java and "free" requirement easily. And it has the frame work to visualize complex data. But there is some distance from what it is now and what we want it to be. Currently core VisAD has been made for 3D visualizations which the current developers are most interested in. The plotting requirement of IA emphasizes 2D X-Y style plots and 2D map style plots. It seems that the astronomers are less enthusiastic about 3D visualization than the spacephysicists and earthscientists. I have some questions for VisAD. First of all I would like to know from the VisAD developers whether they intend visAD to become a more general purpose scientific visualization package. This inevitably requires VisAD developers' time to help people developing functionalities that these developers don't need for their work. For the more specific problems that I see, the single biggest issue is the learning curve of using VisAD for both the end user and the developer outside VisAD development group. For the end user the VisAD python package has done some work to hide VisAD complexity. For the developers who want to use VisAD to do more than a few trivial tasks I have found the complexity of VisAD to be formidable. I has been a frustrating experience to try to understand the mechanics of VisAD from reading the tutorials. When I tried to use VisAD to develop something I often had to resort to reading the source code, which I consider a bad sign -- the developer who wants to use the package is forced to read the specific implementation in the source code to guess the proper use of the API. I am not the only person who feel this way. Most of my colleagues for Herschel find VisAD's data structure difficult to deal with. Herschel IA development team is big and geographically widely distributed in many countries. Effective documentation is essential for them. There is an IA working group looking for existing graphic and math packages with some specific criteria. About VisAD the conclusion is: ``Plotting a simple x-y plot can be done in several ways, yet it is not clear what the advantage is in doing it one way over another. The documentation is not very helpful and the sample programs are not very illustrative. Though a library of static calls is provided for Jython users, it seems to be very basic. The ?look and feel? of the resulting plots is less than professional and there are no Jython methods provided to quickly change graph attributes such as title, labeling, scale, etc. A lot more work would be needed to provide full interactive Jython functionality. The complicated data structures would make this package hard to integrate with other packages (say, for example, a numerical package).'' I am not convinced by the above conclusion. After I have got into VisAD more, I think the "difficult to use" problem is more a documentation issue than structural. I think what VisAD lacks for dealing with its complexity is 1) wrapper classes for casual users that doesn't demand much sophistication, to "make simple tasks easy"; 2) better documentation for the outsider developers to "make difficult tasks possible." More specifically, the documentation should be all accessible from JavaDocs. The documentation of implementations should refer to the relevant design documentation. I think if Herschel IA chooses VisAD, both Herschel and VisAD could benefit on collaborated effort and complement each other to produce a Java standard in scientific data visualization in general. There are so much demand and wheel reinventing in scientific data visualization using Java on the net that I think a standard is a good thing. Since most of my colleagues in Herschel have been turned away by VisAD, I would like to hear what VisAD thinks about supporting collaboration so I can convince them VisAD is desirable to use. __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus ? Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
visad
archives: