Leap Motion: Amazing, Revolutionary, Useless
hanselman.com
hanselman.com
The theremin is an electronic musical instrument, played by waving your hands in the air. It works by detecting RF capacitance between a pair of antennae and the player's body. You can see the Theremin being played at the YouTube link below.
Playing the theremin is incredibly difficult, due to the lack of tactile feedback. The human body is very poorly equipped to point precisely at an arbitrary position in free space. Only a handful of players can achieve anything better than squeaky science fiction noises and even virtuoso players struggle constantly with intonation. Modern theremin technique depends on a system of discrete hand gestures, which reduce the player's dependency upon coarse proprioception.
If the Leap Motion is to have any real utility, it will need phenomenally sophisticated software, to interpret intent from hand motion rather than simply passing the hand location as a raw input. The human body simply isn't capable of making the kind of movements that the designers of Leap Motion seem to expect, even with a great deal of practice.
Also, a theremin is always on, you can't for example turn the detection on or off based on the amount of fingers you hold up.
What works very well with the device is coarse movements, especially relative hand movements. What doesn't work so well is finer gestures (1/100th of a millimeter motions of all 10 fingers? ha).
This app is a perfect example: https://airspace.leapmotion.com/apps/cyber-science-motion
You can use your hands, kept flat, to spin around / zoom a 3-D rendering of a human skull. You can also point at specific elements on the skull. Both of these coarse gestures work great, and the experience is incredible.
However, the app also unfortunately has a "click" gesture to pick apart elements of the skull - you click by spreading out your thumb and then folding it back in. Works terribly, as this fine gesture is detected maybe 50% of the time. It should've simply been left out.
I showed this app to my dad, who's a doctor, and he was blown away. He was visibly excited about the potential for a device he can use to spin around CT and MRI scans in the operating room without having to touch a mouse/joystick - currently he has a person doing this for him to keep things sterile, and this can sometimes be frustrating.
The leap, at least in its current incarnation, reminds me a lot of Google glass. Both Google/LEAP and their proponents say the devices are going to change the world. Maybe, maybe not. Neither device works perfectly like what you see in the heavily edited demo videos. But both can be invaluable in certain specialized fields, today, as long as folks are realistic about what can be done with them.
This is exactly the value proposition of my startup, TouchFree Labs. We're developing software that uses the Leap Motion Controller to allow surgeons to manipulate medical images inside of the operating room. You can see a demonstration of an early prototype here: http://www.youtube.com/watch?v=WaO-cimDOEQ. Demo starts at about 35s. (Apologies in advance for the low production value.)
Right now our bottleneck is medical expertise, and we're looking for surgeons who would be interested in collaborating with us. We're developing workflows that are tailored for different types of procedures, which requires very specialized knowledge. The application also learns the nuances of individual users' movements to improve gesture recognition, which requires lots of data.
I don't know how far away you are from Toronto, but if you could pass the message along to your dad, I'd be very grateful--if only to get some basic feedback. But if he's interested, he could be among the first surgeons in the world to use the Leap Motion inside of an operating room.
BTW, not sure if you saw the following video - it was embedded in the last newsletter from Leap, and shows a vet controlling OsiriX (an open source viewer for medical/DICOM images) using Leap: https://www.facebook.com/photo.php?v=10152121411384392
Looks like a little hokey compared to cyber science or your app, but the approach of simply plugging into and enhancing an existing viewer seemed quite pragmatic.
Re: video production values, one simple improvement would be to start with action. Start with a quick clip of you manipulating the image, without any explanation. After you've elicited a "Wow!", then explain.
Lunch would be great! Send me an email and we'll figure it out.
And thanks for the tip regarding the video; I'll keep it in mind for the next one.
I think the article is good coverage of the state of the device.
Disclaimer: I work at 3Gear Systems (http://threegear.com), developing technology that possibly competes with the LEAP. We solve clicking by tracking the entire hand -- not just the straight finger.
Fine gestures like clicking do indeed work terribly on the Leap. Their own app (Touchless) uses a difficult "poke" gesture for clicking vs. some other coarse and easily-detectable gesture.
The one thing that Leap has going for it is though is that it is small and positioned under the wrist, which means that installation is super-easy, and at some point it will be built into some laptops and keyboards. This means it will likely do better in the consumer space. (assuming they can fix all the bugs, that is)
However, if your technology can detect more gestures robustly, it will do WAY better in professional environments where ease of installation is not such a big deal (e.g the surgery room, animation studios, etc). I'm sure you already know this, but just typing out my thoughts :)
We're actively working on supporting smaller / shorter-range sensors as well. You probably already know that in addition to the Kinect, a lot more depth cameras are on the market now: PrimeSense's Capri, SoftKinetic, PMD, Inuitive Tec, etc. All of these companies have introduced gum-stick sized sensors that can be embedded in a laptop or monitor.
the other alternative I'd see would be to have a virtual representation, and to be able to "click" on it, but it isn't really for a near future...
"this" for clicking, "draaaaaaaag" for dragging.
It should improve drastically when the new Kinect from Xbox One gets released for Windows.
1. First and foremost, gorilla arm.[1] My presumption with the "interface of the future" is that it's needed for prolonged use. So, first thing's first, the interface can't be one where our arms require our hands to be higher than our elbows. Unless of course our species got a whole lot stronger in the forearm to support such a feature. Don't see our species doing that anytime soon.
2. Feedback - Right now the feedback loop is eye->brain->hand->brain->eye (repeat) where the hand's pressure against a solid surface is the most important feedback response. With the minority report style interface we currently have a massive delay (comparatively speaking) between the brain->hand->brain loop. We also have to iterate the whole loop much more because we need to constantly assess with our eye where our hand is in 3D (not digital) space. Now let's say the technology gets much better and reduces this to 5ms. We are now bound by the differences of our synapses firing between touch and light. I could be wrong, but it's my assumption that due to the speed of light being the way that it is, that "touch" will always beat "sight" in performance.
For prolonged used applications my bet is on adaptive surfaces. For short term (turning an stove on, flicking a light switch, etc) interfaces I potentially see this Minority Report style interface happening. But does the benefit cost of innovation? Personally I think we are fooling ourselves.
[0] - http://www.ted.com/talks/john_underkoffler_drive_3d_data_wit...
[1] - http://en.wikipedia.org/wiki/Touchscreen#.22Gorilla_arm.22
I'm using a Leap controller right now, with BTT for Mac/Touchless for gesture-based control. As I read through a page I can simply stick my hand out and wave it up to scroll down the page - it's a phenomenal experience for passive reading as I don't have to break focus to reach out for my mouse/trackpad. I've also configured some additional coarse gestures to launch mission control etc.
Using the Leap for such brief, coarse gestures avoids both the problems you've mentioned because my arm is resting on my desk, with fingers just a few inches above my trackpad/keyboard, so no "gorilla arm" problems; the gestures are coarse, requiring very little hand-eye co-ordination and finally, the gestures are brief so no fatigue problems.
All of this breaks down once you start trying to do any finer-control gestures, like trying to point at links and click on them like the OP tried to do. IMO the Leap should be used to augment the keyboard/mouse as a secondary interaction interface that you use occasionally.
I totally accept that commenting on a LEAP with out first using one could / will make me look stupid.
Again, I'm not saying that using the Leap for OS interaction is ground-breaking and akin to the first time I ever used a mouse - it's simply a nice addition to my current setup.
The real value proposition is not necessarily in applications designed under existing UI paradigms like scrolling text. It does, however, let you accomplish "science fiction" effects like changing the camera position on a 3D model far, far more easily than the mouse.
I can see this being an awesome technology in an operating room where they don't want to touch things for sanitation reasons. I have a hard time imagining how it is useful in my day to day use of a computer.
We got one of these devices. And did the demos waved around our hands to move through google earth but then we were wondering so our hands are getting tired and we couldn't really see how this was better than a mouse or joystick.
Maybe it would make it cool for interactive kiosks or cool little showroom gimicks for prolong use, forgetaboutit.
1. Gorilla arm -- keep your hands low. We support tracking and interactions literally 1cm above the keyboard / desk. We're mounting the camera above the monitor to achieve this.
2. We use gestures with built-in physical feedback. For instance, our click mechanism is a "pinch" which brings the thumb and index finger tips together. You can "feel" the physical touch event between your fingers when you trigger a command.
Shameless plug: an old video showing interaction with Reddit, Google Maps, browser. http://www.youtube.com/watch?v=U0WLh7WNxCI
https://github.com/uacaps/MotionGestureRecognizers-ObjC
https://github.com/uacaps/MotionGestureRecognizers-CSharp
---
We're hoping to start the community foundation for making tools that help make Leap extremely usable from both a development and from a user experience standpoint. The Leap is awesome, beautiful and we think can be used in a myriad of applications.
For text editing / word processing, a good keyboard is often all what's needed, and the use of mouse is often discouraged by gurus.
I still can easily imagine using the Leap Motion device while editing images and especially 3D models. Even more I can imagine using it in games, especially games written with this device in mind.
I don't own the device but I tried it. What's great is that you don't need to wave your hands in the air, Minority report-style; moving your fingers us enough. I wish it was built into a keyboard; it would replace a touchpad / trackpoint easily, adding much more capabilities.
BTW does anyone here remember how clumsy were mice on PCs in, say, 1992?
This may very well happen if the Leap takes off. They already have distribution deals with HP and Asus; the next logical step would be building it into the laptop. Should be quite possible since the device is small and relatively cheap.
I came here to state this. I'm studying interaction design, while I understand the author's frustrations, the problems do largely seem to be to be poor interface design for how to use the data the leap collects about your hand (and the visualiser demonstrates how accurate that data is).
Basically, the current basic demos try to mimick a mouse by way of using extremely clunky gestures. That won't work: for this to take off, the interface needs to be designed from the start with gestures in mind. I have some ideas on how to do that, but it will require some further tinkering and testing.
The sensor itself is amazing and in my experience very reliable - although I might be biased after having tried to design gesture based interfaces with the Kinect and not succeeding due to its technical limitations and unreliability.
With a mouse, you have at least one button you can signal an event with.
Imagine doing a UI where you didn't have a mouse button. All you can do is move and point. That's a Kinect, for the most part.
I haven't used a LeapMotion, but I suspect it's the same problem; there's no way to generate a discrete event. It's all fuzzy. Did your fingers touch? Did you wave in a particular way? Some fuzzy matcher is pumping out "90% probability of event X, 75% probability of event Y" every few milliseconds, and it's up to higher layers to turn this goo into decisions that people are happy with. It's hard at all layers.
I really think you need a button, a clicker. Something "hard" in the UI that slams a voice of reason into that fuzzy tower that's continually only able to /guess/ what you're trying to do.
[We wanted a clicker on Kinect. Politically impossible. I think it would have helped a lot.]
We've done it: http://threegear.com Here's a video of tracking arbitrary hand motion using a Kinect-equivalent sensor: http://youtu.be/exZ6wukQCpk
The video on your website is significantly more impressive than the linked youtube video. That being said, I still didn't see any "clicking". Perhaps I missed it.
Take a look at a typical laptop; its trackpad also can't seem to generate click events. Still people tap on it and happily ignore hardware buttons (if they're present at all). Same applies to the wildly popular touch screens. Despite the fact that the finger's projection on a touch surface is large and fuzzy, it allows for rather fine motions.
Same thing is with Leap Motion (and probably Kinect): you can define a 'click zone' on a hard surface, like your desk or screen, or tap your fingers one against another. You instantly have 8-10 'mouse buttons'. Finger touch is pretty well-defined: not only positions but velocities of the fingers change in a discernible pattern.
I've got some really cool (still a big part for me) and useful stuff working, augmenting my mouse/keyboard use. For example, a finger to the left minimises and two fingers to the right opens a list of recently used apps.
Yet I'm very conscious that everything would just be better suited to a keyboard shortcut..
I never bothered with Touchless and mouse emulation things; years of 2D GUI design isn't suited to this kind of interface. "Midnight" is a my favourite Leap app but I think that's just an iPad app that lends itself very well to the leap input too.
The first thing that I noticed was that it couldn't take the range of the 60" television that we had hooked up to the traffic software, so I scaled this down to a Thunderbolt display, and tried again. In my tests, the recognition for the thumb was sporadic, if not completely missing -- in both my (fat guy) test as well as during the testing of the local personality (non-fat guy).
I then made some changes to our software to try to minimize the effects of the natural movements of the hand -- I turned down the sensitivity to attempt to compensate for the normal shakes and jitters that you have with your hands. This gave it a better feel, but, the traffic reporters still missed the feeling of touching the display and watching that display interact with your touch.
They're still neat devices (I really wanted to say neat toys, but, I don't want to cheapen the work that the Leap Motion folks put into this thing), but, I'm having a hard time implementing them in a way that would work for us...so they're sitting on my shelf, waiting for a project that could use them (or, take them to my local hackerspace should I not find a good project for them shortly)...
I guess I just got another hunk of junk to put in the failed-devices-closet... :-(
Otherwise, The gestures used by apps is something that needs to be carefully crafted. For instance Touchless, the mouse replacement, simply doesn't cut it; you'll find yourself reaching out for the mouse/trackball/trackpad within the first 10 seconds.
The leap gets effected by strong light sources on the ceiling. You might want to use it facing downwards if that is an issue. Also, if you are wearing a watch or a ring, it might get confused with the reflection.
Did I get this right? Leap Motion vs. Kinect:
- LM is smaller (significantly);
- LM is cheaper (significantly);
- LM is more accurate (significantly);
- LM has almost no real apps (mostly concept demos).
If these are all correct I find Scott's post nothing more than a "normal", "the competition sucks, too", Microsoft type of post.The LM is very short range, so you couldn't use it like a Kinect. And you wouldn't plug a Kinect into your PC to watch your fingers move either.
On a side note, it's still quite amazing that gifs are still the simplest way to show short video clips on the web.
There's some technical details at https://mediacru.sh/demo .
Draw your own conclusions, but that's how I have experienced it.
Claim "gifs are still the simplest way to show short video clips on the web." agreed.
Think about you hands as five friends trying to play connect at the same time and you can imagine the kinds of occlusion problems you might face.
Still, I, and probably others, like the leap. It's not useless. You just have to exploit it the right way, looking for natural interface design beyond a Tom Cruse movie.
The biggest free air interaction problems are (1) making visible what the available gestures are, and (2) providing tangible or visible feedback. You don't get to see and feel the the interaction like you can with a keyboard or less digitally inclined tools.
Video demos here: http://software.intel.com/en-us/vcsource/tools/perceptual-co...
- There's no apps yet that have made me go wow. - The range is quite small - The motion of hovering an arm in front of you is extremely tiring after more than 10-15minutes. Try holding your arm out in front of you for that long without moving and you'll see why.
The reason Kinect was a success is that you can take real-world activities such as dancing, jumping over obstacles, jogging (on the spot), and translate them into an interactive digital version.
With the Leap, I've yet to think of a real world scenario where I would be waving my hands in front of my chest, that would translate well into a digital experience. Conducting an orchestra would be one good application for this, perhaps training conductors, but I couldn't think of anything else.
The precision "problem" can obviously be addressed with software.
That said, I do believe the absence of killer utility is a problem for Leap right now since it came out with a decent bang and now the less than favorable reviews are dripping in. I think they would have done themselves a significant favor by having a killer app ready from the outset. I also think they need to encourage people to look beyond simple human-computer interaction. Apparently these things could map a whole football game or count the number of people at a concert. Things like that. I also think the commercial angles will be better for business.
If I can get it to do more, awesome. But that's enough for now.
Long answer: When it's plugged into the external monitor/keyboard/wacom tablet/leap/etc, the laptop is on a shelf beneath the main desk surface. It's completely out of view when I'm standing there working. I've got a 24" monitor on an adjustable arm; I don't need a second screen. Or want one; if I have two screens next to each other I inevitably go crazy if they're not exactly the same color profile.
(Photo of my setup: http://egypt.urnash.com/media/blogs.dir/1/files/2012/08/desk...)
I think it's greatest potential will be in gaming. Imagine casting a spell by using the appropriate arcane hand gestures. Or swinging a sword - it can tell the difference between an overhand and a side cut, and a blocking move.
I've had a Wii, and a Kinect, and gesturing as input got annoying very quickly with both. It's something that just sounds fun, but isn't.
Even with the Nintendo DS, when you'd use a stylus to trace a certain shape to trigger an action, it didn't translate well to sustained gameplay. Though it remained workable longer than with Wii/Kinect gaming. Simple swipes with a stylus or finger (on a screen) continue to work well, whereas even simple arm or hand gestures quickly become annoying and fatiguing.
It turns out that pressing buttons works just fine, and is actually ideal, even if other input methods sound sexier.
Current input schemes involve a lot of support of the hands and arms. This waving hands around in the air offers no physical support.
So, I think that its use will be limited to a subset of tasks, where it will be revolutionary, but much harder to integrate in to general use. Simply because of fatigue.
I have grave doubts about devices that ask us to give all of that up. The medical apps talked about above seem like a pretty good use, if you need infrequent medium-to-gross motor control of something in a sterile environment.
So it does have potential/use.
If MotionSavvy can notify me when I get it wrong, very nice!
On my phone, to apologies if this is a duplicate of another thread.
What do you guys think?
Then the kinnect (I guess one on each wall) would monitor larger movements.
I will nitpick the word selection that "capable" is nearly useless in a user interface. It needs to be nearly 100% reliable or its useless. 99% of my interaction with Kinect is my daughter crying that she can't navigate menus in her dance games and is all frustrated, followed by me being all frustrated and swearing about how if only I could bypass this POS and use the buttons on the controller I would be done twenty seconds ago and I hate Kinect with a passion. It works fine for gross motor like my daughters dance games but useless for fine motor. Perhaps in the future I will write SQL statements by performing an interpretive dance at work, but I hope not.
The failure rate is vital... If I'm typing this at 100 WPM, which is probably about right, then a 99% motion detection success rate means I'd swear and hate motion detection and have to stop and fix an error, what, every six seconds or so? All day long? Forget that, I'm sticking to the keyboard and mouse, I don't have the patience for 99% success.
Most people make sure their product is useful and working before selling it to people.
If you bought a car and the brakes mostly worked, would you be happy?
If you take someone's money and give them a product they have every right to review it and point out both the good and bad points about your product.
I thought the review was very fair, and I"ll be the folks at leap would to. They just got a bit of press and some tips on what one of their clients thinks is broken.