Description
The Multivalent Document Model extensively opens to enhancement all aspects of a digital document system. Document content is constructed from layers of often heterogeneous type, each with specialized purpose, all semantically aligned. All user-visible document functionality is constructed from stylized program components called behaviors. Document system operations, such as drawing a representation of the document on the screen and saving an edited version, derive from the fundamental operation found to some degree in every digital document system, newly codified as extensible programmatic protocols. This diverse open content, open functionality, and open operation are woven together by numerous mechanisms to produce a final composition that appears built from the ground up as a unified whole.
A prototype of the Model, called the Multivalent Document System, has been realized in Java, deployed, and built upon by several third party developers. The System has been tested by and has significantly contributed to the development of three sample applications. The first application allows paper scanned into a computer as images to be manipulated as a live, semantic object, with text copy and paste, text search, and a "lens" operation that displays the corresponding ASCII translation of the region. In the second application, HTML, the lingua franca of the web and a very different document type than scanned page images, has been extended with new functionality including outline displays, a speed reading window, and tables sorted on demand. As a third application, both of the above document types can be annotated in situ with hyperlinks, highlights, floating note windows, a new display mode called Notemarks, and executable copy editor markup. Annotations and behaviors in general can be distributed across the network, augment documents on read-only media, and operate on potentially any document format with a single, format-neutral implementation.
This dissertation describes the design of the Multivalent Document Model, its implementation as the Multivalent Document System, and the specialization of the Model in each of the three example applications.