Testing Grounds

This section of my web page is put aside for testing purposes. If I am messing about with any new stuff or simply trying out some things for my home page, then this is the place I will work on it. Any links from here are subject to being dead, ugly or simply plain stupid.

In addition to this page, some of the main visualisations can be accessed from the demonstration menu. I seriously recommend you visit the demo page instead of this one. It Contains more detailed descriptions of the main visualisations and receives the brunt of any updates. It's also a lot tidier than this mess! Go there now!

Example integrated visualisation

A simple demonstrator to see how easy it is to integrate a number of views, namely 3D call graph, 2D call graph and source code window. This link requires Netscape Navigator and Superscape's Viscape plug-in.

Test Example integrated visualisation

Java Graph of Local Web Pages

Just messing around with the Java FDP graph layout example. I put a simple graph of some of my web pages in here and hacked the source to add colour information. Oh well, it looks pretty anyway and is great for stress relief. Pretty colours --- oooo look at them follow this node!

Test Java Graph

DiCE Visualisation

A simple visualisation intro for one of the projects Durham is involved in. Again, you need Netscape Navigator and Superscape's Viscape Plug-In to view it.

Test DiCE Visualisation

Miscellaneous Visualisations

The following set of visualisations are simply ideas that I have been throwing around (not necessarily good ones). These are just quickly created worlds which I have used to get a feel for some of the ideas. They all require Superscape Visualiser or Viscape plug-ins and don't particularly mean anything. All of these visualisations are based upon the same simple C program, lines.c, the source of which can also be found in the integrated visualisation described above and the planes visualisation below.


This visualisation represents structural aspects of the code as a series of nested planes. The planes start at the program level, within which is nested the single module - lines.c. Within this is nested seven functions, and within each of these the various structural features such as code blocks, loops, conditions, function calls and function returns are highlighted. This visualisation is linked to the source code to provide a very primitive correlation.

Test Planes Visualisation


This example attempts to map the control structure of a single function into a form of 'city' street map. The control is represented as the arrowed 'streets' while the data declarations and variable useage are represented as 'tower-blocks' of data.

Test CityScape


This visualisation attempts to provide an alternative view to a function call-graph using a number of moveable stacks. A second version is also provided which contains a larger data set and a controllable camera object.

Test CallStax

Test CallStax with a Larger Data Set

Integrated CallStax Visualisation

This visualisation combines the CallStax, Towers and Planes visualisations with the same 2D interface as used in the Integrated Visualisation described above. Interaction is allowed between all views and two roving cameras are provided on Viewpoints 2 and 3. These cameras allow viewpoint positions to be maintained and also provide a small toolset for controlling the visualisations. Both cameras are collision sensitive and will halt on impact. A switch is available to toggle inertia on and off.

Test Integrated CallStax


This visualisation was used in investigating various ways of representing program components to provide them with individual, distinctive characteristics. In this case, each function is represented as an axle. Attached to these axles are further axles and components which give some indication of the function control structure. The main aim here was to make the representations as distinctive and easily identifiable as possible.

Test Axles


Another attempt at producing individual representations of functions. This representation concentrates on delivering information about the function while still making each representation distinctive. This is done by a combination of presenting control structure, metrics information and a colour coded band to add individuality to similar functions. One of the primary goals of this representation is to have a fixed size and geometry to enable simpler integration into other visualisations.

Test Towers

CallStax using Towers

The same CallStax visualisation presented above, but with the coloured cubes replaced with the appropriate Towers representations.

Test CallStax