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