I am researching on whether a 3d environment presenting multiple properties of a software is helpful.

The background idea is that having more properties helps to construct a unified mental model rather than multiple mental models with multiple relationships with other.

We first look at the visualization generated by some tools on a example project.

2D visualization


UML view of parital class heirarchy of the example project.


Like the above UML diagram but with the methods included


This is a screenshot of visualization generated by X-ray. It is a fit-screen view that shows all classes in the example project with their hierarchies as lines connecting boxes and lines of code as length of boxes.

X-ray can be downloaded here.

3D visualization


My current prototype inspired by CodeCity. This is a screen-shot of visualization on the same project the one visualized by X-ray above. Each colored box represent a class and class hierarchy is represented by box stacking. Height of box is proportional to number of methods of the class.

This prototype is developed as a eclipse plugin which can be downloaded here.

To install, unzip content and paste them into plugin folder under your eclipse program, that is


Restart eclipse if it is running. To visualize any project, right click and select “Visualize with Codstruction”.


I need to verify whether doing such a visualization tool is useful before proceeding further so give me your views by answering the following questions:

1. Does a multiple properties representation helps more than a single property representation? If so, what software properties do you think is useful to be visualized together?

To give an idea on what a multiple properties representation is, take a look at the example above. X-ray tool is representing two properties at the same time, the length of code as the length of the box representing a box and the hierarchical structure of the classes.

2. Will 3d be better than 2d is doing the job of representing multiple properties?

3. Will you prefer to use a 2d or 3d visualization tool to do visualize multiple properties?

4. Do you use software visualization tools? Why so?

5. Rate your experience in programming ( 1 – 10 )