Dynamic Indexing and Hypertext

Our proposed implementation of an indexing facility under direct manipulation and the four real systems discussed previously all operate in a multi-pass fashion, much the same as a source-language based system. However, based on its interactive nature, a direct-manipulation document editor can be constructed with an indexing subsystem that follows the same central ideas, but with an user interface more closely related to the direct-manipulation paradigm.

The ``directness'' may be observed in the following scenario. The author specifies input/output styles by selecting options available in system supplied property sheets. For each key selected in the document, its corresponding entry in the index is immediately displayed, along with entries already entered. Sorting is done as the entry is generated for the output. Consequently, the internal structure for these entries can no longer be an array that is suitable for fast sorting algorithms. Instead, a balanced tree may be the preferred structure. Insertion and deletion reorganize the tree automatically and a traversal of the tree yields the correct ordering. A link between a page number in the index entry and its corresponding actual page is required so that the index needs not be regenerated when the document is reformatted. In other words, when a page number changes due to reformatting, all instances of that page in the index change automatically.

One possible extension to this model is the ability to point at an entry in the index and have the corresponding page located automatically with a keyword highlighted. Thus indexing becomes a dynamic activity from the reader's point of view. This feature typifies the power of ``dynamics'' that an electronic document environment is able to offer, which does not exist in traditional static printed material. In addition to dynamic indexing, one can do such hypertext operations as navigation, filtering, summarizing, etc. [22] effectively based on markup tags, embedded annotations, and links among compound objects in the document.