Flexible JAMM

Written by

in

Flexible JAMM (Java Applets Made Multi-User) is a technology designed to transform single-user Java applets into collaborative, multi-user applications without requiring changes to the original code. Developed in the late 1990s, it allows multiple users to simultaneously interact with the same Java applet, making it a pioneer in “unanticipated sharing” or transparent application sharing. Here are the key aspects of Flexible JAMM:

Replicated Architecture: JAMM works by creating a copy of the Java applet for each user. When one user interacts with their copy, the input events are broadcast to all other copies, keeping the applet state consistent across all participants.

Transparent Collaboration: The primary strength of Flexible JAMM is that it requires no modifications to the original, single-user Java applet, allowing developers to make existing tools collaborative without re-coding.

Dynamic Object Replacement: Flexible JAMM uses an object-oriented approach where standard, single-user interface components (like a text field) are dynamically replaced with “multi-user extensions”. This allows for advanced collaboration, such as multiple users editing a single text area simultaneously.

Support for Late-Joiners: The system includes mechanisms to allow new users to join a session already in progress, synchronizing their applet copy with the current state.

Focus on Java Technology: JAMM supports sharing of both Abstract Window Toolkit (AWT) and “100% pure Swing-based user interface components”.

Contextual Background:JAMM was developed during a time when Java applets were a popular way to deliver interactive content over the web, aiming to turn personal computing tools into interpersonal, collaborative tools. It was developed by researchers looking to bridge the gap between single-user applications and synchronous collaboration. If you are interested, I can also: Find the original researchers or university involved.

Detail the specific technical challenges they solved with input replication. Flexible JAMM (Java Applets Made Multiuser) – People