Collaborative Text Editing Jared Krinke Tony Gibbon
Stone Age Collaboration One user creates a document The document is emailed to others Readers make changes and send them back to author Author manually merges changes Revised version is sent out Repeat
With Revision Control Files may be edited simultaneously Changes are algorithmically merged Conflicts must be resolved manually by each editor
Multiplayer Notepad Multiple files may be edited All users’ cursors are visible Multiple files may be edited The cursors stay in the same relative position regardless of other editors’ actions
Key Features Editors simultaneously work on one copy of the file Modifications do not disrupt other users Conflicts are resolved in real time Intuitive interface (users see same thing) Greater visibility of others’ current work Uncommitted changes may be selectively ignored
Development Plan Implemented in Java Client-server architecture Development in stages to ensure usable product Initial goal of real time simultaneous editing Secondary goal of allowing uncommitted changes to be ignored