My friend Mike Bernstein emailed me to tell me that big chunks of the ZA archives are available on Archive.org. While hunting around, I discovered this entry from October 8, 2003.
I told you I was ahead of the game on multitouch systems.
Which reminds me of a question I’ve been wanting to ask for a while: does anybody know if there are any OSes or GUIs out there that recognize multiple pointing devices? Because I really want to try out some ideas I’ve had that would utilize such a system. I’m not talking about simply hooking up two different mice here; that’s essentially what the Wacom does (pen and mouse). I’m talking about having two different cursors, each one controlled by a different mouse. Obviously this has vast gaming potential; most 3DFPS games allow you to control your weapon targeting with the mouse and your movement with the keyboard. But that’s not what I have in mind. Imagine, for example, a modified pen tablet, where instead of holding a pen, you wear a fingertip. You have two of these, one for each hand, one on each side of your keyboard. Instead of selecting text line by line, you simply put one finger at the top left corner of the text you want to select and the other finger at the bottom right. Or, if you have multiple pages to select (as I often do), one finger holds down the selection and the other scrolls. Or you’re surfing the web. One finger does all the clicking, the other does all the navigation (scrolling, backwards and forwards through history, etc.) through gesture-based interaction. You don’t have to worry about holding down command keys or anything else — one hand interacts with the text, the other interacts with the chrome, in much the same way that speedreaders use one finger to scan the text and the other hand to turn the pages. One incredibly useful application of this tech would be to denote connections between onscreen data. For example: using an app like DENIM, you could throw up a flowchart and begin drawing links immediately and much more easily than you can with a keyboard and mouse. In point of fact, a two-handed interaction system like the one I’m describing would effectively replace the keyboard for 90% of computing applications. People are much better at two-finger typing than they are at thumb typing; imagine if, when you had a text input, a small Key Caps-style keyboard popped up at the bottom of the screen and you two-finger-typed your URL or filename or whatever. You’d only really use the keyboard when you needed to input long strings of text…if you were a touch typist, that is, or a half-assed hybrid like me (I use my left index finger and pinkie, my first three right fingers and my thumb to type, and I can do about fifty words a minute, sometimes more). I can think of a thousand uses for this. Apparently, so can academics. Of course, like most academic research, there’s nothing that seems to actually be downloadable or useful. There seems to be a driver for Windows 98, but that’s it. The only functional stuff I’ve found while Googling this subject are some C code samples and a few of demo executables for old versions of Windows. Nothing, in other words, that’s ready for prime time. I don’t know enough about compiled coding or GUI programming to even think about fucking with this stuff, but I can make a few educated guesses: * The hardware aspect is trivial. I suspect this because if I plug two mice into my Mac, they’ll both work at the same time (albeit interfering with one another). I seem to remember that the same thing is true of Windows XP. So the problem would be isolating the input from each USB device. * You’d have to work around the stupidity of the GUI coders…which means that your best bet would be to work in X-Windows, since you have access to the code. Identifying the mouse drivers in X-Windows and modding them would probably be easier than trying to do the same thing in MS-Windows. I’m not saying easy, I’m saying easier. * Your main problem would be adding another cursor. I would think that most apps (not including those, like graphics apps, which actively react to cursor location) wouldn’t take a shit if you had multiple cursors clicking. All they recognize is that something has been clicked. * Having said this, you’d probably want to write some new apps that take real advantage of the possibilities of multi-input interaction. I don’t know. Programming is hard. But do this, future entrepreneur, and I guarantee you’ll have a hit on your hands (both of them). Just give me credit for thinking it up. Not money, mind you, just credit. And a free unit.
I am Future Boy, predicter of novelty interfaces.