Hey
While trying to figure out a gesture set, I came up with a few ideas on how to design them. These are not hard fast rules, but rather some rough hints to help along the way.
I hope they help, let me know what you think.
There are three standard steps to designing anything, which go for the gestures as well.
-Plan (figure out what exactly what you need to do)
-Design (come up with ideas)
-Test (try out your ideas. If they don’t work, go back to Design)
Plan
The first thing to is to define what you are actually designing for. While this may seem like a stupid question, it’s not as easy as just saying “I’m designing for a multitouch”. For example, a large wall panel will use different gestures than a smaller, monitor sized screen. Also important is to consider what you are trying to do with the application that the gesture is for.
It also helps to figure a list of all the commands that we need gestures for. You don’t actually need this, you could make up the gestures one at a time, but it helps to have an overview.
Next we need to set our priorities. Here are my own priorities in designing gestures:
-Efficient
-Streamlined
-Extendable
-Compatible with existing/standard gestures
-Simple (Both to learn and to use)
So what do we mean by all of this?
Efficient - We want the gesture to be as efficient as possible (Duh!), so making the user tap three times, while drawing a circle with two fingers, just to select an object is not a good idea for a gesture.
Streamlined - This is not quite the same as efficient (though it does play a part of it). Rather, it is how well the gesture works together with other gestures. The best way to do this is to figure out what gestures will be used together, and then design them with similar features. For example, chances are that you’re going to be doing movement, scale and rotation together, so it would make sense to use the same number of fingers for each operation. That way you don’t need to change the way you touch the screen to move from gesture to the next, making the whole interface more fluid.
Extendable - Design the gestures so that you can add more gestures later. I don’t know exactly how to do this yet, but it’s a good idea to keep this in mind.
Simple - Obviously, the simpler the better.
Design
Heres the fun part: coming up with the gestures themselves. Not too much I can help with here, the only hint I have is to look at how other people are doing it. Look at some of the videos that have been posted, or gestures that they may have come up with. Also, it might be worth looking at movies for inspiration (Minority report, anyone?)
Testing
Great! Now all that’s left is to plug your gestures in to your system, and to see how they work. Unless, of course, you don’t have working screen yet (like me), or you’re not a programmer, meaning you need someone else to code the gestures. So then what?
Well, let’s play a little game of pretend. That’s right, find a blank wall, or just use the air in front if you, and imagine your application. Then use your hands to simulate the gestures, imagining how the application is being manipulated. I know it sounds corny, but visualization can be a useful tool. This way, you can see how well the gestures actually work together.
As you test out your gestures, you’ll find what works, and what doesn’t. As you find things that don’t work, go back to the design stage and try something that’ll work better.
The last step is to document your results. The easiest way to do this is to draw diagrams like the ones that have already been posted.