wiki:Projects/CodeSwarm

CodeSwarm

Code Swarm is a FOSS project whose goal is to provide visualization of source code revision histories. In simpler terms, using Code Swarm, one can create a video showing the commit history of a project.

JoelSherrill has created a Code Swarm video for RTEMS and has left some details of turning the raw Code Swarm output into a more meaningful video as tasks for students participating in Google Code-in 2011. These tasks to get from the where we are to what we think would be a nice video are:

  • Produce a list of "interesting times" in the video which show high activity or interesting patterns.
  • Produce a list of committers
  • Each committer can have an avatar in the video. It would be interesting to not use the default avatars. To do this, we will need an avatar per committer.
  • An RTEMS developer will provide a description of the activity at each "interesting time"
  • Add an introduction to the video consisting of at least
    • a title
    • credits which associates the committer used ids in the video with real names, credits the person who produced the list of interesting times, the developer who documented those times, and the student adding the introduction
  • Add text overlays at interesting times with descriptions. The descriptions may have a size limit and have to be trimmed.

The Code Swarm video and a file containing the generated frames that comprise the video are available on the RTEMS FTP site which is accessible via ftp or HTTP.

It takes approximately 20 minutes to generate the frames and about 4 minutes to make an AVI file.

Committers

The following user ids are present in the Code Swarm output:

  • joel - Joel Sherrill
  • ccj - Chris Johns

Interesting Times in Video

This is a list of interesting times in the video along with descriptions:

  • 12 May 1995 - Source code is moved from U.S. Army to OAR and CVS Repository started.

Converting Frames to Video

Instructions for converting the 12,000 frames that are in individual PNG files are at http://code.google.com/p/codeswarm/wiki/GeneratingAVideo. The instructions use mencoder and various support libraries. I used the following command to generate the AVI file:

mencoder mf://code_swarm_frames/*.png -mf fps=24:type=png -ovc lavc -oac copy -o movie.avi

Credits

  • JoelSherrill - configured and ran Code Swarm to produce initial video
Last modified on Nov 19, 2011 at 8:24:02 PM Last modified on Nov 19, 2011, 8:24:02 PM