<< ben fry

Visualizing the evolution of software projects

While it's obvious that the code in a software project changes over time, less obvious is the nature of how the code how individual changes have taken place in a broader context. Projects are typically structured as a collection of files that are added, removed, and reorganized throughout the course of development. The contents of the individual files are modified, line by line or in large pieces for every fix and feature.


(Click thumbnails for a larger image. Note that the actual prints of these projects are 32 inches wide and 50 inches tall, so the web is a terrible format for them, and contradicts the goal of seeing all the changes at once).

The revisionist software generates an image that shows the evolution of the structure and content of the Processing project over time, from its initial inception through forty releases. The experiment consists of large-format printed pieces to depict broader changes over time. One image shows an overall picture of the changes, with each column representing one version of the software. Lines are drawn between the columns to connect lines that have changed. Notable changes can be seen for the removal of one large file (bottom, middle), and the later addition of a new file (top, right), or a spike in activity (about two-thirds to the right) coinciding with a push for the initial alpha release of the project. The second image shows a detail of the image, zoomed 13x to make the text of one portion of a column legible.

While the method of depicting changes between versions of a file is not new, the representation of many versions in a single instance is less conventional. The result is a depiction of the organic process in which even the smallest pieces of software code become mature through the course of its development, as they are passed between developers, revisited for later refinement, merged, removed, and simplified.

This project was created as part of my "Visually Deconstructing Code" series shown in the Ars Electronica 2003 CODE Exhibition. The series was made up of several short sketch projects done in about two days to one week apiece.

<< ben fry  |  summer 2003, last updated november 2003