A Survey of Web Annotation Systems

Rachel M. Heck, Sarah M. Luebke, Chad H. Obermark
Department of Mathematics and Computer Science
Grinnell College
Grinnell, Iowa 50112
heckr@ac.grin.edu,luebke@grinnell.edu, obermark@math.grin.edu

1. Introduction

In July of 1945, Vannevar Bush published a paper called "As We May Think" in The Atlantic Monthly [Bush 1945]. His paper laid out a design for an interactive information sharing device that, at the time, was little more than a dream. In the last couple of decades, this dream has come to be realized in the form of the World-Wide Web. Unfortunately, the exchange of ideas on the Web is primarily one-way. The author is given many tools for displaying whatever information that he may wish while the viewer is only permitted to interact by reading the page, clicking on links, or making bookmarks. "Man profits by his inheritance of acquired knowledge," states Bush. A two-way system where the viewer could have the opportunity to take notes on a Web page for later use or the use of fellow readers would allow for a greater exchange of ideas. As Ka-Ping Yee, designer of the CritLink Mediator, states:

An inaccuracy in a document that could have been corrected once by a reader must be noticed and re-corrected by each new reader; related supporting material to a document suggested by one reader must be re-found by each new reader; and so on, leading to incomplete information and wasted time. [Yee 1998]

A two-way information exchange could help solve this problem with the current structure of the Web. This type of exchange also leads to many benefits in education as it will allow discussion to take place outside the classroom in addition to that which is conducted inside.

The solution to our problem is the instantiation of an annotation tool that can be used to make private, public, or shared annotations, or notes, on already existing Web pages. Annotation systems are meant to give electronic documents some of the same note-taking possibilities as paper documents. There are varying beliefs of what note-taking capabilities should be offered in an annotation system. Readers often take notes in the margin of a page or on a separate page. Another common form of annotation is underlining, highlighting, circling text or writing between lines. A different type of annotation is one meant to be shared with other readers, such as discussion-like comments or questions. [Ovsiannikov 1998]

There have been many attempts to build such systems, whereby people could easily mark-up documents on the World-Wide Web but "there is nowadays no widespread annotation service" [Zohar 1999]. The functionality and implementation of these varies greatly. In this paper, we will give an overview of several existing annotation systems, which will eventually be used as a basis for the development of our own easy to use annotation system for classroom use.

2. Description of Some Existing Annotation Systems

2.1 ComMentor

ComMentor is a Web-based annotation system developed by the Stanford Integrated Digital Library Project and written in Perl [Röscheisen 1994]. This annotation system is implemented as a Web browser with extensions (based on NSCA Mosaic) that allow the reader to annotate arbitrary Web pages.

When a reader views an annotated document, the annotated text is highlighted and the author's picture or icon is displayed after it. The icon serves as a link to the text of the annotation. If the reader clicks on the icon a new window displays the annotation. The reader can also view the text of the annotation by passing the mouse over the icon (a smaller window pops up which looks like a PostItTM note).

To add a new annotation, the reader can highlight text in an HTML document and choose annotate. This gives the user the freedom to annotate any place within the document. A dialog box pops up which asks for a name and the text of the annotation. The author then chooses which "set" the annotation is in. The "set" can be private, public, or a designated group. The author can also change his/her user profile, which contains the author's full name, email address, URL and a link to a personal icon or picture.

Since the annotations are documents themselves, a reader can annotate annotations. This creates a thread-like discussion based on an idea in the original document. When an annotation is opened that has replies, the follow-ups are displayed in the same window, underneath the original annotation. A reader can not identify whether there are replies to an annotation unless the annotation is opened, though.

2.2 Annotator TM

AnnotatorTM is an annotation system based on the ideas of Annotation Technology [Ovsiannikov 1998]. It extends Netscape Communicator and is written in Java.

Before browsing the World-Wide Web, AnnotatorTM requires the reader to start at a particular URL and log into the annotation database. When the reader comes to a page that has been annotated, the annotations are fetched on the fly. The browser sends an HTTP request to the annotation proxy, then the proxy forwards the request to the appropriate Web server. The proxy also retrieves the annotations corresponding to that URL from the annotation database. The new page is then returned to the client's browser.

When the reader chooses to add a new annotation, she must open Netscape Composer and highlight the text she wants to annotate. Then she chooses the corresponding item in the "Annotate" menu. The annotations can be public, private, or group accessible.

In-line annotations are marked with a certain font and color. This makes them distinguishable from the original document. The font and color is chosen by the author of the annotation, but the reader can change it. The reader can also turn the insertion of annotations on or off, or filter them by owner, color, age, and subject. Annotations are fully searchable as well.

When annotations are longer than a few lines or text, they are not added to the document as in-line notes, since this disrupts the flow of the original document. A reader can only access these annotations (called memos) via the "Index Window". An "Index Window" is a separate pop-up window that comes up whenever a document with annotations is viewed. This window is a list of all the annotations for that page (in a thread structure). The Index allows readers to skip to different annotations in the document. It also has any annotations that became "orphans" when a page was modified.

2.3 Third Voice

