Skip to main content

Visualizing version-controlled hierarchical data

What would be the best way to visualize versioned hierarchical data in an interactive application?

Let's say we have the following hierarchical data, where the capital letters identify the objects, and each object has a value of type "color".

Rules are:

  1. Each node has exactly one parent.
  2. Nodes can be added and removed. But not moved!
  3. The values of nodes can be changed.

For instance, in Version2 below, D was added to B and C changed its value from green to orange:

and now, in Version3, B was deleted (thus deleting its child D) and E, F and G were added to C:

The user should be able to see any version "as it was" (what's easy), but also the overall picture of the change log (what's exactly what I'm failing to elaborate).

Adding links to "previous version" and "next version" somehow misses the point, because the user would still have the task of building this big picture in his mind, as she browses through version's snapshots.

What would be a nice way to display the change log?

p.s.: In Googling for "hierarchical versioned data, I've found about the "Tree Rings Metaphor", but it fails to support the rules 1 (single parent) and 3 (changes in node values).

bruno
  • 183
  • 6