Gource: visualizing work on projects
Gource is a fun tool that takes your source repository, and outputs a video showing your developers as little gnomes dancing around the source tree building the program. I think it's a great visualization to demonstrate to the less technical members of our organization and the world, what a programmer does on a daily basis. The source-tree is simple enough to be graspable as program components, yet reflects some of the complexity we handle. Thus it shows pretty vividly how fractured a programmer's attention can be, and why we need time and space to develop.
I've run this on a couple of our own projects. I think this could also be useful in visualizing the activity of classes; for example in a wiki.
The little gnomes are contributors. The dots are files (colored by
file-type) and the rays coming represent changes to the file by the
contributor.
This doesn't reflect perfectly how much one contributes to a project--often the hardest parts of a program take up very little space. But it doesn't mean nothing either. At the beginning of the Mondrian project in May 2009 you can see Ethan filling out pretty much the entire application. Besides the initial skeleton, I don't contribute anything of substance until late June (and then I pick up, I think :-)
After the videos, I have some details about how I generated these.
Mondrian
Worth
MilleniumVillage
CCNMTL's Whole SVN Repository History (long)
How I made these
After installing gource, most of these were generated in a process that looks something like this. I downloaded images of each developer (from our staff page) and then for each project (checked out from Svn) I did:
cd my-svn-project svn log -verbose -xml > my-project.log python svn-gource.py -filter-dirs my-project.log |grep -vi mochikit|grep -vi tiny_mce|grep -vi yui > gource.log gource -640×360 -stop-position 1.0 -user-image-dir ~/pictures/ccnmtlavatars -hide-filenames -a 100 -s 0.5 -log-format custom gource.log -output-ppm-stream - |ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - gource.flv