Last night, Atalasoft and Snowtide Informatics sponsored a meeting of the Western Mass Developers Group, which featured Ben Fry speaking about Computational Information Design and the Processing programming language. O’Reilly also pitched in by giving us a few copies of Ben’s book, Visualizing Data, to give away.

The talk was a fascinating journey through Computational Information Design, an interdisciplinary field that encompasses aspects of Computer Science, Mathematics, Statistics, Graphic Design, User Experience Design, and Human Factors Engineering. Visualizing Data goes into more depth, and you can see his early work describing this in his dissertation.

The main crux is that the process of data visualization has these steps:

  1. acquire – the matter of obtaining the data, whether from a file
    on a disk or from a source over a network.
  2. parse – providing some structure around what the data means,
    ordering it into categories.
  3. filter – removing all but the data of interest.
  4. mine – the application of methods from statistics or datamining, as a way to discern patterns or place the data in mathematical
    context.
  5. represent – determination of a simple representation, whether
    the data takes one of many shapes such as a bar graph, list, or
    tree.
  6. refine – improvements to the basic representation to make it
    clearer and more visually engaging.
  7. interact – the addition of methods for manipulating the data or
    controlling what features are visible.

Each of these steps require skills from traditionally different fields – and  Computational Information Design unites them.

A key aspect of his work is the development of Processing, a programming language designed to be accessible to non-programmers, but powerful if needed. It has many simple abstractions to make graphics and interaction programming very simple, and can export to an Applet or Application for easy distribution. Much of his talk was dedicated to showing us some of the visualizations that have been created using it, including some that interact with the real-world in interesting ways. Works ranged from DNA visualizers, to book edition differencers and algorithmic art. OpenProcessing has many examples with full source code.