One of the two half-day tutorials I attended was on building visualizations for the web. It was billed as something of a hand-on tutorial on Processing but ended up just being a talk, which was kind of disappointing. Here’s what I took home:
- The “show everything” principle: dump in all the data right away and allow users to winnow down, not up
- “If you can count it, you can color it”: map values to colors, there are algorithms to do this nicely (e.g. ColorBrewer)
- For non-numeric data, take an MD5 hash of a unique identifier and assign that to a color, to make colors unique (IBM History Flow)
- “Scented widgets”: sliders that show previews of the data (c.f. Bleep, which has scrubbing sliders to visually represent the song)
- Size metrics for visualization: technology vs. number of data points
- Ideally visualizations can be bookmarkable and shareable on sites like Digg
- Visualization libraries for Java and Flex: Prefuse
1. JavaScript/HTML: 1,000
2. Flash: 10,000
3. Java: 100,000+
…but download size becomes an issue after 10,000 data points.
Someone asked the most important question (to me, anyway), which is: Processing is great and all, but what can we do about the fact that Java applets suck? The speaker admitted it’s a problem and that his firm mostly ended up using Flash for client-facing applications. This is a real drag. Processing is great and I already know Java. I don’t want to learn Flash, and I wouldn’t trust an open source applet implementation after dealing with gcj.
I have an idea for my next experiment with Processing and it would end up producing a static image. That might be all that can feasibly done with it for now outside of kiosk or downloaded applications. Bummer.
This book, by one of the main developers of Processing, did come recommended and I’m going to pick it up.
