Integrating External Applications with the Microcosm System

Ian Heath, Wendy Hall
Department of Electronics and Computer Science
The University of Southampton
Southampton, UK.
SO17 1BJ
fax: +44 1703 592865
e-mail: ih@ecs.soton.ac.uk

Introduction

Microcosm[Davis92][Fountain90] is a hypermedia system which allows users to browse and query large multimedia collections. However, Microcosm is fundamentally different to most hypermedia systems because of its ability to integrate information produced using a variety of third-party applications. The system can be seen as an 'umbrella' environment allowing the user to make links from documents in one application to documents in another. It has been used within the educational field, for large archives, a variety of Information Systems, for computer aided engineering and for delivering multimedia materials in a range of other applications.

Microcosm consists of a number of autonomous processes which communicate with each other by a message-passing system (Figure 1). No information about links is held in the document data files in the form of mark-up. Instead, all data files remain in the native format of the application that created them. All link information is held in link databases (linkbases), that hold details of the source anchor (if there is one), the destination anchor and any other attributes such as the link description. This model has the advantage that it is possible to have different sets of links for the same data, and also it is possible to make link anchors in documents that are held on read only media such as CD-ROM and videodisk.

Microcosm allows a number of different actions to be taken on any selected item of interest, so use of the system involves more than simply clicking on buttons to follow links. In Microcosm the user selects the item of interest (for example a piece of text) and then chooses an action to take. A button in Microcosm is simply a binding of a specific selection and a particular action.


Figure 1: The Microcosm Model

An important feature of Microcosm is the ability to generalise source anchors. A spectrum of link possibilities exists, from explicitly defined anchors to dynamically generated anchors :-
Specific Links
The user is able to follow the link only after selecting the anchor at a specific location in the current document. Specific links may be made into buttons.
Local Links
The user is able to follow the link after selecting the given anchor at any point in the current document.
Generic Links
The user is able to follow the link after selecting the given anchor at any point in any document. Generic links are of considerable benefit to the author in that a new document may be created and immediately have access to all the generic links that have previously been defined.
Dynamic Links
Not all links need to be created by an author. For example, relationships between pieces of information can be computed, based on statistical analysis of the content (e.g. Computed Links), or related information can be retrieved based on attribute coding of documents.
The basic Microcosm processes are viewers and filters :-
Viewers
Programs which allow the user to view a document in its native format. The task of the viewer is to allow the user to peruse the document, to make selections and to choose actions. Typical actions are follow link, start link and end link (where links may be to processes as well as to documents). The actions themselves are not effected by the viewer. The viewer is responsible for binding the information into a message, which is sent on to the filter chain where it will look for one or more processes that can satisfy this request.
Filters
Processes which are responsible for receiving messages, taking any appropriate actions, and then handing the message on to the next filter in the chain. The actions that filters take are such as changing a message, or adding or removing messages.

2. External Application Integration With Microcosm

It has always been a goal of the hypermedia community to provide information management systems which are not restricted to their own private data sets but which can encompass any and all of the information a person may wish to access when carrying out some task. The Microcosm system, with its loosely coupled process model provides a suitable framework within which external applications can be integrated. It also provides a unique plug-and-play environment, where new functionality can be easily added into system by adding new processes. Also, the selection/action model provides a simple gateway to system functionality. Finally, a simple, unstructured, ASCII-based message format allows the widest possible range of applications to interpret and generate messages for the system.

It is worth looking at two ways in which Microcosm and an external application might be coupled together.

Although these two integration scenarios are not mutually exclusive, it is worth considering them separately as each of them provides valuable insight into the problems associated with this area.

3. Extending an External Application

The Microcosm system provides a very simple model for all applications that require hypermedia functionality. As was described above, a viewer is responsible for displaying and allowing the user to interact with information, and then generate requests to the hypermedia system based on that interaction. This may be explicit (for example, the user has asked to find any links which are bound to "horse" at this location in this document) or implicit (for example, the system has just opened this document, tell me where any buttons are located). In either case, the method for initiating these tasks is the same, by constructing and sending a Microcosm message.

This provides a very simple method for invoking these same hypermedia functions from an external application. Provided there is some method by which information about the document can be extracted from the application (for example, the current selection, the location, the name of the document being displayed), exactly the same interactions with the hypermedia system can take place as above.

How easily an application is integrated, and how much effort will be required to achieve that integration can be calculated by considering the following items :-