Flexible JAMM must be installed before use (see Flexible JAMM
Installation).
Contents
Starting the Notepad Example
Participant Information
Collaboration Controls
Initial View Before Sharing
Load a File
Share Notepad
Joining a Shared Component
Input Control
Sharing An Arbitrary Swing Component
To run the Notepad example, from the rJAMM<version>/bin directory,
execute run_Notepad. Similarly for Stylepad, execute run_Stylepad.
Since Notepad uses fewer resources and starts more quickly than Stylepad,
you should start with it. Note to MS DOS users: if the application seems
to take too long to start up, try starting up your TCP/IP networking (e.g.,
via Dial-up Networking) and then restart Flexible JAMM.
Participant Information
Figure 1a. Participant Information. The first time you
run Flexible JAMM, you will need to enter some information unique to yourself:
your name and a color. These will be used to identify you during
collaboration. Your information is stored in a file called collaboration.properties.
Collaboration Controls
The primary Flexible JAMM controls are contained in the window named Flexible JAMM Collaboration
Controls, as seen in Figure 1b.Figure
1b. Flexible JAMM Collaboration Controls window. The upper portion contains
two buttons. The Share Component button (disabled in this view),
initiates sharing of the component. The Change My Information button
allows the participant to change his or her name and color. The lower portion
of the window, labeled Input Control allows participants to coordinate
input control to the shared application (see Input
Control for more information).
After you enter your participant information, your screen should look
like this.
Initial View Before Sharing
Figure 2. The initial view of Notepad after executing run_Notepad.
Load a File
So that we have something interesting to share, open a file by
clicking the open-folder icon (second from left). Select the file
named hamlet_actI_sceneI.txt . Your screen should
look like the following:
Figure 3. Notepad with the file hamlet_actI_sceneI.txt loaded.
Share Notepad
Now we can share Notepad. Press the "Share Component" button on
the Collaboration Control window. A dialog will ask for a host,
port, and session name. Accept the default values by pressing
the "Connect" button. If you are using Java versions 1.1 - 1.1.4
you will see a harmless
NullPointerException; please ignore this fixed
known bug in the Java AWT (fixed in 1.1.5+).
At this point
Flexible JAMM will make a copy of the objects contained by
Notepad. A progress bar will display how much time is left until
the copy is sent. On the receiving end, a corresponding progress bar
will display how much time is left until the copy is fully
received. At the end of this process, your screen should
look like the following:
Figure 4. Notepad being shared.
At this point, the Notepad component may be joined by other
participants, which is described next under Joining a
Shared Component.
Joining a Shared Component
Execute the script (batch file)
rJAMM<version>/bin/joinJAMM to join a previously shared
component (such as the Notepad example above). You may join the
shared component from the same or a different machine than it was
started on. A "Connection Information" dialog will ask for
host, port and session name. Enter the host on which the
original shared component is hosted (the default is the local
host). If the component was assigned a different session name
than the default ("rJAMM"), enter that session name in the 'Session
name' field. Press "Connect." Upon connection, the
original application will send a copy to the joining
participant. A progress bar will display how much of the
estimated total transfer is complete.
Figure 5. A participant has joined the shared Notepad. This participant has also scrolled the text up and is viewing a different portion than the original.
Figure 6. The Collaboration Control window contains the
Input Control panel.
Flexible JAMM relaxes the input control constraint in one case. Multiple users
may simultaneously enter text in a text area. See Multiuser
Interface Components: Concurrent Editing for more information. Figure
7 illustrates two users simultaneously editing text in a shared Swing
Notepad
Figure 7. 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.
A simple example, called ButtonTest, is included in Flexible JAMM 0.7+ under
rJAMM<version>/samples/ButtonTest/. ButtonTest is a simple
Swing component that contains two buttons, "Button A" and "Button B," which
disable each other when pressed, as seen in Figure
8 (see ButtonTest.java for sample source
code). To share ButtonTest with Flexible JAMM, set your CLASSPATH environment variable
to CLASSPATH=rJAMM<version>/samples/ButtonTest
(this must be done by the initiator and all joiners of the shared session).
To initiate sharing, execute the following command
run_jammviewer componentName=ButtonTest.
Figure 8. One collaborator's view of a simple Swing component,
ButtonTest, shared via Flexible JAMM.