Venn Interface
From RCC 2007
Convenor & note-taker: John Abbe
Other participants: Mark Roberts, Bill Trost, Conal Elliott, Phil Tomson
These notes combine a RecentChangesCamp session & random encounters (JohnSechrest, Ward Cunningham, Michael Buland), an ImminentChangesCamp session - (Brandon CS Sanders, MarkDilley, LewisHoffman, EthanMcCutchen, RayKing, John) and an explanation of what a Venn Interface is.
John often wishes he had a Venn interface for managing people & mailing lists (in Eudora), and URLs & tags (in http://del.icio.us/ ). First saw it implemented in 1990, in educational software called Tabletop, as one of several ways of interacting with datasets (it also has graphs/plots of various kinds). Unfortunately it doesn't have any export or import, and only runs on the Mac Classic OS.
Contents |
What it is
The general idea here is a powerful way to browse and modify many items in many sets. There's also the chance for happy accidents. Seeing all of the items in front of you, in whatever sets you're browsing, makes it more likely you'll notice ones that are incorrectly or incompletely categorized. The bigger a screen you have, the more data you can work with, so this also becomes a good argument for getting a bigger screen :-).
This example describes using a Venn interface for managing an e-mail address book, but it would be useful for any bunch of items which can be in more than one category (contacts management in general, del.icio.us or other tagging systems for URLs, photos, etc.).
Displaying the data
There are several hundred people in my e-mail address book, and i also have a bunch of personal mailing lists. The three rectangles here labeled (A), (B) and (C) are menus which list all of my mailing lists.
I select "eugene" in menu (A) and all of the names of people in the eugene mailing list move into circle (A), and everyone else moves out of it.
I select "venn interface" in (B) and all of the names of people in the venn interface mailing list move into circle (B), and everyone else moves out of it. People who are in both the eugene and venn interface mailing lists move into the place where the (A) and (B) circles overlap.
I select "process arts" from menu (C) and again, all the names move to the appropriate area for whatever lists they are on.
Modifying the data
Now the fun begins!
Ward Cunningham became intrigued by this venn interface idea at Recent Changes Camp, so i drag his name into the area where Jean Russell already is, and as a result he is added to the venn interface mailing list.
Tom Atlee somehow got on all three lists, even though i've never talked with him about Venn diagrams. So i drag him to the left so that he's in the eugene & process arts overlap, which takes him off of the venn interface list.
Jean Russell is into process arts, so i drag her into the venn/process arts intersection.
I remember Conal Elliot from 2007 in Portland. He's into Nonviolent Communication and almost certainly process arts in general, i'll put him there.
Some additional possibilities
- Add a menu item for "Create mailing list". A dialog box pops up and you can enter the name of the new mailing list. All of the names zoom out of that circle of course, and you can click and drag names into it (or the relevant overlaps) to quickly populate your new mailing list.
- if the complete data set becomes big enough, the screen will be too crowded to be useful. One way to help with this is to add a fourth menu in the corner of the window. Whatever is selected limits the visible data set to just items in that mailing list.
- A contextual menu available through each name lists the mailing lists that person is in. Selecting one offers you a submenu of the circles (A, B, C) so you can change that circle to the selected mailing list.
- Add more sets: four circles works fine, more are possible but perhaps unusable. Ward suggests rather than starting with fixed circles having boundaries calculated and drawn around whatever items are in a given set, then having those boundaries "relax" toward a circular shape, dragging the items with them. Necessary overlaps will automatically form as you add sets, and given the natural clumpiness of data, you may be able to add quite a few sets without things becoming too messy. One problem with this is what to do when you then want to drag an item into an overlap that isn't visible (because there are no items already in that overlap).
- (add more)
People interested
- WardCunningham will ponder it, and if he comes up with a good solution will probably do it (Java). Excited about circles morphing/relaxing. Sending links abuot cool Venn stuff occasionally may prompt further pondering.
- Michael Buland & ArthurBrock? and David? interested, Michael said occasional e-mails welcome.
- JohnSechrest will pass a write-up to others who might do it. Specifically: Brad Neuberg - http://hatfactory.net/ - works in Dojo, could maybe do a web app pretty easily (he's reworked Douglas Engelbart's Augment, intra-page addressing). Also Rob Kolstad, runs a series of programming contests for high school students, might assign it. http://ace.delos.com/
- Brandon CS Sanders - wants it for his cell phone, Skype contacts, GMail mailing lists. Could imagine getting interested enough to do some coding on it.
- Bill Trost - might become interested to code on it.
- Suggest it to professors looking for student projects. How would one find such professors?
- MarkDilley - wants it for his cell phone, Skype contacts. Interested to advocate for it.
- Lewis thinks JeanRussell might be interested, she's been making maps of communities (by hand?)
- For Mark Roberts to be motivated, he'd want it to work with LDAP so any mail software could use it.
Lion's Implementation
Post-conference, 2007-03-04.
LionKimbro has made a first-stab implementation in wxPython.
Session notes
A possible roadmap for worldwide Venn domination:
- An implementation which imports data from a source (e.g. Eudora, GMail), lets the user view and edit, and then exports it back to the original source.
- Additional coding for other sources (e.g. del.icio.us, cell phones, Apple's Address Book, WagN data, etc.)
- Libraries which software developers can use to integrate it into their software.
Someone mentioned that it would be cool to be able to interact with WagN data this way.
Part of why Conal is not compelled, beside the limit to three sets, is that it doesn't capture the third state of knowledge - not knowing whether something is in the set or not. Possible solutions:
- let a circle be NOT something, and everything that is that third state
- use animation
- use color
- icon
Other visualization stuff:
- Ether Ape (visualization)
- Piccolo
- Magic Lens
Venn/visualization Humor
http://lukew.com/ff/entry.asp?124
Tangential
- A Graphical User Interface for Boolean Query Specifications (pdf)
- Venn Search Interface
- Semantic Regions -- assigning semantic meanings to regions, the Venn Interface is a particular instantiation of this idea
- BumpTop -- "pile" based interfaces; user interface tools to assist in sorting things out (though only keeping the meaning of the piles in your head...)














