Re: VisAD for general data visualization purposes for general users?

Hi Maohai et al,

m huang wrote:
> 
> ....
> 
> Some of the issues have been addressed in the
> "questions on functionalities of VisAD X-Y style 2D plots"
> thread. I think most people would agree that it will not be
> considered a serious X-Y plotting package if it doesn't
> provide *out of the box* a default set of data point symbols,
> nor legend, nor log and log-log scale, nor error bars, nor
> coordinate grid, not much selection of plotting style (take
> a look at JFreeChart) ... I know with some more work VisAD can do
> all these and more, but as it stands, the meat of VisAD is 3D.
> 
> > > [quote of the evaluation team's conclusion]
> >
> ? other systems. What you say is true in the sense that,
> 
> if there is a confusion... I wasn't in the evaluation team.
> I didn't write the conclusion. I think much higher of
> VisAD than they did ;-)
> 

So it is a matter of weighing up whether (for you) the things VisAD does
do are of greater benefit than those it doesn't do. For my project, it
is absolutely critical that any work can be integrated if desired at any
stage, and that it very extensible and flexible. VisAD solves some of
the _really_ hard problems (integrated data model, navigation/projection
system). 

By using VisAD, I'm confident of being able to do many things I thought
previously were near impossible. If I started off with a graphics only
package, my plots would look great, but the project would never deliver
on its main objective (integration).

> ? ? 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";
> ?
> ? I agree. We are working on them. That's why links to the
> ? Integrated Data Viewer and VisBio are right at the top of
> ? the VisAD web page.
> 
> I am writing prototype wrappers to simplify X-Y plotting
> with VisAD, so that anyone who wants to plot a simple Y-X
> figure doesn't have to understand that the data must be passed
> from an array to a Set, then to a FlatField, then to a
> DataReference, then to the Display. It's crazy.

Initially VisAD might seem complex (especially if you are the first
person in your organisation to look this far!). However what seems like
complexity is more like a pattern for the solution of numerical
computational and visualisation problems. This pattern then gets re-used
over and over and over again. So in the end, having the pattern in your
toolkit simplifies the problem(s).

Now that we have a few people in our group who understand VisAD, we find
the ramp up time for a new person to understand VisAD is not high,
especially if they already have strong Java/Maths background. I had an
undergraduate student pick it up in 1 week, who was working productively
in week 2, and finished an significant application in 8 weeks.

I'd argue that people have trouble understanding VisAD because it
approaches things differently, ie by using a data model as it's basis.
This is new to most people, and forces people to think deeply about the
design of their system before they start. Many people are uncomfortable
with this rigor and "don't get it" about the importance of the data
model. It is hard to find good references on this topic, but I've always
enjoyed parts of the following article (especially the less mathematical
parts):
http://www.research.ibm.com/people/l/lloydt/dm/function/dm_fn.htm
which says "typical ad hoc approaches do not scale to large, complex
problems"
So while better documentation would help, it won't necessarily help
those people who are fundamentally against a more rigorous approach (and
there are lots of them I believe!).... they will just find another
excuse not to use VisAD.

One of the things I've enjoyed most about VisAD over the last 3 years,
has been the collaborative approach to development, and working with
people at Unidata and UoWisconsin. We have contributed code and funds to
the development of VisAD, which has in turn been used by others, such as
Unidata, and vice versa. We plan to release a VisAD/XML adapter publicly
soon, and hope to release other components of our work in a similar way
in future.

It sounds to me like your project with "hundreds of man-years of
software developing work will likely be committed" is exactly the sort
of project which needs VisAD. It would be a great shame if your project
missed out on the benefits of VisAD for want of a deeper look at the
underlying data model, and the potentially huge benefits that would flow
on from this.

Hope that helps,

James

-- 
James Kelly                                          Regional Computing 
Phone: 61-3-9669-4724 Fax: 61-3-9669-4128     Email: J.Kelly@xxxxxxxxxx