Network-Accessible Collaborative Annotation Tool
First Claim
1. A method of annotating a document comprising:
- allowing a first user to access the document, wherein the document accessed by the first user comprises content provided by a second user and embedded executable code;
using executable code of the document, detecting an indication by the first user of a first selection of text in the content;
after the detecting the indication by the first user, using the executable code, seeking a first suggestion input from the first user;
storing the first suggestion input from the first user;
after the storing the first suggestion input from the first user, showing the second user the first suggestion input from the first user;
presenting the second user a first option to accept the first suggestion input and a second option to reject the first suggestion input; and
when the second user accepts the first suggestion input, making a replacement of the first selection of text in the content, provided by the second user, of the document with the first suggestion input.
3 Assignments
0 Petitions
Accused Products
Abstract
A network-accessible toolbox permits collaborative annotation, facilitating interaction and communication among users. In an implementation, content on a Web page, or other page or document accessible through a network or the Internet, can be annotated. A user can view the page and with the toolbox, select content on the page and make an annotation or suggestion. Multiple users can view and make annotations to the same page at the same time. After annotations are made, users can view the page with annotations made by other users. The author or owner of the page can accept or reject the annotations or suggestions made to the page. If the owner accepts a particular suggestion, the selected content is replaced with the suggestion.
259 Citations
36 Claims
-
1. A method of annotating a document comprising:
-
allowing a first user to access the document, wherein the document accessed by the first user comprises content provided by a second user and embedded executable code; using executable code of the document, detecting an indication by the first user of a first selection of text in the content; after the detecting the indication by the first user, using the executable code, seeking a first suggestion input from the first user; storing the first suggestion input from the first user; after the storing the first suggestion input from the first user, showing the second user the first suggestion input from the first user; presenting the second user a first option to accept the first suggestion input and a second option to reject the first suggestion input; and when the second user accepts the first suggestion input, making a replacement of the first selection of text in the content, provided by the second user, of the document with the first suggestion input. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a server, accessible to a plurality of client devices via a network, wherein the server stores a plurality of documents, accessible to each of the client devices via the network, each document comprising embedded executable code, and when the code is delivered to a client device, invokes a suggestion tool application to run at the client device, wherein the suggestion tool, executing at the client device, detects any selections a first user at the client device makes to first content of a first document delivered to the client device and requests for each detected selection of a portion of the first content a suggestion from the first user, wherein the first content is provided by a second user; a suggestions database residing on a storage device, coupled to the server, wherein the suggestions database comprises an entry for each suggestion made to the first content of the first document, each entry comprising a suggestion field and a position field, wherein the suggestion field comprises text of the suggestion and the position field comprises a position of where in the first content the suggestion was made; and a user content database residing on the storage device, coupled to the server, wherein the user content database comprises an entry comprising a content field, wherein the content field comprises text of the first content, and when the second user accepts the suggestion, a portion of the text of the first content where the suggestion was made, indicated by the position, is replaced with the suggestion. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving first suggestion information for a first selected portion of content from a first client device of a first user, wherein the content is provided by a second user, wherein the first suggestion information comprises a first suggestion for the first selected portion of the content for the second user to accept or reject; storing in a suggestion database the first suggestion, and first starting and ending positions, wherein the first starting position indicates a position in the content where the first selected portion begins, and the first ending position indicates a position in the content where the first selected portion ends, the first selected portion being between the first starting and ending positions; receiving an indication that the second user has accepted the first suggestion; after the receiving an indication, retrieving the first suggestion from the suggestion database; and inserting the retrieved first suggestion into the content at a location indicated by the first starting and ending positions, whereby the first selected portion of the content is replaced by the first suggestion. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A method comprising:
-
receiving a request from a first client device to view a first web page comprising at least a first paragraph of user-generated content stored in a user web pages database of a system; transmitting the first web page with computer code to the first client device, wherein the computer code is executable by a browser executing on first client device used to view the first web page; permitting a first user at the first client device to select text in the first paragraph from within the browser; using the computer code at the first client device, detecting a selection of text in the first paragraph of the browser; using the computer code at the first client device, after the selection of text is made, permitting the first user to type a first annotation; and storing in an annotations database the first annotation and an associated position of the first annotation in the first paragraph, wherein the annotations database is separate from the web pages database and resides on a storage device remote to the first client device; permitting a second user to select at least a portion of the text selected by the first user; and permitting the second user to type a second annotation for the at least a portion of the text selected by the first user. - View Dependent Claims (22, 23)
-
-
24. A method comprising:
-
receiving at a first client device a first Web page to be displayed within a first browser application and computer code to be executed by the first browser application; permitting a first user at the first client device to select text in a first paragraph of the first Web page within the first browser application; using the computer code, detecting a selection of the text in the first paragraph; using the computer code, requesting from the first user an annotation to be associated with the detected selection of text; and storing the annotation and position information identifying the first paragraph and a location of the detected selection of text in the first paragraph in a database residing at a server, remote from the first client device. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
-
32. A method comprising:
-
receiving at a first client device a first Web page to be displayed within a first browser application and computer code to be executed by the first browser application; permitting a first user at the first client device to select text in a first paragraph of the first Web page within the first browser application, wherein the first paragraph is associated with a paragraph identifier; using the computer code, detecting a selection of the text in the first paragraph; using the computer code, requesting from the first user an annotation to be associated with the detected selection of text; and storing the annotation, paragraph identifier, and position information identifying a location of the detected selection of text in the first paragraph in a database residing at a server, remote from the first client device.
-
-
33. A system comprising:
-
a plurality of databases residing at a server, wherein a first database comprises a plurality of Web pages, each Web page comprising a plurality of paragraphs, each paragraph having a unique paragraph identifier; a client computer having a browser to request and receive a first Web page over a network; and computer code transmitted from the server over the network to the client computer, wherein the computer code is executable by the browser, the computer code comprising the capability to detect a selection of text in a first paragraph of the first Web page by a first user at the client computer, receive an annotation to be associated with the detected selection of text from the first user, identify a unique paragraph identifier of the first paragraph, and transmit to the server the annotation, unique paragraph identifier of the first paragraph, and information indicating a position of the detected selection of text in the first paragraph, wherein the annotation, unique paragraph identifier of the first paragraph, and information indicating a position of the detected selection of text in the first paragraph is stored in a second database.
-
-
34. A method comprising:
-
providing a Web page comprising a plurality of content to be displayed on a computer display device using a Web browser; in response to a selection of a portion of a content by a user using a pointing device, providing a first view of a pop-up toolbox to the user, wherein the first view of the pop-up toolbox comprises a plurality of user-selectable options; in response to a selection of a first user-selectable option by the user using the pointing device, providing a second view of the pop-up toolbox to the user, wherein the second view of the toolbox comprises a suggestion text entry box; receiving at a server input from the user comprising a suggestion inputted into the suggestion text entry box; and storing the suggestion and position information on the suggestion in a suggestions database at the server, wherein the plurality of content is stored in a separate database and the position information comprises information identifying the content and information identifying a location of the selected portion within the content.
-
-
35. A method comprising:
-
transmitting from a server system code and content associated with a Web page to a client; invoking via the code a pop-up toolbox after a user selects a portion of the content using a pointing device at the client, wherein the pop-up toolbox allows the user to input a suggestion to be associated with the selected portion of content; receiving from the client the suggestion associated with the selected portion of content and first information, wherein the first information comprises a content identifier, a start position of the selected portion within the content, and an end position of the selected portion within the content; and storing the first information in a suggestions database, wherein the suggestions database is separate from a database that stores the content associated with the Web page.
-
-
36. A method comprising:
-
providing a first Web page comprising a plurality of paragraphs to be displayed on a computer client display device using a Web browser, each paragraph comprising a plurality of characters; detecting on the display a click of a left mouse button of a pointing device by a first user indicating a start position of a subset of characters within a first paragraph; permitting the first user to hold down the left mouse button and drag a cursor of the pointing device over the subset of characters to select the subset; highlighting the subset of characters on the display as the first user drags the cursor; after detecting a release of the left mouse button by the first user indicating an end position of the subset, highlighting the subset of characters on the display in a translucent color and invoking a pop-up toolbox on the display in which the first user can enter a suggestion to be associated with the selected subset of characters; and storing at a server system the suggestion and first information in a suggestions database, wherein the first information comprises a paragraph identifier identifying the first paragraph, the start position, and the end position, and the plurality of paragraphs are stored in a user Web pages database separate from the suggestions database.
-
Specification