Thursday, February 11, 2010

code_swarm: Visualizing software development via commit bits

code_swarm is a project developed by Michael Ogawa that takes the history of commits on a software project, ties those to the developer's name that caused the commit and renders it into a movie. Watching a code_swarm rendering reminds me somewhat of the old simulation "life".

You can see some videos that have been rendered here. Some examples include the Eclipse project and Python. Here's how the development of Apache looks:

code_swarm - Apache from Michael Ogawa on Vimeo.

I've always been fascinated by visualizing data. For me, I have a hard time pulling back and seeing the larger picture of a thing. That "thing" can be anything from a work project to a life goal or even something as relatively simple as books and magazine articles. Visualizing can help me see correlations that I may never have perceived otherwise. My goal when using visualization is to see information and then learn from it to be able to perceive similar information in other datasets without visualization.

A good example of textual visualization of a complex work is Chris Harrison's visualization of the Bible.

I've long been interested in visualization as a tool for network security. I enjoy Raffael Marty's work in security visualization. Visualizing things like firewall traffic, log files and software development projects can reveal patterns that may have only been vaguely sensed, and even that was only perceived by those that had 1) Have been around networks for a long, long time, and 2) Had the perceptive nature to discern those patterns.

Even pursuits like golf benefit from visualizing data from using different methods. For example, in golf some trainers will take video of a player's putting stroke and play it back in a loop at high speeds to reveal deviations in the stroke's path.

Is there anything that visualization can't help us with? I suppose that careful interpretation is necessary so as not to get caught into the "correlation equals causation" fallacy. However, I believe that visualization needs to be used more in our study methods and in the workplace. Especially in IT. How has visualization helped you in your line of work?

No comments:

Post a Comment