Thursday, March 19, 2009

Pragmatic Visuals!

A few months before, when I joined in my new project as a software developer, one problem was alarming me. This is a project which is running for the last two years. I need to understand the code to add value to the project.

If you have coded for at least a couple of years you might know that the programs of many software projects wear out by the sheer complexity of the programs itself. You need to be extra cautious to see that the programs do not rot.

I read hundreds of java classes in my new project which had thousands of lines of code. I generated the UML diagrams using IBM's Rational Software Architect. The diagrams were drawn in my 15" monitor. It was like looking at a football ground through a key hole. I could see bits and pieces of the diagrams in a single glance. I scrolled and scrolled and scrolled. My brain found it hard to store the previous images in it when I scrolled to new locations. Damn! I need something more magnificent, more useful.

I tried the eclipse pde incubator project - visualization tool to see the relation between the different eclipse plugins! Things are getting better and better.

Oh! World! We need to progress a lot with our visualization technologies to handle the complexity of already written code. May be... to generate code as well.

I wished I had a device like Tom Cruise had in Minority Report, where I can project the UML diagrams in the space around me. A 3-dimensional projection. I should be able to walk through the diagrams and see the connections between the classes, packages and plugins which makes up bigger modules. I should be able to turn the diagrams with small devices connected in my finger tips. I should be able to create new modules, modify it and generate code to see a running application with a few clicks.

With GEF-3d around the corner we may see some innovative tools in the near future.

Definitely human race will pick up to beat the complexity around us. See this video about a mind boggling gadget. No more descriptions, see it by yourself.


  1. Stan4J is another tool for that purpose. It's been a while since I tried it, but I liked what I saw - though it probably suffers from the same "gigantic view" problems you describe.

  2. Thanks for the information. I checked Its quite interesting.

  3. Hi Madhu,

    Just spotted this so excuse the late comment.

    You might also want to look at Structure101, I think you will like it! ;-)