REAL-TIME CONTENT COLLABORATION
First Claim
1. A computer-implemented method for collaboratively editing content, the method comprising:
- receiving from a first user a selection of content to edit;
creating an editing session for editing the selected content;
receiving from the first user one or more first user modifications that modify the content;
receiving from a second user editing the same content one or more second user modifications;
displaying the second user modifications in a user interface in real-time to the first user so that the first user can view a merged view of the first user modifications and second user modifications as the first and second user modifications are received; and
storing the first user modifications in a persistent data store associated with the first user without storing the second user modifications, so that the second user modifications affect the user interface of the first user without affecting a persistent version of the content associated with the first user,wherein the preceding steps are performed by at least one processor.
0 Assignments
0 Petitions
Accused Products
Abstract
A collaborative editing system described allows multiple collaboration participants to create and edit content in real-time and in a way that allows the content to converge to a desirable intermediate state. In addition, the system supports large content teams in which many collaboration participants use the system at the same time. The system distinguishes between real-time collaborative presentation and traditional real-time collaborative editing. Collaborative presentation occurs when the system displays a first collaborator'"'"'s changes to a second collaborator, without altering the content that the second collaborator is working on. In this way, the second collaborator is aware of the first collaborator'"'"'s changes, but the changes of other participants do not directly impact the second collaborator'"'"'s work. The collaborative editing system also separates participants by task so that not all content modifications are shared with all participants.
414 Citations
20 Claims
-
1. A computer-implemented method for collaboratively editing content, the method comprising:
-
receiving from a first user a selection of content to edit; creating an editing session for editing the selected content; receiving from the first user one or more first user modifications that modify the content; receiving from a second user editing the same content one or more second user modifications; displaying the second user modifications in a user interface in real-time to the first user so that the first user can view a merged view of the first user modifications and second user modifications as the first and second user modifications are received; and storing the first user modifications in a persistent data store associated with the first user without storing the second user modifications, so that the second user modifications affect the user interface of the first user without affecting a persistent version of the content associated with the first user, wherein the preceding steps are performed by at least one processor. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system for collaborative editing of content by multiple users, the system comprising:
-
a processor and memory configured to execute software instructions; a data store configured to store content that each of the users can open and edit; a content selection component configured to receive a selection from a local user of content from the data store that the local user wants to edit; a session management component configured to maintain information about an editing session, wherein an editing session includes an identification of one or more users editing content, identified content the one or more users are editing, and modifications made to the content by each of the one or more users; a communication component configured to connect computer systems associated with multiple users that are modifying related content and to share modifications between the computer systems; a merge component configured to merge changes to related content received via the communication component from multiple users to create a merged version of the content that includes changes from multiple users; a user interface component configure to display a view of the merged version of the content to a user, wherein the view provides one or more visual indications that distinguish content modified by the local user from content modified by remote users; a join session component configured to add one or more additional users to an editing session maintained by the session component, wherein adding users comprises invoking the merge component to merge modifications from users already in the session with users added to the session to create the merged version of the content; and a storage management component configured to persist to the data store changes from the local user and from remote users joined to the editing session but exclude changes from remote users not joined to the editing session, so that changes from remote users not joined to the editing session affect the display of the content through the user interface component but not a stored version of the content. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium comprising instructions for controlling a computer system to provide a collaborative editing environment for multiple users associated with a project, wherein the instructions, when executed, cause a processor to perform actions comprising:
-
receiving at the computer system modifications to content associated with the project; identifying a current task of a user of the computer system, wherein the current task describes at least one purpose of the received modifications; determining one or more other users associated with the same task; and sending the modifications to one or more computer systems associated with the determined one or more other users associated with the same task, wherein the computer system does not send the modifications to users associated with the project that are not associated with the current task. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification