Collaborative Cursors in a Hosted Word Processor
Abstract
A computer-implemented collaborative editing method includes receiving input from a user of a browser-based document editing application on a document displayed by the application; identifying a current location in the document for a cursor of a first user executing the application; receiving from a central server system data that reflects changes made to the document by one or more users other than the first user and current positions in the document of cursors for the one or more other user; updating a document model stored on a computing device that is executing the browser-based application and rendering at least a portion of the model to the browser; and rendering the current positions of the cursors for the one or more other users to the browser.
Claims
exact text as granted — not AI-modified1 . A computer-implemented collaborative editing method, comprising:
receiving input from a user of a browser-based document editing application on a document displayed by the application; identifying a current location in the document for a cursor of a first user executing the application; receiving from a central server system data that reflects changes made to the document by one or more users other than the first user and current positions in the document of cursors for the one or more other user; updating a document model stored on a computing device that is executing the browser-based application and rendering at least a portion of the model to the browser; and rendering the current positions of the cursors for the one or more other users to the browser.
2 . The method of claim 1 , further comprising receiving updated information regarding current positions of the cursors for the one or more other users in the document, and rendering the current positions of the cursors for the one or more other users.
3 . The method of claim 1 , further comprising transmitting to the central server system data that describes changes to the document made by the first user, and identifying a current location in the document for a cursor of the first user.
4 . The method of claim 1 , wherein the method comprises transmitting the data describing changes in the document and identifying a current location for a cursor of the first user more than once per second during periods of active editing activity by the first user.
5 . The method of claim 4 , further comprising detecting when the first user is actively editing the document, starting a timer when the first user begins editing the document, and transmitting accrued data from the user's editing activity when the timer expires.
6 . The method of claim 5 , further comprising setting the timer for a period less than 500 milliseconds.
7 . The method of claim 5 , further comprising setting the timer for a period equal to or less than 250 milliseconds.
8 . The method of claim 1 , wherein the method comprises transmitting the data describing changes in the document and identifying a current location for a cursor of the first user more than once per second during periods of active editing activity by the first user.
9 . One or more tangible computer-readable storage media storing instructions that when executed by one or more computers, perform operations comprising:
receiving input from a user of a browser-based document editing application on a document displayed by the application; identifying a current location in the document for a cursor of a first user executing the application; receiving from a central server system data that reflects changes made to the document by one or more users other than the first user and current positions in the document of cursors for the one or more other user; updating a document model stored on a computing device that is executing the browser-based application and rendering at least a portion of the model to the browser; and rendering the current positions of the cursors for the one or more other users to the browser.
10 . The tangible computer-readable storage media of claim 9 , wherein the operations further comprise receiving updated information regarding current positions of the cursors for the one or more other users in he document, and rendering the current positions of the cursors for the one or more other users.
11 . The tangible computer-readable storage media of claim 9 , wherein the operations further comprise transmitting to the central server system data that describes changes to the document made by the first user, and identifying a current location in the document for a cursor of the first user.
12 . The tangible computer-readable storage media of claim 9 , wherein the operations comprise transmitting the data describing changes in the document and identifying a current location for a cursor of the first user more than once per second during periods of active editing activity by the first user.
13 . The tangible computer-readable storage media of claim 12 , wherein the operations further comprise detecting when the first user is actively editing the document, starting a timer when the first user begins editing the document, and transmitting accrued data from the user's editing activity when the timer expires.
14 . The tangible computer-readable storage media of claim 9 , wherein the operations comprise transmitting the data describing changes in the document and identifying a current location for a cursor of the first user more than once per second during periods of active editing activity by the first user.
15 . A computer-implemented collaborative editing system, comprising:
an interface for receiving communications from a plurality of client devices editing electronic documents using web browsers, including information indicating locations of a cursor in a document in which a particular user is active; an active model manager to identify users other than the particular user who are active in the electronic document; and collaboration logic to provide the users other than the particular user with information that reflects changes made to a model for the electronic document and locations in the document of a cursor for the particular user.
16 . The system of claim 15 , further comprising an output interface programmed to receive information from the collaboration logic and to use the information to transmit to client devices, other than a client device from which information about changes to the model have been received, information so that the client devices may reflect the changes and display current cursor positions for the client device from which the information about the changes to the model have been received.
17 . The system of claim 15 , further comprising a document log that correlates documents to users who are currently accessing the documents.
18 . The system of claim 15 , wherein the collaboration logic is programmed to provide the information that reflects the changes more frequently than once per second.
19 . The system of claim 18 , wherein the collaboration logic is programmed to provide the information that reflects the changes more frequently than once every 500 milliseconds.
20 . The system of claim 18 , wherein the system is programmed to report to each of a plurality of users simultaneously editing a document more than once every 500 milliseconds.Join the waitlist — get patent alerts
Track US2011252339A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.