I don’t know about you, but I like pretty things. Things that engage me. Shiny things. I enjoy seeing the same old thing in new and interesting ways. I suppose I’m just a visual kinda’ person.
Unfortunately, the desire for visual representation is at odds with the high bandwidth flood of information we’re subjected to these days. Even if we manage to trim the overwhelming flood of information down to a laser-focused stream, it takes an immense amount of effort to make sense of it.
For example
For years the primary way we’ve looked at the activity or interaction within various source control management systems is via log files. Yep… plain, text-laden, indecipherable logs chock full of entries each a similitude of it’s predecessors.
However, thanks to projects like Processing there may be a change on the horizon. Using tools of their ilk we can build exciting new ways to see and consume the vast seas of data we’re drowning in. By visualizing the data we are able to discover new and interesting patterns, behaviors, and insights.
An example
The above video is an example of one such visualization I produced using Gource to analyze the Git repository of one of the product’s we’ve build at VersionOne.
For reference, each branch (line) is a different directory containing files. Each leaf (dot) is a file, with different file types (Ruby, JavaScript, C#, etc.) having different colors. Each contributor is represented by their name and Gravatar. The colored lines that occasionally connect a contributor to a file are color coded to represent adds (green), changes (orange) and deletes (red).
A few interesting things this visualization leads me to think about are
- how much churn happens in various parts of the code base?
- where are we spending time?
- is new-feature work well isolated? (perhaps an indicator of composition)
- are there specialists within the team?
Do any interesting things pop to mind when you watch the video? Let me know by leaving a comment.