JAMM Multiuser Interface Components
Most collaboration-transparency systems use an input control policy
that restricts input to only one user at a time. This floor
control solves problems related to conflicting user
inputs, but constrains the participation of other
collaborators. Figure 1
illustrates the case where only one user at a time
may enter text. This approach, common to
most collaboration-transparency systems, limits the
collaboration so that users must take turns working on the shared data.
Figure 1. Most collaboration-transparency systems
allow only one user to enter inputs at a time. Here, two
users are sequentially entering text.
First, User A enters text
in the replica on the left and then User B enters text in the replica on the
right.

In contrast, collaboration-aware applications allow as much
concurrent data manipulation as possible. JAMM uses an input control policy, but
relaxes input control in one case. Multiple users may simultaneously
enter text in a text area. Coupled with JAMM's
location-relaxed WYSIWIS,
collaborators may work on different parts of a document concurrently.
Figure 2
illustrates two users simultaneously editing text.
Figure 2. Two users simultaneously entering text.
User A is editing text
in the replica on the left and User B is editing the replica on the
right.

The JAMM concurrent editor, called SharedDocument, may be used in other collaborative systems.
Documentation and download information are available at http://simon.cs.vt.edu/~begolej/classes/SharedDocument/.
Location-relaxed WYSIWIS
rJAMM supports a feature unique to collaboration-transparency systems,
but common to collaboration-aware applications: location-relaxed
WYSIWIS. WYSIWIS (What You See Is What I See) is a CSCW
principle in which all participants have exactly the same view of the
shared data at the same time. However,
most collaborative work is not so tightly coupled. A more relaxed
principle is What You See Is What I Think You See (WYSIWITYS), whereby
participants do not see the exact same view, but are aware of each
other's view. So long as WYSIWITYS is maintained, collaborators can
coordinate their independent work in different parts of the shared
data simultaneously.
rJAMM supports flexible collaboration by
replacing certain single-user interface components with multiuser
equivalents.
Multiuser ScrollPane - RadarPane
JAMM supports WYSIWITYS by employing a radar view of the
shared data which displays all participants' independent
locations. The WYSIWIS constraint is relaxed so that
participants may change their location in the shared independent of
each other. A multiuser radar pane replaces each single-user scroll
pane that exists in the original single-user application. Figure 3 shows the original and shared object
trees of a simple Java applet consisting of a ScrollPane which
contains a Panel of buttons.
Figure 3. On the left is the object tree of a
simple single-user applet consisting of a ScrollPane which contains a
Panel of buttons. The right tree shows the result of replacing the
ScrollPane object with a Multi-user ScrollPane. (click on the figure
for a full-size view)
Figure 4 shows screen shots of a single-user text editor shared
via JAMM; the original scrollable text pane is replaced by a
multi-user radar pane.
Figure 4a. A single-user text editor shared
via JAMM. Each user
has an independent view into the text area. Each participant can
see where another is viewing via his or her colored and cross-hatched rectangle
in the radar view to the right. In this screenshot,
from Solaris User's host, we can see that "Solaris User" (green rectangle)
is viewing and editing near the bottom of the text, while "PC User" (red
rectangle) is viewing near the middle of the text.
Figure 4b. This is the corresponding screenshot taken from
"PC User's" computer.
Telepointers are representations of remote users' cursor positions and
thus provide location awareness. Each participant's telepointer has a
unique color and name, as shown in Figure 5a and b. A
participant may edit his or her name and color at any time during the
collaboration (see JAMM
User's Guide for more information).
Figure 5a. An example telepointer. A
telepointer represents a participant's mouse cursor, or pointer.
Figure 5b. An example telecaret. A
telecaret represents a participant's text entry cursor, or caret.
Like the local mouse cursor, a telepointer is drawn on
top of the screen. This is accomplished in JAMM by using Swing's JLayeredPane
to draw the telepointers in a layer "above" the application
(See Figure 7 for an illustration).
Input Control
JAMM, like other collaboration-transparency systems, allows only one
user at a time to enter input to the application (see the JAMM User's Guide for more
information). The shape of the telepointer indicates which
participant has control at a given time. Figure
4 illustrates the different shapes: the control holder's
telepointer is shaped like an arrow, while all other participants'
telepointers are shaped like a pointing hand.
Figure 6. Telepointers indicate who has
input control: a) the Arrow shape is used by the participant that has
input control, b) all other participants' telepointers are shaped like
a pointing hand.
Activity Indicator
In addition to presenting location and identity information, a JAMM
telepointer indicates the participant's mouse-button activity. When a
participant presses a mouse button, a rectangle corresponding to the
button is shaded. This indication remains while the button is held
down and for a short time after release (Figure 7).
Figure 7. A participant's mouse-button
activity is indicated by shading the squares in the rectangle at the
top of the telepointer. Each square corresponds to a button on a
three-button mouse. In this example, a participant is double-clicking
on a word in a text document.
Top Level JAMM
JAMM Home
James "Bo" Begole
begolej@vt.edu
Last modified: Sun Mar 1 20:15:30 EST