Visual representations of graph structures have been important to programming from the beginning of the craft – earlier than that, if you count circuit diagrams. Most practicing programmers of my acquaintance have struggled with visual complexity as the size or amount of detail of such a diagram increases. So I was interested in an article titled “What is the Best Way to Represent Directionality in Network Visualizations?” that summarized research done at Eindhoven University of Technology.
The researchers compared a variety of techniques for representing directionality of arcs: standard arrows, gradients (light-to-dark, dark-to-light, and green-to-red, and curved and tapered connections. Subjects were shown graphs rendered using different techniques, and asked questions about connections between nodes, with speed and accuracy being analyzed.
According to the summary:
- one should avoid standard arrows and curves,
- tapered arcs (from wide to narrow) produced the best results,
- dark-to-light value gradients were better than light-to-dark (no surprise there, as this is consistent with the “more intense to less intense” result of the tapering), and
- there appears to be no advantage to combining techniques (I confess a bit of surprise over that conclusion).
But most fascinating to me is the fact that when presenting the results visually, the paper and article both violated the very conclusions just reached! Superior performance among techniques was presented using a directed graph using curved arcs with standard arrowheads! (See the diagram here, or in the article and linked paper.)
It was but a few moments’ work in OmniGraffle to recreate that diagram using the recommended technique (tapered arcs). In addition, I rearranged the nodes to reduce the arc crossings, while keeping the preference flow downward from higher to lower. Here’s the result:
I’m amazed that the researchers and author(s) of the summary ignored the result when presenting the result! Does this tell us something about the force of habit, or perhaps the limitations of existing tools, or something else entirely? I wonder.