CritLink: Better Hyperlinks for the WWW

April 1998
submitted to Hypertext '98

Ka-Ping Yee
University of Waterloo
Waterloo, Ontario, N2L 3G5, Canada


This paper describes a set of hypertext linking features essential for supporting critical discussion and document annotation which are missing from the World-Wide Web. It also presents an implementation that makes these linking abilities widely available to users of existing WWW clients.


annotation, critical discussion, argumentation, bidirectional links, fine-grained links, extrinsic links, typed links, World-Wide Web


The World-Wide Web [1] is a distributed document information system that implements some of the ideas of hypertext [2, 3]. However, the original hypertext vision has yet to be completely realised. Among the features missing are abilities that would enable critical discussion to take place on the World-Wide Web. These key abilities are bidirectional linking, extrinsic linking, fine-grained anchors, and link typing. Together, they permit any reader to attach comments to any existing document on the Web, where the comments can express a positive or negative disposition about a specific word or phrase in the document. The purpose of the project is to multiply the value of individual knowledge to make collaboration and knowledge exchange more efficient. Eventually, such systems could improve the way we debate important political and social issues.


This section describes in more detail the important features for links that are needed to make critical discussion possible. The goal is to allow readers to contribute to a discussion by making visible comments of their own on existing documents anywhere. Most documents on the World-Wide Web are written in HyperText Markup Language (HTML) [4], which we examine for compatibility with these features.

Link Directionality

The World-Wide Web currently supports links which join two endpoints (termed anchors) and can be traversed in one direction, from what we will denote the source anchor to the target anchor. When viewing a document, links whose source lies within the document are visible, but links that target the document are not. From a given document, there is no simple way to reach the documents that reference it. Thus, links on the Web can be said to be unidirectional.

Intrinsic and Extrinsic Links

HTML allows the author of a document to specify links within the text of the document itself. That is, the links are intrinsic to the document. Only the author of the source document can create links. Third parties cannot add relationships to other documents. To allow third-party contributions, we need links stored outside of the documents themselves, which we call extrinsic links.

Link Typing

To provide semantics for links between documents, HTML allows a link to have an attribute that describes the relationship between the two anchors. For example, it could be useful to know that a particular link joins a preceding document to a following document, or that the source document is a correction to the target document. Unfortunately, most client programs fail to support this feature in any way.

Anchor Granularity

An anchor might reference either an entire document or a specific part of a document; we call the former coarse-grained and the latter fine-grained. The specification for HTML includes support for both kinds of source anchors; however, most popular Web client software completely ignores links whose source is an entire document. Universal resource locators (URLs [5]) support both kinds of target anchors; however, a fine-grained target anchor may only be a section that has been explicitly marked in the target document. Even when the author of the target document has co-operated by marking a section, most client programs neglect to indicate the position of the marked section, but only scroll the user's view to an approximate location nearby, leaving the user to guess where the fragment actually lies. This renders fine-grained targets ineffective.

The State of the Web

We conclude that current Web software fully supports only untyped, intrinsic, one-way links with fine-grained source anchors and coarse-grained target anchors. As a result, readers cannot interact with or contribute to most documents. 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.


A design for a solution that adds these four key features (bidirectionality, extrinsic links, fine-grained anchors, and link types) is necessarily restricted by the widespread deployment of existing Web client software. The key problem is how to incorporate additional link information into the documents that a user sees. It is crucial to make these features accessible to all users with a minimum of effort, so an approach must be chosen which interoperates well with existing structure and requires minimum change to the user's Web client software.


In fact, the ideal limit of zero change to the user's software can be attained. This is accomplished by filtering the user's view of the Web through an intermediate server, which we call a mediator [6]. A mediator makes requests to other Web servers on behalf of its client, while adding value to the information it receives to provide an enhanced view to the user. It also modifies the links in the documents it processes so that the client software will continue to invoke the mediator on each request, in order to provide a seamless browsing experience for the user. After making the first request indirectly through the mediator, the user travels from enhanced document to enhanced document in the normal way. In our case, the mediator is responsible for adding link and annotation information to documents. Since the enhancement software resides only with the mediator, no users need modify or reconfigure their client programs.

Link Specification

As described above, some of the necessary features are already present in the definition of HTML, but are simply not supported by popular browsers. For these features -- link typing and coarse-grained source anchors -- we can use the existing methods for specification in HTML. For link typing, this means using the REL and REV attributes on links to specify the relationship between the source and target. For coarse-grained source anchors, this means using the <LINK> tag in an HTML document to indicate links from the entire document to other anchors.

Additionally, we require a method for specifying an extrinsic link to a fine-grained anchor in a document that did not already happen to have a target fragment marked out. To locate a desired phrase in a target document, we extend the syntax of URL fragment identifiers to request a text search for a given sequence of words. Such an addressing method was chosen because it is not affected when small changes are made to other parts of the document.

Link Storage

The design so far allows all link information to be placed in documents out on the Web, making such link enhancements available to anyone. However, to display bidirectional links, the mediator service needs to know about other documents that link to the current document. Thus, the service maintains a database of links it has seen, and updates this database each time it retrieves a document.

Link Display

When the mediator service processes a document, it examines the links in the database that target the document, and inserts indicators into the text of the document to make these "reverse links" visible. To make link types useful, the service displays different indicator icons depending on the link type, and presents other information about the link and the document (such as the title, author, and so on) into a form that all client programs can understand and display.


The implementation described in this short paper is operational, and can be found at:

The project enhances the Web to allow typed, extrinsic, two-way links with fine-grained or coarse-grained anchors on either end. Future enhancements may include notification of authors when their documents have been annotated and better support for navigating discussions. 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.


This work was supported by the Foresight Institute. The system described here was designed with input from Mark Miller, Chris Peterson, Terry Stanley, Wayne Gramlich, K. Eric Drexler, Dean Tribble, Norm Hardy, and others.


  1. Berners-Lee, Tim, Information Management: A Proposal, CERN, 1989.
  2. Bush, Vannevar, As We May Think, The Atlantic Monthly, July 1945.
  3. Nelson, Theodor H., The Hypertext, Proceedings of the World Documentation Federation, 1965.
  4. World-Wide Web Consortium (W3C), HyperText Markup Language,
  5. World-Wide Web Consortium (W3C), Naming and Addressing,
  6. Yee, Ka-Ping, Definition of a Mediator,, 1995.