Third Voice is a commercial product for annotating World-Wide Web documents, which is freely available from their Web site. In order to use this software, a reader must download the application and register with Third Voice. Each time the reader wants to browse the Web, he/she is required to log in at Third Voice. A small menu-like icon is then displayed in the top left corner of the browser window throughout the reader's Web session.

When this software is running and the user is logged in, existing annotations are marked with a small arrow in the document text. The reader can click on the arrow or hold the mouse over it to view the annotation.

The reader can also choose to have a list of annotations displayed in the left margin of the page (in a frame). This allows the reader to click on any of the annotation titles in the margin, which will display the annotation in the document part of the window. The annotations are not searchable, though.

To add annotations, the reader highlights the text to be annotated and chooses "Post" from the menu. Then the author chooses one of three types of annotations: private, group, and public (viewed by anyone registered and logged in to Third Voice). The author then enters the text of the annotation and the title in a dialog box.

This software requires Internet Explorer 4.0 running on Windows 95 or 98.

2.4 CritLink

CritLink Mediator is a Web-based annotation system developed by Ka-Ping Yee at the University of Waterloo. This system is freely available for use on the WWW. Annotations are stored and saved in an annotation server at http://crit.org. Any page that you wish to see the annotations for must be typed into the "mediator" URL box. This box appears like any other form box in the top left hand page of every page while you are using the mediator. The mediator then loads the page and adds in any annotations stored in the annotation server.

Annotations can be added at any point in the document which makes it very easy to produce idea-level commenting on any Web page. Though this level of precision is very desirable, the implementation of it is a bit clumsy. The lines of the document that one wishes to annotate must be retyped into the commenting window. A different implementation would add much to the usability of the system.

Annotations on a page are in two main forms: integrated within the text or at the end of the document. Integrated annotations appear as small arrows that surround the text that is annotated. These arrows act as links to the actual comment. Document annotations simply place the comment at the bottom of the document.

The presentation of comments is not entirely intuitive. For each comment, there is a box that has many links within it to several different things (e.g. The authors e-mail address, the address of the page annotated, the actual text that was annotated, and a link to the stylesheet document that is used for the annotation.) Many of these things are necessary and/or useful but the presentation of them is not easy to understand.

In order to annotate an already existing annotation, one can annotate the comment page just like any other Web page. This allows for a hierarchy of annotations but because of the nature, it is easy to get lost in the replies to comments. As one researcher noted:

[T]here are lots of ways conceivable in which one could reply to an annotation made by someone else-but if there is no structural guidance for such a comment for type "reply", then this will easily become confusing for subsequent readers. [Röscheisen 1995]

A simple hierarchical thread-like structure could be generated if there was an ability to annotate another annotation as an annotation and not just as another Web page.

"Future enhancements may include...better support for navigating discussions," says CritLink developer Ka-Ping Yee, "The author is hopeful that this initial work will help motivate further activity in the area of critical discussion by providing a usable prototype to demonstrate the utility of enhanced hyperlinking features" [Yee 1998].

2.5 CoNote

CoNote is an annotation system developed at Cornell University which is based on HyperNews and written in Perl. [Davis 1994] [Ovsiannikov 1998]

When a reader views a page with annotations, a link to the text of the annotation is displayed in the document along with the author's name, time and date. If there is more than one annotation at that spot, they are listed by date. Those referring to other annotations are indented directly beneath them (similar to a thread). Once an annotation has been selected the user may move through the annotation in the new window via navigation buttons at the bottom.

Annotations are limited to locations selected by the author when creating the document and cannot be placed throughout the page. To add annotations (if you are allowed to do so), the reader can use a "Reply" button at the designated place for annotations. If there is a list of annotations already, the "Reply" button is at the end.

Access to annotations are divided into four separate roles defined by a group of people who share these collected documents. The first role allows a viewer to see an annotated document, but not the annotations themselves. The second role, reader, can read the document and the annotations. A user can see, read and add annotations. And finally, an author may read, add and delete annotations where necessary.

Anonymous users may be able to access a document if the group defines a default role. This allows outside users to access the document without having to add them to the CoNote group.

CoNote also allows a user to search for specific annotation information by date, author or document. A tree structure is then displayed of the information found by that query.

2.6 Futplex

Futplex is a private Web browser-equipped annotation system. Koen Holtman began development of Futplex in 1994. The system allows users to add and delete Web-like pages that can then be annotated by other users. The pages act like Web pages in almost all ways though the system does not correct HTML code that has been imputed by the user incorrectly. Though it does not allow annotations to public World-Wide Web documents, annotations on these private pages can be added to any part of the document.

Authors of both pages and annotations are kept and posted to ensure that credit is given, yet an author does not have full rights to his or her work. Annotations can be edited by only the original author but they can be moved or deleted by any user. "The making of inappropriate radical changes is only prevented by social pressure within the user community," states Holtman [Holtman 1996]. The Web-like pages can never be deleted. Only links to pages can be deleted. This design decision was made in order to stop the problem of broken links.

Futplex allows for date searching on annotations and has a built in "NEW" symbol that appears near every annotation that has not been seen by a user who has logged in.

The Futplex system is a collection of CGI scripts that are made to run only on UNIX based systems.

Summary Table

A table summarizing some features of the annotation systems
ComMentorAnnotatorThird VoiceCritLinkCoNoteFutplex
Annotate all WWW pages XXXX  
Idea-level placement XXXXauthor assignedX
private XXX X 
groups XXX sort of X
publicXXXXsort of  
reply threadingXX? X 
searchable X  XX
pop-up window for reading annotationsX X XX
in-line annotations
  title only
separate index XX   

3. Conclusion

We have found that there are various capabilities demonstrated in annotation systems. Some of the tools allow readers to add annotations at arbitrary places in the document, while others, such as CoNote, only permit annotations at author-designated spots. Another variation in design is the way annotations are presented, whether as inline (highlighted) text or as a separate document. Furthermore, the developers of Futplex decided that less security was beneficial, while others restrict the ability to delete or move annotations. There is also variation in the permissions of annotations. Some annotation systems are designed for private use and therefore permit personal notes. On the other hand, some tools saw a need for public or group accessible notes.

There are surely many reasons behind the different implementations of annotation systems. For one, the term "annotation" has different interpretations. Some people take annotation to mean private notes, much like those made on a written page. Others feel annotations are comments written by the author of a page, but are somehow marked as separate from the text. Finally, many envision annotations as remarks associated with a Web page that can be viewed by anyone reading that page. Secondly, the tools we have looked at were not all designed for exactly the same purposes. For instance, Futplex is meant to be used for a private, small-scale system with few users, while most of the others are intended for a larger group of people. These differences seem reasonable based on their individuals purposes and implementation decisions.


  1. Bush, Vannevar. (1945) "As We May Think", URL: http://www.ps.uni-sb.de/~duchier/pub/vbush/vbush.shtml
  2. Causton, Laurie. (1999) "Web-based tools for document annotation", URL: http://www.elpub.org/html/tool_annot.html
  3. Davis, Jim. (1995) "Annotation Systems", URL: http://dri.cornell.edu/pub/davis/Annotation/others.html
  4. Davis, Jim. (1994) "CoNote", URL: http://dri.cornell.edu/pub/davis/Annotation/about.html.
  5. Gibson, Julie and Philip Rutherford. (1998) "Learners are teachers too in our virtual classroom", URL: http://www.elsevier.nl:80/cas/tree/store/comnet/free/www7/1888/com1888.htm
  6. Holtman, Koen. (1998) "Futplex Homepage", URL: http://gewis.win.tue.nl/applications/futplex/
  7. Holtman, Koen. (1996) "The Futplex System", Proceedings of the ERCIM workshop on CSCW and the Web, URL: http://orgwis.gmd.de/projects/W4G/proceedings/futplex.html.
  8. Marshall, Catherine. (1998) "Toward an Ecology of Hypertext Annotation".
  9. O'Hara, Kenton, and Abigail Sellen. "A Comparison of Reading Paper and On-Line Documents", CHI '97 Electronic Publications, URL: http://www.acm.org/sigchi/chi97/proceedings/paper/koh.htm.
  10. Ovsiannikov, I., M. Arbib, and T. McNeill. (1998) "Annotation Software System Design", URL: http://rana.usc.edu:8376/~ilya/at.ps.gz
  11. R�scheisen, Martin, and Christian Mogensen, and Terry Winograd. (1995) "Interaction Design for Shared World-Wide Web Annotations", CHI '95 Proceedings, URL: http://www.acm.org/sigchi/chi95/Electronic/documnts/shortppr/cmn_bdy2.htm
  12. R�scheisen, Martin, and Christian Mogensen, and Terry Winograd. (1994) "Shared Web Annotations As A Platform for Third-Party Value-Added Information Providers: Architecture, Protocols, and Usage Examples", URL: http://www-diglib.stanford.edu/diglib/pub/reports/commentor.html
  13. Schilit, Bill, and Gene Golovchinsky and Morgan Price. "Beyond Paper: Supporting Active Reading with Free Form Digital Ink Annotations", CHI '98 Proceedings, URL: http://www.fxpal.xerox.com/papers/sch98a.pdf
  14. Third Voice Inc. URL: http://www.thirdvoice.com
  15. Whittington, Dave. (1997) "The Mole System", URL: http://cvu.strath.ac.uk/dave/mole/.
  16. Yee, Ka-Ping. (1998) "CritLink: Better Hyperlinks for the WWW", URL: http://crit.org/~ping/ht98.html
  17. Yee, Ka-Ping. (1999) "The CritLink Mediator", URL: http://crit.org/http://crit.org/critlink.html
  18. Yee, Ka-Ping. (1997) "M1+ Implementation Proposal", URL: http://www.foresight.org/WebEnhance/M1Plus.html
  19. Zohar, Ron. "Web Annotation - an Overview", Feb 1999, URL: http://www-ee.technion.ac.il/~ronz/annotation/


We graciously acknowledge Professor Sam Rebelsky for his guidance throughout this project. This work was supported by Grinnell College, the Grinnell College Noyce Science Summer Research Fund, and the Robert N. Noyce Faculty Study Grant.