Why Magic MattersI believe that as technology becomes increasingly embedded in people's everyday lives, their relationship to it becomes increasingly animist (though I'm using a definition of "animist" that's not strictly anthropological, but referring to an explanation of the working of the world as being primarily psychological, rather than physical).
As a designer, I want to know how to design for these expectations. Why not start by borrowing from a familiar and popular set of myths that offer a system describing the operation of the word which is somewhat animist, occasionally capricious, often controllable and tolerant of the occasionally unexplainable? Namely, the myth of magic. Magic can be an useful framework for describing many of the kinds of functionality that contemporary technology enables. Things such as: action at a distance, objects with memory, nonobvious behavior, etc. "Are you saying we should not tell people how things actually work and tell them it's magic?" That may seem like a pretty irresponsible move, but if the options are telling people nothing (as it is currently) with the hope they create the correct mental models for themselves, or giving them a framework that's known to be a fiction but serves as a conceptual umbrella for explaining the interactions between objects whose technology is (ahem ;-) indistinguishable from magic, maybe magical explanations will produce better experiences?
Others have talked about enchantment, especially John McCarthy of University College Cork, Ireland, who's currently editing an issue of Personal and Ubiquitous Computing on enchantment and published what's probably the earliest paper (1MB PDF) on enchantment in HCI.
One of the most common everyday magical items in myth is the wand. Last year, based on some work I saw at IBM's NPUC conference, I realized that wands were possible using a combination of wireless tracking and gesture recognition. This weekend, I decided to make one, just to see what would happened. It kinda worked. Here, written on an ancient scroll I just wrote, is how you can reproduce my eerie results.
- A Mac running OSX
- One Gyration "air mouse". This rare beast (found mostly in Froogle) is the key ingredient. It's a mouse that has a gyroscopic internal organ that senses the mouse's orientation. There are several other accelerometer-based mice, but this one seems to perform better, especially with broad arm movements (although it doesn't work well as an actual computer mouse in that situation: to use it as a pointer mouse you need to keep your arm still and just move your wrist).
(an Amazon link, though you can get them cheaper refurbished)
- USB Overdrive, a universal OSX USB human-interface device driver
- Quicksilver, the universal launcher utility
- The Abracadabra plugin for Quicksilver. There is a good set of instructions for how to use the thing, but for some reason I couldn't download it from within Quicksilver. If you have that problem download it here and then drag it onto Quicksilver to install it.
Thee yncantationneHere's how you put it all together.
- Install the mouse. As a USB human interface device, this means "unpack and plug it in." OSX may ask you to verify a phantom keyboard because the mouse base station (which, in the case of the mouse I bought, is huge--Gyration, wassup with that?) announces itself as both a mouse and a keyboard. I got the mouse without the keyboard, so I just closed that window.
- Download and install USB Overdrive. Restart. Open your System Preferences and set it up so that the right mouse button on the Gyration mouse does nothing but hold the Option key down. Your USB Overdrive control panel should look like this:
- Set the Quicksilver Preferences and modifier to match the one you set for the righthand button in USB Overdrive. Your Quicksilver Preferences should look like this:
You may want to set sounds at this point, too, since apparently Abracadabra has problems without sounds.
- Set the mouse tracking to minimal. Go to the "Keyboard&Mouse" control panel and move the mouse tracking slider all the way left. This is so that the gestures you make in the air do not get distorted by the operating system, which normally makes tracking proportional to movement speed (normally, as you move the mouse faster, the cursor moves proportionally farther). It should look like this:
- Set a gesture-based trigger in Quicksilver as per these instructions. Keep the gestures simple. I'm still experimenting, but basic back and forth lines seem best. Circles are doable, but hard to master. Maybe this is where the fabled practice all young wizards have to do comes in: you need to create gestures that are useful AND you need to learn how to perform them successfully. THAT, I leave up to you, but here's a basic one:
Now you have the basic ingredients for a functional wand-like device that runs under OSX using mostly free software. Grab the index finger trigger and push the right mouse button on the Gyration mouse, and wave it in the the air (you don't have to wave it at the computer screen, that's part of the fun). Enjoy the magic.
CommentaryeQuicksilver's gesture recognition software isn't the best (it's not like the IBM SHARK stuff I described earlier), but it's better than other alternatives that I've seen. And, because it works with Quicksilver, that means that there's a large library of knowledge about actions that can be triggered with the gestures. To me, the most interesting possibility, and one that I'll be playing with, is that Quicksilver can issue arbitrary commands, including command-line input to software that can control things back in the "real" world. Command-line input to Processing or NADA, for example, will allow easy magic wand control of things like, oh, Roombas, lights, giant mechanical beasts or teleporters. Hide the computer, disguise the mouse, and action at a distance is yours. Kinda.
[Update: it appears that my use of Abracadabra for this project is not an accident. I tried a number of different systems before settling on it and it just seemed right. According to this blog post, that's because a CMU student named Jason Cornwell developed the software for a class, in order to do just this, i.e. to make a magic wand using a gyroscopic mouse. I haven't found any documentation of the project online, but Blacktree acknowledges that he had a hand in making Abracadabra. Thank you Jason!]
[Update 2: Tod Kurt, my business partner in ThingM, took the initiative and blogged what he saw when he took the Gyration mouse apart.]
[Update 3: I expanded my thoughts extensively on the "why magic matters" section of this post in a talk I gave on 10/11/06.]