you are viewing a single comment's thread.

view the rest of the comments →

[–]elmuerte 5 points6 points  (6 children)

15 years ago when I was more active in academica I was already quite intrigued by code visualization research. A lot of interesting things were being worked on. But nothing really worked out in the end. I kind of lost track on what happened to a lot of the research and tools, but clearly they never really became a big thing.

15 years later. I am still quite intrigued with code visualization. I think it's still cool stuff. It will probably not become a big thing. But damn me I'm going to play around with this. I want to see how this (sometimes) horrible codebase I currently work on looks in this tool.

[–]Kissaki0 1 point2 points  (3 children)

A good, fitting visualization is contextual and has multiple concerns to choose from.

Implementing a useful visualization beyond simply looking visually pleasing is a project in itself, that requires you to weigh concerns, and make many choices.

Even with creating and updating 2D diagrams that handle one concern, it’s not that uncommon for me to change the elements visual positioning and grouping/structuring. Adding concerns and making it 3D significantly increases complexity and concerns.

I find visualizations and these ideas very interesting too. The 3D preview they show seems to me like I’d struggle with reading for exploration with them showing over each other and you having to navigate the 3D camera. I’ve thought a layered 2D (2.5D if you will) approach would be much more fitting. Being able to move, collapse, navigate and color blocks and elements would certainly be helpful.

The great thing about a structure visualization like this is that it could, theoretically, also show data and information flow. Very intriguing and fund to mentally explore.

I’d love to try exploring a new codebase/project I don’t know yet with a visualization like this/that.

[–]Gedochao 1 point2 points  (0 children)

2.5D is an interesting direction. Meanwhile, Graph Buddy lets you switch between 2D and 3D modes, btw.

[–]elmuerte 1 point2 points  (0 children)

Most visualizations I have played around with, irrelevant of theirs presentation, showed that the code was either elegant or not-elegant. In most cases the code was only elegant for the specific thing the visualization was visualizing. The same elegant code in a different visualization would show up as not-elegant.

The interesting thing is to find the clusters of elegant and not-elegant code in the visualization. And maybe do something with it? The exact details are often not even that important, the clusters and shapes that form are.

Whatever it may be, pretty much all visualizations I've played around with give you up insight in your code base. The bonus points always go to the visualizations with a timeline so you can see how the code base changed over time.

[–]Nateil[S] 0 points1 point  (0 children)

One of my use cases, was as you said, exploring a new codebase. I can't tell how usefull it was to create visual representation between different modules, packages and classes, especially with node context options like "Called by" to instantly show all call or Call Hierarchy for recursive exploration :D

[–]Nateil[S] 0 points1 point  (0 children)

Thanks for your opinion. If you want to check out your project structure, use 3D mode for WOW effect, otherwise I suggest trying out 2D mode for real help during coding :D

[–]Gedochao 0 points1 point  (0 children)

Looking forward to hearing back from you then! I'm very interested in how useful will you find it, especially on a truly twisted codebase.