I am developing a multitouch UI that takes input from a depthcamera (Microsfot Kinect). In other words, there is no physical "screen" for a user to touch. In addition to the default multitouch gestures, I will implement custom user-defined gestures. For these, I have the option of listening at application start or creating a listener after hovering over a user-defined screen area. Which do you recommend and why?
Im confused: You developing a multitouch without screen? How can you touch anything? Or do you mean a gesture based iteraction?– FrankLApr 2, 2012 at 7:21
I'm not sure whether you are asking how to treat custom gesture defining/recording or custom gesture enabling after they've been defined, so I'll cover both.
Recording custom gestures
The user needs clear instructions & notifications about how to start/end recording ("do this to start and that to end recording") and when it's taking place ("please perform your custom gesture now"). Users will be confused about the process if you start recording automatically without any warnings or instructions.
In addition, it wouldn't hurt to show the recorded gesture on the screen either real-time or as a confirmation, just make sure that the direction of the movements is the mirror image of what the camera sees (i.e. the way the user sees it in their mind).
Enabling custom gestures
Any custom controls & commands defined by the user should be available at application start. Users customize interfaces expecting their customizations (keyboard shortcuts or mouse gestures, too) to be available at any applicable time of their interaction with the software. A dedicated on/off toggle just adds an unnecessary step to the process without adding any value or clarifying any ambiguity to the user.
2This answer would be even better with some references!– RahulJan 16, 2012 at 20:17
I think it won't work if you record gestures with a start/end point. Because that means your movement from and to this point/button/gesture will be recorded too. That isn't mulittouch - you are sort of always touching. Far better is working by time, like countdowns or no movement for a timespan. Apr 2, 2012 at 7:26
I would enable cutom gestures depending on what you are customizing. Even here if you customize a simple "move arm to left" as a close command, you can't reach content on left side as your app will close immediately. So, i wouldn't allow custom gestures at startup screen and menus, but on "working areas" or "game areas". Apr 2, 2012 at 7:29
@FrankL: The question was about recording new, user-defined gestures not changing the meaning of existing ones. Moreover, the process of changing the meaning would involve selecting a recroded gesture from the list & defining its meaning.– dnbrvApr 2, 2012 at 15:41
@dnbrv okay, just replace customize with record ;D Actually, I meant record, but my fingers wrote different. Apr 2, 2012 at 17:59