The Source for Java Technology Collaboration

Home » java.net Forums » Project Looking Glass 3D » Wonderland & MPK20 Interest

Thread: Gesture UI for 0.4 release

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
This question is answered. Helpful answers available: 0. Correct answers available: 1.

Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 8 - Last Post: Mar 20, 2008 8:30 AM by: bernard_horan
nicoley

Posts: 210
Gesture UI for 0.4 release
Posted: Feb 29, 2008 12:56 PM
 
  Click to reply to this thread Reply

In the daily build, there is now code for some rudimentary avatar gestures:

* pointing (middle click)
* waving (5)
* nodding head yes (2)
* shaking head no (3)

We're trying to figure out what sort of user interface to include for these for the 0.4 release. Pressing 2, 3 and 5 doesn't seem very intuitive! Here's what I propose:

- Middle-click on an object to point to it. The avatar will continue to point until the user either middle-clicks on something else or moves their avatar with one of the navigation commands.

- For the other three gestures, I suggest we add a "Gestures..." menu item to the View menu which brings up a HUD panel with buttons (either small icons or text labels) for waving, nodding, and shaking. A single click on one of these buttons will perform the gesture. The panel can be closed entirely, or collapsed to a small tab for easy access.

Since we will need to revisit the gesture UI in 0.5 once the avatars can do a lot more things, I'm looking for a 0.4 approach that will not take a lot of time to implement, but will be functional.

Thoughts? Other options we should consider? If you have ideas for a gesture UI for 0.5, please feel free to throw those out now as well.

Thanks,
Nicole.

nsimpson

Posts: 399
Re: Gesture UI for 0.4 release
Posted: Feb 29, 2008 1:22 PM   in response to: nicoley
Helpful
  Click to reply to this thread Reply

I don't think middle click is a good choice because some systems, Macs for instance don't have a middle mouse button.

I would propose the following:

If you left-click something your avatar should point to it. This is the Second Life approach. So, if I click someone's avatar, I'll point to them. Perhaps the avatar points for as long as the mouse is held down. If they just click, the pointing lingers for a few seconds. We'll need a way to distinguish click-to-point from click-to-act. Currently, left-clicking on the avatar brings up the private audio mix HUD. I don't think this should be the default click action. When we have pie menus perhaps right-click should display the pie menu, one item of which would be "set volume".

For other gestures, I'd prefer to see some kind of direct manipulation. So, if I click on my avatar's head and drag left and right, the avatar's head should shake. If I drag up and down, the avatar should nod. The downside of this is that your avatar's head must be in view to generate the gesture, so I think you also need another way to do this. It's easier, and crucially faster to press a key on the keyboard than move the mouse and click a button. So 'w' for wave, 'y' for yes and 'n' for no would be good (at least for English localizations).

Ultimately, we need a UI for customizing key and mouse mappings to actions, since it's unlikely that what we choose will be what people want, and everyone will want something different.

We also need a "raise arm" gesture for voting.

wedware

Posts: 80
Re: Gesture UI for 0.4 release
Posted: Feb 29, 2008 1:48 PM   in response to: nsimpson
Helpful
  Click to reply to this thread Reply

We need "raise arm" too.

jslott

Posts: 1,011
Re: Gesture UI for 0.4 release
Posted: Feb 29, 2008 2:28 PM   in response to: wedware
 
  Click to reply to this thread Reply

Just something to consider also: it would be good to expose an API for these sorts of gestures as well (as part of a larger API that controls avatar actions), along with some way to dynamically bind mouse/keyboard events to these gestures. That way new cell types can make use of them too.

kaplanj

Posts: 616
Re: Gesture UI for 0.4 release
Posted: Mar 3, 2008 7:33 AM   in response to: nsimpson
 
  Click to reply to this thread Reply

> If you left-click something your avatar should point to it. This is the Second Life approach. So, if I
> click someone's avatar, I'll point to them. Perhaps the avatar points for as long as the mouse is held
> down. If they just click, the pointing lingers for a few seconds. We'll need a way to distinguish
> click-to-point from click-to-act. Currently, left-clicking on the avatar brings up the private
> audio mix HUD. I don't think this should be the default click action. When we have pie menus perhaps
> right-click should display the pie menu, one item of which would be "set volume".

Is pointing so important that it should be the default action when you left click on something? I guess if we had more things to manipulate in the world, left click would map to "manipulate the object under the cursor", and pointing would be a side effect. But for something like the orb, it seems like most of the manipulation you might want to do will involve menus like take and drop. Similarly for applications, would left click just point to the app, but to use the app you will have to right click and navigate a menu to take control?

On the other hand, having right click map to "bring up a menu" at least fits well with Windows conventions. For people who do have a middle mouse button, we could map it to mouse look, including using the scroll wheel to look up and down (or better, zoom in and zoom out?).

It sounds like we need a Wonderland style guide that explains what the mouse buttons should do by default, and then of course user ability to change them.

paulby

Posts: 2,068
Re: Gesture UI for 0.4 release
Posted: Mar 4, 2008 6:53 AM   in response to: kaplanj
 
  Click to reply to this thread Reply

I don't think left click to point should be a the default action. I think a scheme where the cell being left clicked generates the action would be better. The cell can determine if a menu should be displayed, the avatar should point or some other action.

nsimpson

Posts: 399
Re: Gesture UI for 0.4 release
Posted: Mar 4, 2008 10:22 AM   in response to: paulby
 
  Click to reply to this thread Reply

I think that pointing is a very important part of the Wonderland user model. It helps to complete the illusion that the user and their avatar are one and the same. I click with my mouse on something in world and my avatar points too. My action and my avatar's actions are connected and consistent. I also think this is essential from a social point of view. If I'm clicking on something and my action isn't visible to others then they have no idea that I'm something. Here's a use case:

A meeting is happening in world and we need to dial in someone who isn't at a computer. Chris says, "Can someone conference Bob in?" I'm about to do this when I see Zak pointing at the phone. It's clear to me that he's dialing in Bob. I see that I don't need to dial in Bob.

I think that the cell decides to do with the click is different from the avatar being able to point and click on the cell. It might be generally useful for an avatar to point at a specific point in the world, even if there's no even handler in the cell. For example, to point to a specific part of a picture on a wall.

It might be useful to separate pointing from invoking an action. When I click on something my avatar should always point at that thing. The thing can then decide what to do with the action (e.g., start recording audio, play a video.)

It might be useful to have a "pointing mode" where I can swipe my mouse around and gesture at things. For example, a lecturer might turn to his slides and point at items on the slide as people do today with laser pointers.

Finally, I think we should be careful not to diverge from established user models for pointing that users of other virtual worlds are familiar with - unless we can prove with user studies that there are flaws in the established models. Even then, it might be hard to justify a different approach, user familiarity with a bad design sometimes wins.

micheldenis

Posts: 443
Re: Gesture UI for 0.4 release
Posted: Mar 8, 2008 6:55 AM   in response to: nsimpson
 
  Click to reply to this thread Reply

For suggested gestures we now have:
* pointing
* waving
* nodding head yes
* shaking head no
* raise arm

I would only perhaps add the following:
* clap
* laugh

together with the 2 most important ones:
* walk (already exists of course..)
* sit (I left a post about this .. anyone interested to comment .. aren't meetings often done seating ?)

and a nice and easy related expression feature would be to get SMILIES capability within the Chat

-michel

bernard_horan

Posts: 300
Re: Gesture UI for 0.4 release
Posted: Mar 20, 2008 8:30 AM   in response to: nsimpson
 
  Click to reply to this thread Reply

I think we need to draw a distinction between different kinds of user interactions: broadly those that are meant to have some semantic impact (such as the selection of an object, the control of a menu, etc.) and those that are more mechanical or syntactic.

For example, I get irritated when I have to remember where not to click in WL. If I inadvertently click on an avatar, then I get the volume control HUD, which I don't necessarily want. I think I should have to take more of an physical (syntactic) action to bring up a semantic operation.

Also, I often move my cursor around the window in order to orient myself before a mouse-look, I don't want this initial mouse positioning to be reflected in the orientation of my avatar. So, I guess what I'm saying is that I don't really want left-click to do anything other than select an object on which I might later operate. The feedback that I've selected the object should be local to me in most cases (unless there's a locking behaviour on the object).

my 2p worth

B




 XML java.net RSS