Gadgetry: Leap Motion
...I find myself with something to share. I preordered this gadget, oh... something like nine months ago. Shipment was delayed, I think for software reasons... first three months, then six months, then seven... but yesterday, it finally arrived! And I have a shiny new toy to play with!
The Leap does this:
And now that I've actually had a chance to play around with one, here's what I've learned so far:
1) You think your hand is steady? Think again.
Part of this is that the Leap is really, really sensitive. It's supposed to distinguish movements down to an absurdly tiny fraction of a millimeter -- which are more subtle by far than ones I'm used to making. The other thing I find difficult to adapt to is that an area in the Leap's field of view doesn't map quite the way I expect to a place on the screen -- largely because it gauges relative to itself, not relative to the monitor. Given that the only motion-detection technology I've worked with before is the Wii, and the Wiimote is oriented to the screen, my conditioning is all off. But the biggest thing I've come away with so far is that my hand doesn't actually do what I think it does -- that 'steady movement' actually wobbles all over the place as far as the Leap's concerned.
Hopefully practice will help fix this. It definitely doesn't help that the Leap's detection zone is oriented vertically, and the 'touch plane' is an utterly imaginary, intangible thing that exists only in its perceptions. I didn't realize until now how much I relied on a backing surface, e.g. a notebook, to brace against as I draw or write. Something I intend to play with is turning the Leap sideways and running the touch plane along the desktop; then it'd basically act like a tablet, without the tablet. In theory.
I've also found that tools help a surprising amount -- my hand with a pencil is way more steady than my hand by itself. Funny fact.
2) Touch control is impressive in things designed specifically for it... when it isn't tear-out-your-hair frustrating. Touch control at the OS level is... not really there yet.
Not that the second part should really be surprising or anything; after all, touch input devices are still very new, and OS developers have other things to factor into their programming, while people designing apps for the Leap only have to worry about the Leap. It might be different for Windows 8 (though I think even that isn't geared towards 3-d motion control), but Windows 7 is definitely clunky in the touch support arena -- interacting with the OS is not like interacting with the apps shown in the video. But maybe someday it will be! And in the meantime, it's manageable... if rather slower than using a traditional mouse, at least now while I'm starting out.
As for the apps... well, right now, the majority are games. That was disappointing; not that games aren't cool, but I'm more interested in every other usage of the Leap. Some of the apps I've tried are really straightforward to use: you point, you swipe, you grab, and things happen. There are some that just baffle me, though -- in one, I couldn't even figure out what any gesture was supposed to do. And then there's the Jenga-like game, which is simple in theory but takes every advantage of the Leap's sensitivity... if you aren't right on, blocks go flying apart like they've been greased. I've toppled more towers right out the gate than actually successfully removed blocks. Good training, though.
And exhausting. Holding your arms up and waving your hands around in deliberate, focused ways turns out to be very tiring. Something else practice shall have to improve.
But all that aside, substituting a pair of chopsticks for my mouse is just fun.
3) ...I'm going to have to break down and learn some flavor of C. You know, in my copious amounts of free time.
I'm a self-taught programmer; I've learned things more as opportunity afforded (or as inspiration struck) than through formal education. I can write in Tcl, Java, R, three obscure languages specific to games; I've done basic stuff in Python, too... but I've managed to avoid dialects and derivatives of C throughout. Not to say that C is a bad language... I've just been able to get away without it for my entire decade and change as a programmer. But it looks like that's about up now!
The Leap has an API, of course; that's how apps get written. Now that I have one... I want to get into those nitty-gritty details and write something for it myself. They have APIs for quite a few languages, actually. I could write for it in Java... but I've become rather disillusioned with that language, and I don't much care to break it out again. I could dust off and hone my Python skills... but that's apt to be just as time-intensive as learning C would be. My language of choice these days is Tcl, which I'd be happiest using here... but I'd need a C interface between Tcl and the Leap. Hence, breaking down and learning at least enough C to be able to write that mediator.
Pencil that in on the to-do list... someday... |