Content of review 1, reviewed on February 20, 2014
This article describes a JavaScript component that allows web developers to render node/edge-type graphs in a web page, rather than in a static image, and interact with them dynamically via a tool bar and control panel. This component is a really nice addition to the world of graph visualization because it separates the definition of the graph from the displaying of it; it allows a user to programatically define the node/edge relationships and is extremely lighweight relative to most similar software tools.
The Sugiyama method used by the authors to determine node and edge placement seems to work well. I only tested the demo graph, but I couldn't think of any way to improve the layout - unlike most other tools I've tried. The implementation also seems quite straightforward and clear, very human-readable for source code.
There are, however, a couple issues that I would like the authors to address:
- Even though I didn't think moving nodes around was necessary in the demo it was still the first thing I wanted to do (e.g., clicking on node and dragging it into a new position) and I can imagine other graphs where this might feel a bit more urgent. I suspect this sort of functionality is beyond the scope of the JS component, but could the authors either convince me that I'm being old-fashioned and this is something I don't really want to do or mention that this is not an intended use of tool?
- I can imagine situations in which a user would like to generate a slide or publication-ready image from the graph that they've rendered and lovingly customized. Is there a way to export an image? Or is that in contradiction to the imageless nature of the HTML-based rendering?
- Will there be a tutorial or walk through of the control panel features? I think this would be welcomed by future users. Minor issues:
- In paragraph 3 of the 'Features' section the phrase "the graph can been zoomed" should read the graph can be zoomed.
- Demo code - in demo.html one of the script src links is localhost. I had to change this to match the other src link before the script would work so this needs to be corrected.
Overall, this seems like a sound and useful contribution to the field of computational biology.