Abstract: A method system, and apparatus are provided for collaborating on an electronic document. According to the method, a data structure may be maintained at each of the computer system participating in the collaborative session that represents the contents of a shared document. When user input is received at one of the computer systems modifying the document, the data structure is updated to reflect the modification. In response to the modification, the changes to the data structure are periodically identified and collected as a revision, that identifies only the changes made to the data structure as a result of the edits made since the previous revision was taken. The revision is package and transmitted to each of the participants in the sharing session. The revision are merged into the copy of the data structure stored at the participating computer systems.