8.1 CONTROL PERSONAE
A convenient way to classify user manipulation is according to which entity in the
control chain the user seems to be manipulating directly. The relation of that entity to
the user, which names the persona of the manipulation control, can be described in
terms of participants in everyday speech: first person, second person, and third person.
The elements in the control chain that are pertinent to defining control personae
are the user, the control, and the target of the control action, which are shown in
figure 8. 1. The user's role is to work the controls and to see the results of that action
in the display. The view, as a cameralike object, serves as a proxy for the user in the
virtual world. In this context, moving the view is comparable to moving the user in
the world. The next entity in the control chain is the control itself. When the user
operates the control, the target object reacts in a manner prescribed by the control's
input interpretation. The final entity in the control chain is the target object. In
response to control inputs, the target object may slide or rotate, grow or shrink, change
color, or react in any number of other ways.
Figure 8. 1 Control chain elements involved in defining control personae
As you may recall from the previous chapter, view navigation is also described in
terms of personae (section 7.1.1). Although often related in terms of implementation,
conceptually the two forms are distinct, with navigation personae describing the user's
relationship with the moving view, and control personae describing different ways the
user can control the movement of the view. Table 8. 1 summarizes the control personae
covered in this section.
| Table 8. 1 Control personae used for manipulation |
| First person |
- The user controls himself, the first person. Example: Drag right in the display
to turn the view— the user— to the right.
- Pros: Manipulation occurs in the same frame of reference that the user
sees in the view. Intuitive form of navigation that is similar to walking
through the world.
- Cons: Can be unintuitive in situations where the view is not represented as
a vehicle. The target— the view— cannot be seen in the context of its surroundings.
|
| Second person |
- The user controls the target object, the second person. Example: Drag on
an object to slide it across the floor.
- Pros: Direct WYSIWYG manipulation of objects. Intuitive form of manipulation
that is similar to reaching out and moving an object in the world. Can
see the target in context of its surroundings.
- Cons: Difficult to directly manipulate objects in 3D using a 2D mouse and
display.
|
| Third person |
- The user controls a widget, the third person, which remotely controls the
target object. Example: Virtual knob in a control panel that rotates a target
object.
- Pros: Controls are obvious— sliders, knobs, and buttons— and are always
available. Familiar form of control— HUD or dashboard control panel.
- Cons: Difficult to convey to the user what target object a control manipulates
and how.
|
8.1.1 First person
In a first-person control, the user is essentially controlling himself/ herself, the first
person. The user performs all three of the player roles in the control chain: The control
is the display itself; and the target object of the control action is the user's view in
the virtual world. As the user drags on the display with the mouse, the user's view
moves around in the virtual world, which is shown in figure 8. 2. First-person control
of an orbit camera is used in most of the examples in part 4.
The main advantage of first-person control is that user interactions occur in a
frame of reference that does not require translation to that of another object. The user
does not have to think, "I'm sliding this knob to the right, which makes the desk move
north in the room." Instead, what you see in the display tells you where you are in the
world and where you will go. In other words, you see that you are some distance away
from the north wall of a room. You know that if you move yourself forward, you will
be moving in a northerly direction closer to the wall.
Figure 8.2 Manipulation through first-person control
For some tasks, such as navigation, first-person control seems intuitive and works
well. First-person navigation is popular because it approximates what happens when
we walk through our everyday real world. We will ourselves to move forward and we
do so. For this reason, VRML browsers use first-person control extensively for navigation,
with the user dragging on the display (as opposed to some object or control widget)
to move forward, steer left and right, and to tilt up and down. For other tasks,
like manipulation, where the user's view is attached to the target object, first-person
control can sometimes seem odd. For example, trying to convince the user that he/ she
is a bookshelf that needs to scoot forward and stand against the wall is a bit of a reach.
In other situations, however, it can seem quite natural, such as when the user feels he
is in a moving vehicle, and dragging on the screen makes the vehicle turn in the direction
of the drag.
8.1.2 Second person
In a second-person control, the user has the feeling of directly manipulating an object
in the scene, the second person. The control and target objects move as one, in unison.
Typically, the control appears as drag handles attached to the target object, which
is shown in figure 8.3. This form of control is often referred to as direct or WYSIWYG
manipulation. It is probably the most intuitive form of interaction between a user
and an object because it approximates what we all do in our everyday lives: reach out
and move objects.
An interesting form of second-person control is when the target of the control
action is the view itself. The target object, the view, is represented by a widget in the
scene, called the look-at puck. The user manipulates the puck in the scene the same
as he would a data object, but in this case the view tags along for the ride. This is the
puck camera navigation technique described in the previous chapter 7.
Figure 8. 3 Manipulation through second-person control
The advantages of second-person control are that the interaction is quite familiar
to users— reach out and move an object— and that the target can be seen in the context
of its surroundings, something that is missing in first-person control. A big disadvantage
is that it is difficult to position and orient an object in three dimensions on a 2D
display. One issue is the difficulty in using a 2D device like a mouse to control an
object in three dimensions. The use of DRM and WRM coordinate mapping can help,
which can constrain motion to a 2D frame of reference such as, in the case of WRM,
a floor plane. Another issue with 3D manipulation is the ambiguity of viewing an
object in three dimensions on a two-dimensional display. For example, looking at a
box in a room from a bird's-eye view you might wonder whether the box is small,
above the floor, and near you; or whether it is large, on the floor, and far from you.
This is illustrated in figure 8. 5. Such visual ambiguity is unavoidable, especially if the
user is not familiar with the inherent size of the objects in the world, or if similar looking
objects come in various sizes, such as desks and bookshelves. Section 8. 2 will
describe how adding relational feedback to objects can help mitigate this problem.
Second-person object manipulation with feedback is demonstrated in the SecondPerson
example in section 22.2.2.
8.1.3 Third person
In a third-person control, the user manipulates a control widget, the third person in
the user's relationship, which in turn remotely controls the target object. Typically,
the control itself is a virtual control device that approximates a physical control such
as a slider, knob, or button. The virtual control can be in a separate GUI panel or
overlaid onto the user's view of the world e. g., a heads-up display (HUD) or a vehicle
dashboard. The target of the control action can be a data object or the view object, as
shown in figure 8. 6.
When compared to second-person direct manipulation, this type of control may
not seem very intuitive because the link between the control and its target is not direct:
the user is required to make a mental transposition of actions. But practical experience
does not support this conclusion. We are all accustomed to using third-person controls
whether they are the set of buttons in an elevator or scrollbars in a GUI application.
The user understands that manipulating a control in one place— pressing a floor button
in the elevator— leads to some desired action somewhere else, the elevator moving
up and down in the building.
Figure 8. 4 Illustration of the size-position ambiguity in 3D
The advantages of third-person control are that the controls are obvious because
they are real world (sliders, knobs, and buttons) and so too are the actions required
to manipulate them— slide a slider, turn a knob, press a button. Unlike in-scene controls,
the position, size, and visibility of out-of-scene controls are certain: The user
doesn't have to guess where the controls are, select an object to make them appear, or
fiddle with the view so that the controls can be seen. Third-person controls also avoid
the ambiguity that can occur with first-and second-person controls fighting for precedence
in the display: Is a drag on the display meant to position an object, rotate it,
or navigate the view? A big disadvantage of third-person controls is that the user is
truly once removed from the target of his actions, having to use a proxy instead of
manipulating the target directly. This makes it difficult to intuitively convey to the
user what the target of the control action is and what the result of the control action
will be. Third-person object manipulation with feedback and display overlaid controls
is demonstrated in the ThirdPerson example in section 22. 2. 3.

Figure 8. 5 Two views of the same scene demonstrating the visual ambiguity that
the user must contend with in a POCS
Figure 8. 6 Manipulation through third-person control
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|