Interaction in visualization is incredibly important, but often more tedious than it needs to be. I have developed a new way of brushing in parallel coordinates that uses the multi-touch trackpads on Apple’s MacBook and MacBook Pro laptops for faster interaction. The video below demonstrates the technique, and the source code is available.

This is a little experiment that has gotten out of hand a bit. I recently submitted a paper to a conference that doesn’t let me attach additional materials, so I figured I’d put the video up on vimeo and link to it in the paper. I also posted a link on my secondary blog, which got posted on Twitter, and which ended up being blogged by some other people.

If you’ve used a MacBook or MacBook Pro, you know how simple and intuitive the two-finger scrolling is. Similarly, there are some interactions on the iPhone that are so obvious (like the pinch for zooming) that it’s tough to remember how we did things before touch screens. I wanted to create a similar experience for brushing in parallel coordinates.

The idea is to map the axes to locations on the trackpad, and use several fingers to indicate different kinds of brushing. A single finger selects an axis, two fingers let you brush on a single axis. With four fingers, you can brush on two axes at the same time, either on adjacent ones or ones that have other axes in between them. There is also a somewhat unusual brushing method called _angular brushing_, which is very tedious to use with a mouse. Using three fingers, it’s very quick and intuitive, and great for finding outliers in the data. You can also flip and rearrange axes.

There are a few details that make this a bit more complicated, because it’s hard to maintain the horizontal position during interaction. So there is a certain “stickiness” to the first axis, which keeps it selected even when the fingers move somewhere else. The right mix of stability and flexibility is not easy to find, but I think I’m getting close.

The trackpad is not just a good fit because it’s a lot more common than large touch screens (also on some non-Apple laptops), but because it solves an interesting problem you have when interacting with stuff on a touch screen: your fingers get in the way. That isn’t always a problem, but in the case of brushing, it is. You don’t want to have to change the brush, lift your hands, look at it, put down the hands, adjust, lift again, etc. With the interaction happening on a different surface (and in a convenient location), you can focus on the program’s response to what your hands are doing.

The video below demonstrates the technique. It’s still quite a different thing to actually try it out yourself, though. It allows for very fast exploration of data, unlike any interaction technique I’m aware of. Using your fingers is not very precise, but that’s not the goal here, anyway: it’s about getting a feeling for a new dataset.

You can watch the video in HD on the vimeo site. The inset in the lower right is meant as a guide to show what the fingers are doing, not as a part of the actual user interface. People have suggested showing the location of the fingers as an overlay, but when you watch the video you will see why this would be a bad idea: the fingers don’t have to line up with the axes, plus the floating dots would be distracting.

I have also posted the source code and there’s an executable under the downloads tab if you want to play with it. Be advised, though, that this is a pure research prototype that demonstrates the technique but doesn’t do anything useful. The data is hardcoded and the program only lets you brush and rearrange axes, nothing else. The program requires Mac OS X 10.6 “Snow Leopard” and a recent MacBook or MacBook Pro.

Share →

5 Responses to Multi-touch Brushing for Parallel Coordinates

  1. Is there any chance that I can lay my hands on the related paper? I am working on a team that is creating the next version of data exploration tool for high schools students called Fathom. As we gear to create this next version, I am scouting for any and all research in the field of data visualization and am really interested in what you are doing.

    Thanks in advance,

    Vishakha Parvate

  2. Did you consider drawing the finger placement under the data and axes? It seems like it would help with calibrating your finger position on the trackpad with the interaction position on the plot.

  3. Li Tan says:

    I am very interested in such multi-touch interaction for parallel coordinates. Simultaneously, I am curious about that why you choose parallel coordinates. Is there some general rationale to design the multi-touch interaction for visualization forms? Look forward to have chance to read above mention paper.

    Greets
    Li

  4. Robert Kosara says:

    That might work, but I’m not sure if it really would help. The placement is actually quite easy to figure out by just moving your fingers around on the trackpad. I think any visual aid is going to end up being more confusing and distracting than helpful. But I haven’t done a user study, I’ll definitely need to try out a few variations.

  5. Robert Kosara says:

    The main reason is that I find most existing parallel coordinates tools cumbersome and slow to use. I also had the idea first when thinking about parcoords. Plus, they are a very well-studied and common technique in visualization, so they kind of present themselves as a testbed. But I definitely want to extend this idea to other kinds of visualization and other interactions as well.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>