A few weeks ago we published our thoughts on designing for the Effective Interaction Zone. A concept closely related to the EIZ, is the idea of the Virtual Wall.
Yep, a Virtual Wall. It’s an appropriate name for the topic of gesture, since, well, as we said in our last post, gesture is essentially “invisible” to the end user. What does that mean?
When interacting with gesture, there are no (visible) physical constraints or guideposts. The camera doesn’t project out a soft, triangular light that notifies the user of how accurately her hand is being tracked or whether she’s in the field of view.
This idea of the “invisibility” of gesture – where there is not necessarily a physical representation of what you are doing – actually creates a unique and fun design challenge. Designing for the “invisible”, though, requires added consideration from the designer as they are creating and designing their app.
During our many internal design iterations, we’ve come up with the idea of the Virtual Wall as a means to tackle this design challenge. The Virtual Wall takes its inspiration from “touch screens” but enhances the experience by leveraging the 3rd dimension offered from a 3D camera. Essentially you create a plane in space that when “touched” will generate a corresponding reaction in your application.
The Virtual Wall offers a couple of benefits. On the one hand it can reduce the learning curve for a user by simulating familiar experiences and interaction approaches. And on the other hand, it can prevent the user from getting too close to the camera , thus blocking the camera from actually being able to identify hand tracking and gestures!
How to: Create Your Own Virtual Wall
So you would like to design your own Virtual Wall into your program? No problem! Read on to learn the elements you need to incorporate to create your own.
To start, think about determining a plane in space that is convenient for the user. For example, if your application will be used during pauses when a user is typing at their computer, it makes sense to define the Virtual Wall a couple of centimeters above the keyboard and perhaps a couple of centimeters just beyond where the top of the keyboard ends. This enables the user to simply lift his hand a minimal amount and immediately engage the wall.
Grasp and the Virtual Wall
One of the major advantages of using Omek’s Grasp technology is that as a developer you are provided with a full model of the hand with accurate finger naming. Why does that matter?
Well, this way you can set up your application to recognize the difference between a user’s palm (or pinky finger) hitting the wall versus their index finger. The aim here is to prevent false positives –to ensure that users don’t trigger the wall when they don’t intend to. If it’s their palm or a few fingers then it won’t activate the wall. If it’s a single pointed finger, then you can be pretty certain that the user was intending to activate the selection item on the wall.
Leveraging the 3rd Dimension
We’ve highlighted a couple of reasons above for employing the Virtual Wall. There are also interesting ways to leverage the 3rd dimension afforded by 3D depth based cameras.
For example, a drawing application, like one built by our UX Studio – you can simulate different types of physical force based on how far or how close a user is to the Virtual Wall. In this use case, the line thickness changes so that the closer you move to the wall, the heavier the impact and the thicker the resulting line. As you move your finger further away the line becomes thinner.
Another effect you can implement with the Virtual Wall is to grab and rotate an object. Imagine a user reaches the wall with multiple fingers that then close around an object. Once they have “grabbed” the object, they can then pull their hand back and “bring” the object with them. Here you are building upon the familiarity of touch but extending it to an entirely new dimension using your 3D camera!
Stay tuned for more posts coming soon!