Dynamic Interactive Visualization
Forum
Design reviews
Previous topic  |  This topic  |  Next topic
Previous article  |  This article  |  Next article

diva.canvas: comments, May 6th, 1998
John Reekie, 20 Jul 2001

diva.canvas: comments, May 6th, 1998

Email comments received after posting preliminary spec to ptdesign.

Michael Shilman


From: Michael Shilman 
To: "'John Reekie'" 
Subject: RE: Java canvas spec
Date: Wed, 6 May 1998 01:11:20 -0700

Hi John,

I didn't have time to scrutinize your API, but I did take a quick look. It's very polished and looks very good, though it'd really take some serious thinking to give it a proper critique. I don't have time for serious thinking these days, so you'll get a half-assed critique. =)

I think there is a lot of useful functionality in the API you've spec'ed. The question I have is how much of that functionality is beneficial to me as the user, and how much of it is just going to make my GUI run slower? What are the abstraction layers in your API, if any? Does the API simply provide structure, or does it also provide an abstraction by which common operations can be optimized behind an abstraction layer?

Related: which API pieces build on each other? Can you reuse code in this way to reduce the number of distinct functions in your spec? Seems like, e.g. Layer is just a special type of Group--does it need its own class?

About specific features: I think the predicates look very elegant. However it'd be nice if you could give some situations in which you'd use them. Is this a Tcl thing?

Is there any way to make the event API more like the AWT1.1?

Write some "case studies"; things that would push the limits of your model. For example, I have a graph editor and I'd like to draw edges between nodes in two different coordinate frames. How would I do that in your system? I'd like to drag a node out of its parent and into it's parent's parent--I'd like the coordinate frame to change, but not the size/aspect ratio of the node wrt the user. How do I do event handling for this?

Finally, would this extend to 3D at all? It'd be nice if it did, though I know that's asking a lot...

Previous topic  |  This topic  |  Next topic
Previous article  |  This article  |  Next article
Send feedback to cxh at eecs berkeley edu
Contact 
©2002-2018 U.C. Regents