Friday, April 2, 2010

Beautiful Evidence of Committers

Background

A couple years ago I got turned on to Edward Tufte's books about visualizing data. It's inspiring work, showing the value and beauty of data-rich visualizations that work at multiple levels. Since then, I have wanted to apply the principles he espouses in my own work, leveraging software for data processing and interactivity.

This is my first attempt. I wanted to visualize who contributes to a given project and how long they've been involved. I knew I had speedy access to the commit logs via git, but the choice of tools or languages to process and generate the display was harder to make. I opted to try using Perl (a language ingrained in my memory from using it at the LJ World) and HTML/CSS (ingrained from numerous projects and jobs).

The Evidence

I'm happy with the result. You can quickly see when people started contributing, and the changing rate at which they joined. And you can see how long any given contributor stayed involved. I generated charts for a few git repos I already had checked out, including Banshee.

Screenshot of script's output ran against Banshee's repo

This is a scaled screenshot of the rendered HTML output, which I encourage you to click through to since it has tooltips and is zoomable in your browser. The script is available, and barring bugs should work on any git repo.