Channels ▼
RSS

Design

Visualize This


Say what you want about music videos, some people find them inspirational. I'm on hold, however, waiting for my muse strike on behalf of the Trailer Park Troubadours (www.unhitched.com). On the other hand, Michael Ogawa sees no reason to be reticent. Ogawa, a Ph.D. candidate specializing in software visualization at the University of California, Davis, was so moved by music videos that he created Code_swarm (vis.cs.ucdavis.edu/~ogawa/codeswarm), a series of videos about the development of open-source software. Using dancing light, rings of color, and snappy music, Code_swarm shows the history of commits in software projects such as Python, Eclipse, PostgreSQL, and Apache.

In Ogawa's videos, the names of open-source contributors float across the screen, then fade away if they stop contributing. When a developer commits a file, colored dots representing new files—colored coded according to whether they're source code or documents—appear in random locations and fly towards the developer working on them, forming rings around the names. Developers working on the same or related files hover together; the names of programmers working on different parts of the software are farther apart.

What you see from the videos is that some open-source projects are the work of a single person over long stretches of time, some by small groups, and others by large groups in large organizations. Ogawa refers to Code_swarm as "organic information visualization," a term coined by Ben Fry (www.ddj.com/architect/207000454) to describe data as living, breathing systems. ("Information visualization" itself was coined by researchers at Xerox PARC.)

To tell the truth, I'm still grappling with information visualization, organic and otherwise. Maybe I should finish reading Ben Fry's book Visualizing Data, which is all about computational information design (and also the topic of Fry's Ph.D. dissertation). What Fry examines in his book is the nature of data, how we understand it, and how we can use sets of numbers to produce images or software that lets us view and interact with information. Granted, there are academic examinations of these topics, but much in the same way that Bruce Schneier's Applied Cryptography took a practical, applied approach to encryption, Fry's book takes a similar approach to data visualization.

But my question is this: Is this information visualization stuff really useful, or is it just more pretty pictures for the virtual scrap heap of technology? To answer that, I suspect we need to look beyond Code_swarm to projects like, say, Ben Fry's "All Streets" (benfry.com/allstreets), which is a compilation of more than 26-million road segments in the U.S. What's interesting about this project is that there are no outlines or geographic features specifically added to images—it's pure abstract data. However, outlines and geographic features organically emerge as roads are built to avoid mountains, and sparse areas convey low populations. A good example is the lack of roads east of the San Francisco area versus the crowded freeways in the densely populated Bay Area.

For that matter, it might be fun to turn the tables on Michael Ogawa and visualize the data having to do with Code_swarm. After all, like Eclipse and Python, Code_swarm is open source with freely available source code (code.google.com/p/codeswarm).

Hmmmm, I can think of other practical uses of this technology. When it comes time for the NCAA basketball tournament, for instance, visualizing the performance of specific players and their contributions to winning games might provide me with a competitive advantage.

In the meantime, it's probably a good thing that Michael Ogawa was inspired by whatever rock videos he watched. Can you imagine what he would have come up with if the Trailer Park Troubs had been his muse?

Jonathan Erickson

Editor-in-Chief

jerickson@ddj.com


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video