Peter Young
Visualisation Research Group

Software City

Select the above image to enter the 3D visualisation
or you can view the full size image shown above.

Image Gallery

Select an image to view full size

About Software City

Software City (SoftCity) is a visualisation which attempts to utilise the power of metaphors by fitting the information to a metaphor as opposed to fitting the metaphor to the information. Whereas most visualisations produced in this project create an information environment based loosely on a particular metaphor (for example FileVis which utilises a city metaphor in the creation of its towers and districts), SoftCity takes a real-world environment and models the information onto that.

SoftCity is an information city which has buildings, streets, districts and people. These artefacts all appear as they should (within the limitations of the virtual environment), but information is mapped onto their various properties to create the structure of the city. For example, in SoftCity each building effectively represents a particular source code file. Each floor within that building represents a function definition in that file. This simple mapping allows the creation of all the buildings in the city which can range from simple single storey buildings to giant multi-storey towers.

Further information must be introduced in order to provide the city with some character, as opposed to a simple structure and arrangement of buildings. In SoftCity, the windows on each storey of a building represent the revisions which have been made to that function. Rather, the absence of a window marks a revision on that function. So, if a floor of a building has two windows either boarded up or broken then that function has received two revisions. Additionally, the age of a function is determined by the brickwork used to construct the corresponding floor in the building (all buildings are created with the oldest floors at the base). For example, if during later maintenance of the software system some new functions are added then these floors will be built upon the corresponding buildings in a more modern brick.

In order to provide filtering, grouping and classification it is possible to divide the city area into a number of districts dependent on some criteria. As a simple example, SoftCity is divided into two distinct sections, downtown which is south of the river and uptown which is north of the river. Any files (buildings) which have received greater than a certain number of revisions are placed in the downtown area. Both areas have distinct qualities, as the downtown area appears run-down with many boarded and broken windows. Indeed the metaphor extends further in that you would not want to venture (i.e. perform maintenance) into the downtown area as this has received the most maintenance, bug-fixes, updates and hacks and will typically be in the worst condition.

About the demo

In order to view this demo visualisation you will require a browser with a VRML 2 compliant viewer. It would also be an advantage to have a high color display configured.

Warning! Software city is an extremely large and complex VRML world. Some browsers may have trouble loading/viewing it. Performance will be poor regardless of machine specification, though it may be unbearable on less powerful machines. GLView seems to be the best VRML viewer for handling worlds of this size and complexity. Also note that incompatibilities between GLView and some other browsers may cause unforseen side-effects in the visualisations - they have all been designed to work with GLView.

This page is maintained by Peter Young, please send any comments, jokes, insults or general abuse to (

Last updated: Tuesday 13 May, 1997.