# JAMM Multiuser Interface Components

- ### Concurrent Editing

- ### Location-relaxed WYSIWIS

  - Multiuser ScrollPane - RadarPane
  - Telepointer

## Concurrent Editing

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
- Telepointer

## 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.

## Telepointer

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