Compendium as a Technology
Compendium as a Technology
Compendium began as a creative set of techniques developed to work with an off-the-shelf tool, QuestMap, an award-winning hypertext groupware application developed at MCC spinoff Corporate Memory Systems, Inc. in the early 1990s. Researchers at NYNEX Science & Technology developed a set of Visual Basic utilities that extended the usefulness of QuestMap far beyond its developers’ scope. One example of these was a utility that analyzed content in a Microsoft Word document and generated typed nodes and links in QuestMap import file syntax based on formatting codes (e.g. styles) in the source document. This innovation has been submitted to the US Patent Office and is currently under patent review.
Further techniques developed by the Compendium team include
- representational morphing, the ability for software to generate representations in alternative tools for different audiences without requiring user effort. The team developed tools that morphed Compendium content from (e.g.) concept maps in QuestMap form to custom requirements documents in MS-Word to custom process flow diagrams in Visio, all without manual intervention
- granular reuse of knowledge elements, a set of strategies for reusing concepts and ideas across a project (and across project teams). The strategies took advantage of aspects of QuestMap’s hypertext architecture that were seen as minimally useful by the product’s developers, especially the ability of the software to keep track of the multiple appearances of a single instance of an object in a database (known in the hypertext literature as a transclusive link). Compendium created techniques for using metadata (tagging), transclusive links, templates, and other approaches that vastly increased the expressive power and usefulness of data contained in a QuestMap database. In a departure from the many collaboration/knowledge management tools that emphasize relationships between documents, however, Compendium’s granular reuse strategies emphasized the relationships between ideas – the components of documents – and the many and different contexts and relationships that individual ideas can have with other ideas in the life of a project
QuestMap, while ahead of its time, was limited in its architecture and didn’t achieve success in the marketplace. In 1998, what had by then become Bell Atlantic Network Systems Advanced Technology decided to develop a replacement tool that could be more closely tied to the Compendium methodology. The team developed a requirements document and an architecture design based on the requirements. The original architecture was built around Java and RMI and was intended to be a client/server application with centralized multiuser databases, that could also support standalone use off the network. An early prototype was built that also included COM objects to provide integration with MS-Office applications, with the idea of replacing the Visual Basic utilities or at least integrating them into one tool.
Y2K and budget limitations limited the pace of development in 1999, but in 2000 a small part-time programming team developed the tool, code-named Compendium, to the level that it was able to be put into production use on Verizon projects. Along the way, the team decided to drop the time-consuming client-server portion of the development effort to concentrate on improving the functionality of the stand-alone tool. The code for supporting RMI and client/server database access is still in the application but is largely dormant at this time.
Compendium, now renamed Compendium, in its current state is a hypertext database application with a concept-mapping GUI front end built with Swing. It has been successfully tested and used for Windows 95, NT, 2000, XP as well as Macintosh and Linux. In 2000 the team decided to drop the use of COM and move toward a Pure Java approach, using straight HTML (and now XML and RDF) as the export mechanism (this also allows users to use other Java Virtual Machines besides Microsoft’s, and allow for Compendium developers to use the most current versions of Java and Swing). The current architecture employs both MySQL and Apache Derby databases, flattening the Java objects to a relational structure, with no code written on the database side to facilitate future migration to other database platforms.
Compendium has added support for Skins, alternative icon sets that can easily be swapped in and out. There is also a public, open XML DTD standard for applications wishing to exchange Compendium data, as well an XML import/export mechanism for Compendium. One of the first applications of this was to enable Compendium to exchange data with the Knowledge Media Institute’s Digital Document Discourse (D3E) tool, an environment for web-based asynchronous threaded discussion of documents. We have developed an API to allow Compendium to be embedded in other applications.