PROCESSING SKETCHES
Poem
Splosion
Folding
Bloodstream
Pull
Well
Decoplanes
Colorstorm
CircleForms
CircleForms2
Polyline
Bouncelines
Maeda lines

SVG EXPERIMENTS
river of orchids
crosstown traffic
spin
penta
maeda wave port
simple motion
KeySpline tool
more to come

SVG Links
Adobe SVG Zone
KevLinDev
SVG Wiki
Sacre SVG

Amazing Stuff
Levitated
bodytag.org
Yugop
Natzke
Praystation
the remedi project

Archives
03/01/2002 - 04/01/2002
04/01/2002 - 05/01/2002
05/01/2002 - 06/01/2002
07/01/2002 - 08/01/2002
08/01/2002 - 09/01/2002
10/01/2002 - 11/01/2002
11/01/2002 - 12/01/2002
01/01/2003 - 02/01/2003
02/01/2003 - 03/01/2003
03/01/2003 - 04/01/2003
05/01/2003 - 06/01/2003
12/01/2003 - 01/01/2004
01/01/2004 - 02/01/2004
02/01/2004 - 03/01/2004
03/01/2004 - 04/01/2004
07/01/2004 - 08/01/2004
08/01/2004 - 09/01/2004
04/01/2005 - 05/01/2005
07/01/2005 - 08/01/2005
10/01/2005 - 11/01/2005
03/01/2006 - 04/01/2006
04/01/2007 - 05/01/2007
05/01/2007 - 06/01/2007
09/01/2007 - 10/01/2007
10/01/2007 - 11/01/2007
11/01/2007 - 12/01/2007

Email Me


I'm really interested lately in the visualization of source code (in particular, but not limited to, Java). There are sort of 3 levels I'm interested in exploring: 1) Visualizing on the medium-scale, which is to say at the level of packages/classes/methods, where qualities of the visualization are driven by attributes of the software. 2) Visualization of the abstract parse tree of a method (though not necessarily in a tree form). 3) Displaying source code in a way that augments the traditional pure-text view (kind of one or two steps forward towards a more visual representation, but not a total departure from viewing source as text).

I have a couple of reasons for wanting to do this:

The first is that I like data-driven visuals, whether they're useful in the realm of making software or not (for a non-visual example, software that plays music which changes depending on the weather outside); furthermore, programs have a very rich set of information to be mined.

The other reason is that programming is hard--it ends up being an almost completely cognitive task, which humans by and large aren't really all that good at. Comparatively, humans are REALLY good at perceiving patterns, especially visual ones. There might be a lot of utility if we could shift the weight of some aspects of making software from the purely cognitive to the perceptual.

Some of this came about from wanting to teach some design principles to members of my development team, and thinking that it might be easier for them to write good code if they only knew what it *looked* like. This was also reinforced by my reading Martin Fowler's Refactoring book. His notion of "code smells" was really intriguing, and I thought it was interesting that he related micro-level design issues to sensory information. I mean, think of how much better your code would be if you could smell when things were getting ugly/unmaintainable!
posted on 3/02/2003 03:55:00 PM


Powered by Blogger