Flexible JAMM (Java Applets Made Multiuser) Home Page

Flexible JAMM (Java Applets Made Multiuser) is an application-sharing system that allows multiple users to simultaneously work in a legacy, single-user application. Flexible JAMM provides support of multiple styles of collaboration by allowing co-workers to view and change different parts of the shared data simultaneously.  This screenshot shows a text editor shared via Flexible JAMM.
Stylepad application shared via rJAMM

What's New


There are two general approaches to providing computer support for real-time (synchronous) collaboration. One is the sharing of legacy single-user applications. This is referred to as collaboration transparency, because the sharing is provided by a mechanism that is unknown, or "transparent," to the application and its developers. The second approach, collaboration awareness, is to design an application specifically to support cooperative work. In contrast to collaboration-aware applications, conventional collaboration-transparency systems, like Microsoft NetMeeting, are lacking in terms of efficient use of network resources and support for key groupware principles: concurrent work, relaxed What You See Is What I See (WYSIWIS), and group awareness.

Flexible JAMM is an alternative implementation based on an object-oriented replicated architecture where certain single-user interface objects are dynamically replaced by multi-user extensions. The replacement is transparent to the single-user application and its developer. Thus, Flexible JAMM provides many features previously seen only in collaboration-aware applications. For example, unlike other application-sharing systems, Flexible JAMM allows multiple users to simultaneously enter text in a text area.

Figure 1. 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. See Multiuser Interface Components: Concurrent Editing for more details.
Figure 1. Concurrent text editing.

This version of JAMM supports the shared use of 100% pure Swing-based user interface components.   A component shared via JAMM may be as simple as a button or as complex as an applet.   In the image above, a Swing example component, called Stylepad, is being shared.  Flexible JAMM is the second generation of work described at this URL: JAMM-AWT-based .

Using Flexible JAMM

As a research project, Flexible JAMM is freely available for evaluation and use.

Related Projects at Virginia Tech

James "Bo" Begole
Last modified: Wed Jul 29 17:07:05 EDT