An application-sharing system that allows multiple users to simultaneously work in a single-user application. JAMM provides flexible support of multiple styles of collaboration by allowing co-workers to view and change different parts of the shared data simultaneously.