GraphViewer is a web application for visualizing and interactive exploration of graph data. GraphViewer is a generalized version of the original SMC Browser. It is implemented on top of wonderful js-library d3, the code available on github. There is also some preliminary technical documentation.
The user interface is divided into 4 main parts:
Following data sets are distinguished with respect to the user interaction:
the subset of data that shall be displayed.
Starting from the selected nodes, connected nodes (and connecting edges) are determined based on the options (depth-before, depth-after).
The nodes are colour-coded by type:
There are multiple ways to select/unselect nodes:
by clicking individual items in the index list, the item will be added to the selected nodes
clicking on an already selected item unselects it
by clicking on a visible node in the graph, the node will be added to the selected nodes
clicking on an already selected node unselects it
The navigation pane provides the following options to control the rendering of the graph:
N = all nodes have given diameter N;
usage = node is scaled based on how often the node appears in the complete dataset i.e. often reused elements (like description or language) will be bigger
There are a few layouting algorithms provided. They are all not optimal in any way, but most of the time, they deliver quite good results. For different data displayed other algorithm may be more appropriate:
The navigation pane exposes a link, that captures the exact current state of the interface (just the options and the selection, not the positioning of the elements), so that it can be bookmarked, emailed etc.
Furthermore, there is the download, that allows to export the current graph as SVG. This is accomplished without a round trip to the server, with a javascript trick serializing the svg as base64-data into the url (so you don't want to save (or see) the exported url). But you can both, right click the link and [Save link as...], or click on the link, which opens the SVG in a new tab where you can view, resize, print and save it. Employing this simple method also means, that there is no possibility to export the graph in PNG, PDF or any other format, because this would require server-side processing. (However this is a planned future enhancement.)