Software projects are complicated. They usually don't start out to be, but inevitably even the simplest piece of functionality quickly ends up requiring numerous modules, versions, branches, all with various tests that can run against them and bugs that have been reported. Getting a good summary view of this complexity is one of the challenges of software engineering, and it is especially important for a project with a distributed team. The ability to see at a glance what has changed or what is broken is very valuable. At the same time, for someone new joining a project, the ability to see the landscape of the project is essential, picking up the shape of new projects is hard and time consuming.

Markus Santaniemi and a small group of developers from Finland working on the realXtend Naali virtual world viewer have built a way to automatically visualise the state of a software project in a 3D virtual environment. Using the OpenSim virtual world server, the system analyses the structure of a software project and generates a 3D scene that users can then explore to see what has been happening.



It visually indicates developers, committers to the source code repository, latest commits, new branches in the source code repository (the whole repository is represented as a growing tree). Bugs and enhancement requests along with their status get shown, and brilliantly the state of the automated build of the system is spectacularly shown - if the build fails, the tree bursts into flame and is only dowsed by a shower of rain when the build gets fixed. Poetic and whymsical - I love it!

This work makes great use of two core abilities of OpenSim - the ability to generate new content in a 3D space on the fly, and the ability to extend the server itself through the use of region modules. These capabilities make OpenSim an ideal platform for 3D visualisation. This particular project has me especially inspired, I can imagine in the future dry software project dashboards being replaced and project managers striding to the top of a virtual hill to survey the landscape of their projects, seeing some smoke rising in the distance and being able to dive straight in and investigate.

The video below gives a great overview of what the system looks like when run against their own Naali viewer codebase.


For more background on the origins of this project, see the opensim-dev mailing list as well as this comment from Toni Alatalo