FreshBooks Code Swarm
As one of FreshBooks’ newest developers, I’ve been spending a lot of time reading through the code, understanding how all the different components work in unison to deliver such an amazing product to its customers. While looking at the older files, I was amazed how some of them were barely recognizable from their current state. Suffice to say, our developers have been hard at work over the years. This triggered my curiosity regarding the app’s evolution from the original developers until now: Who was working on what? How quickly did the app grow? How long did each developer spend in the code?
To visualize answers to these questions, I decided to make a code swarm of our app.
Code swarms are a fascinating way to visualize the thousands of interactions between a project’s developers and its files. Developers and files are represented as moving elements. So when a developer makes changes to a file, it will briefly light up and fly towards that developer. The code swarm will only show files that have been changed recently and developers who’ve made a recent change. Conversely, when a file or developer has not been active for a while, they will fade away.
To create the video, I first downloaded the code_swarm application and followed these excellent instructions to extract our svn commit history and generate over five thousand 1280 × 720 images-each representing a slice of time in the commit history-before finally encoding all the frames into a video.
This is nearly four years of FreshBooks history compressed into just over two minutes.
Hope you enjoy!