I am in the process of completely rewriting a graphing tool that was created quickly and dirtily as needed whilst I was writing up my thesis. The basic requirements were that it should plot x-y, quantile-quantile and density graphs and histograms. So far nothing unusual, but I wanted to allow any points or lines to be hyperlinked to external webpages. Nick Day used the graphing toolkit when analysing some NMR results as reported by pmr on his blog.
Anyway, hopefully you like the results. So now onto the main question. Now that I am rewriting the code I find myself wondering whether I should continue down the SVG line or move to Flash?
I really like SVG – one of the first things that I had to do when I started my PhD was to create some animations. (I will upload these at some point). It took a couple of hours to get the basics of drawing static images and even fewer to get the basics of animations. There are masses of primers, tutorials and examples out there and all it took to create the animations was a text editor, a notepad to draw out the storyboard and a little imagination. If I was going to do the same thing now it would be so much easier. For a start I would draw out all the basic elements using Inkscape (I never got to grips with SodiPodi) and then animate them. No doubt the results would look a great deal better (I think I should do this and upload these too).
There are drawbacks of course. I am the first to admit that I had (still have) problems with curves. The biggest problem is support. Is there any point spending time trying to create useful, good looking SVG if no one can use it?
So onto Flash. It looks good, it can be animated, it is certainly supported but I can’t find any help out there as to how I can create it by hand – or even if it is possible (though I am assured it is). Maybe this is simply because there are so many sites out there dedicated to authoring flash (over 1 million searching for hand authoring flash), trying to sift these for what I actually want is difficult.
I am trying to make sure that I am keeping the data and the rendering separate so for a while I don’t need to make a choice – but I don’t want to waste my time writing something that will not be used. How should I go forwards? Beyond graphing there is a desire to show automatically created animations of chemical reactions and for that the sooner a decision is made the better.