Course Documents
     Main Page
     Contact Information
     Course Announcement
     Schedule and Syllabus
     Course Participants
     Discussion Forum
     Swiki Chat
     Lecture Material
     Independent Research
     Previous Course
Swiki Features:
  View this Page
  Edit this Page
  Printer Friendly View
  Lock this Page
  References to this Page
  Uploads to this Page
  History of this Page
  Top of the Swiki
  Recent Changes
  Search the Swiki
  Help Guide
Related Links:
     Atlas Program
     Center for LifeLong Learning and Design
     Computer Science Department
     Institute of Cognitive Science
     College of Architecture and Planning
     University of Colorado at Boulder
NOTE: This page is obselete, see the Collaborative Editor page.

I would like to create a collaborative text editor, in the vein of SubEthaEdit. A collaborative text editor would enable users to collaboratively work on a text document. For example, to support XP programming the pair of programmers could both be editing the same document at the same time, removing the need for a single "driver" of the computer. It would also support pair programming at a distance, so the programmers would not have to be in the same physical location.

The idea is to have an editor which uses a network protocol to enable people to edit a document at the same time. Each user has an editor client, which connects to someone hosting the editing session. Anyone can host an editing session. Each member of the editing session has a list of the other users currently editing the text. Each user can edit any area of the document. Each user is assigned a color, and any text they change has a background color equal to the assigned color of the user which performed the editing operation.

Another component is a chatting portion, which is a chat room which each user in the session is present in. This allows for comments on the overall design and progress aside from the actual working area. For example, one user might question another's change to the text.

Ideally this project would integrate with an established programmer's text editor, such as Emacs. Emacs is largely written in elisp, a Lisp dialect, and is very extensible, including such things as network modules which will be necessary to implement this project. If in evaluating such a possibility Emacs is deemed to hard to modify, the project can always fall back to using a simple text editor on top of a standard widget set, but this would result in a less-featured editor, so this scenario is not ideal.

The existing features of SubEthaEdit will be analyzed for collaborative potential, and to see if any improvements in the overall design can be made. I am not aware of other collaborative text editors, but if others are found they can also be analyzed.

View this PageEdit this PagePrinter Friendly ViewLock this PageReferences to this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide