
Open Hypermedia Systems Working Group
OHSWG Compendium
1997.11.05
OHSWG WWW site
Welcome to the Open Hypermedia Systems Working Group home page. From this page, you should find links to a description of our goals, a list of resources we've established to help us conduct our business, specifications we've developed, and sample implementations of compliant systems.
Infrastructure (in progress)
Framework (in progress)
Domains (in progress)
1 Introduction
This document contains the final and intermediate products of the Open Hypermedia Systems Working Group (OHSWG) effort. In this document, you will find a description of the group, its purpose, and history, released and in progress specifications, e-mail archives of discussions, pointers to off-site information that we are using, and much other material. This document is continually being updated and augmented as our work progresses.
We hope that this document will serve not only as a record of our work, but as an invitation for interested people to join our discussions and use our results. Each page of this document is maintained by one or more responsible people, whose names and contact information are included. Feel free to send questions or comments about any particular page to its maintainer(s) or to the group's mailing list. (The address of this list, as well as instructions on how to subscribe and post, are provided in the appendix page on group resources).
1.1 Brief description of the OHSWG
Peter J. Nürnberg, U Aarhus, Denmark
Previously, systems work in hypermedia tended to be directed toward the traditional application domain of navigation (i.e., the authoring and browsing of structure over data), as inspired by Bush's seminal article, As we may think [1945]. However, hypermedia structuring principles have been applied to a wide variety of domains, including hyperliterature and hypermedia art [Bernstein et al. 1991; Bolter and Joyce 1987; Bolter 1991; Kaplan 1994; Kinsella 1996; Landow and Kahn 1992; Leistøl 1994; Michalak and Coney 1993; Moulthrop 1989; Sawhney 1996], argumentation systems [Conklin and Begeman 1987; Fischer et al. 1989; McCall et al. 1990; Schuler and Smith 1990; Smolensky et al. 1988], spatial hypertext [Marshall and Shipman 1995], and systems for taxonomic work [Nürnberg et al. 1996, 1997; Parunak 1991, 1993].
Much systems work intended for supporting navigation is applicable to supporting these other domains as well. In order to deliver functionality to this broader class of clients, however, it was necessary to consider opening the set of structural abstractions supported by an OHS. A natural way in which to accomplish this is to generalize the link server of contemporary OHS's, replacing this single entity with an open set of link server peers (or simply, structure servers).
Considering an open set of structure servers, however, led to the separation of much of the component infrastructure from the definition of the structure server interfaces themselves. The definition and standardization of these component interfaces and the infrastructure that supports client/server interactions in this environment is the new focus of the group.
The basic purpose of the OHSWG is to standardize these aspects of OHS's. Currently, each OHS implements slightly different interfaces on different infrastructure, making applications integrated into one OHS unable to use the services of other OHS's. Standardization of these aspects of systems will allow clients to operate over all compliant OHS's. Since application integration is an open-ended task, such standardization saves effort on the most costly aspect of OHS implementation. Standardization also allows third parties to build naturally compliant application, bypassing the extra integration step completely.
Scenario-based specification. All functionality proposed to be part of a given architectural component should be justified through one or more scenarios of OHS use. That is, when proposing that some given functionality should be added to the OHS specifications, a scenario based on actual or foreseen use of an OHS should be submitted to the group for discussion. The group should reach a consensus on whether or not the scenario demonstrates the need for added OHS functionality before discussing how best to specify such functionality.
Component-based specification. Specifications should fall into one of three categories: infrastructure, domain, or framework. Infrastructure specifications address the functionality (interface and operational semantics) of OHS backends on which OHS middleware should be built. Domain specifications address the functionality of OHS middleware on which OHS clients can be built. Framework specifications address how components should request and deliver functionality they provide.
Open specification. The set of domain specifications is open, since the set of potentially useful structure models is open. Additionally, each domain specification should allow for extensibility and tailorability of the core abstractions defined by the specification.
1.2 Organization of this document
Peter J. Nürnberg, U Aarhus, Denmark
This document is divided into five sections and a set of appendices. The first section is entitled Introduction. It contains a brief introduction to the OHSWG, this explanation of the document organization, and a history of the group.
The second section is entitled Scenarios. It describes different scenarios of OHS use that direct the work of the group. It is a premise of this group that functionality should be added to a given architectural component only if a scenario for its use can be constructed and the group members can decide collectively that such a scenario should be handled by an OHS.
The third section is entitled Infrastructure. It describes the system infrastructure on top of which OHSWG middleware components should be built. It describes an OHS reference architecture, explanations of the responsibilities of the various architectural components in this reference architecture, and related issues.
The fourth section is entitled Framework. It describes the various technical issues in defining protocols between architectural components, interfaces to various components, and other related issues.
The fifth section is entitled Domains. It consists of an open set of descriptions of interfaces to OHS middleware. Each interface defines a different structural model to be used in a particular application domain.
The appendices consist of various additional group information, such as a list of subscribers to the OHSWG mailing lists, a complete listing and timetable for all OHSWG specifications and sample implementations, guidelines for authors of OHSWG material, and other related issues.
1.3 Message from the OHSWG chair
Uffe K. Wiil, CIT, Denmark
Open hypermedia technology is currently showing its potential for building hypermedia authoring and browsing environments encompassing existing, widely used applications such as Microsoft Word on Windows platforms and Emacs on Unix platforms. The ultimate goal is to introduce hypermedia technology into as many applications and components of existing computing environments as possible to evolve gradually current computing environments into a world-wide, unified hypermedia environment spanning multiple computing platforms. A significant step towards this rewarding and ambitious goal is to introduce open hypermedia standards that allow interoperability between the many small hypermedia environments that make up the global hypermedia environment. Standards also address the concerns of application developers who design applications and system developers who design hypermedia environments. This web site is the main source of information for the ongoing effort in the open hypermedia community to define common guidelines and standards for interoperation between open hypermedia environments.
Open hypermedia research addresses the issues of integrating hypermedia functionality into existing applications in the computing environment. An open hypermedia system (OHS) is typically a middleware component in the computing environment offering hypermedia functionality to applications orthogonal to their storage and display functionality. Using the services of an OHS, existing applications in the computing environment can become "hypermedia enabled", thus supporting linking to and from information managed by the application without altering the information itself. To become "hypermedia enabled", applications must be extended to make the hypermedia functionality available in the user interface and must be able to communicate hypermedia requests to the OHS. The term open hypermedia environment is used to cover both the OHS and the set of hypermedia enabled applications. An open hypermedia environment is a subset of the overall computing environment in terms of applications, programs and services.
OHSs are currently being deployed in various application domains, including digital libraries, computing support for large engineering enterprises, software development and education. Yet, open hypermedia developers have until recently lacked consensus, common guidelines and standards for interoperation between OHSs and applications that request hypermedia services. Without such guidelines and standards, each open hypermedia system uses different approaches and techniques that inhibit interoperability. The immediate results of this are:
The open hypermedia community is currently addressing interoperability issues by defining a set of guidelines and standards for interoperation. A working group has been formed and a number of meetings have been held in this ongoing standardization effort. This historical overview sets the context for the contributions on this web site. The remainder of the overview is divided into four parts. Section 2 contrasts closed and open hypermedia systems; Section 3 identifies different approaches to open hypermedia; Section 4 describes previous historical events of this ongoing standardization effort; and finally, Section 5 describes the current status of the standardization effort.
The term open has different meanings in different contexts. Generally, a software system can be categorized as open if it specifies and publishes interfaces between its system components. However, what does open mean in the context of hypermedia systems and what does closed (or monolithic) mean? An important matter in hypermedia systems is the distinction between structure and content. Therefore, a hypermedia system that imposes a specific data model format (specifying both structure and contents formats) on its hypermedia enabled applications can be considered closed, since applications have to be custom-made to participate in this type of environment. In contrast, an open hypermedia system only imposes a specific structure format on its hypermedia enabled applications. Allowing applications to store contents in different formats potentially outside the hypermedia system is a basic requirement for integrating and using existing applications in an open hypermedia environment [26]. For example, the World Wide Web (WWW) [5] imposes the HTML format on its browsers (HTML embeds structure in the contents). The following example illustrates the conceptual operation of the WWW.
Example: Link traversal in the WWW
From a general software system perspective the WWW is open, since the interface between browsers and servers is well defined (the http protocol). However, a WWW browser must be custom-made to interpret and display HTML files. In order to integrate an existing application to operate as a WWW browser, the application would have to be altered to use HTML as its basic data model format. This would in most cases require a major rewrite of the application. From this perspective, the WWW is a closed hypermedia system. In general, a closed hypermedia system is characterized by only handling a closed set of data model formats and by having a closed set of hypermedia enabled applications that participate actively in the hypermedia services. An application that is simply launched to display a file cannot be considered a hypermedia enabled application, since it is unaware of the hypermedia system launching it.
An open hypermedia system allows an open set of applications to participate in the hypermedia services and supports an open set of data model formats. The following example illustrates the conceptual operation of an open hypermedia environment. (The exact operation varies from system to system.)
Example: Link traversal in an open hypermedia environment
OHSs store the structure separate from the contents. Structure is superimposed on the contents at display time by the hypermedia enabled application handling the contents. Thus, the open set of applications making up an open hypermedia environment can link to and from documents available from many sources (including read-only sources) in the computing environment (e.g., file systems, CD-ROM's and databases).
The overall goal in the design of an OHS is to produce a general set of hypermedia services that can be used by other applications, programs and services in the computing environment. A minimal requirement for an OHS is the provision of basic hypermedia linking services to an open set of applications (the ability to create, delete and modify anchors and links and the ability to traverse links). These services allow existing contents to be overlaid with hypermedia structures. Despite this common goal, existing OHSs vary in different ways:
The lack of consensus in the open hypermedia community about what exactly an OHS is (i.e., what data model and services they should provide and how they should be built) has led to the current line of workshops and meetings described in Section 4.
The open hypermedia community has established itself as a very active part of the hypermedia community. Four workshops and two working group meetings have been held since 1994 (Table 1). Another workshop is planned for Hypertext '98 in June 1998. The workshop series at ACM Hypertext Conferences started in September 1994 at ECHT '94 in Edinburgh, Scotland. The ACM Hypertext Conference workshops are named in numerical order starting with the first at ECHT '94. The workshop in May 1994 in Konstanz, Germany is unrelated to the present line of events and will not be discussed further in this historical overview.
|
Time |
Name/Place |
Abbreviation |
Reference |
|
Jun 1998 |
4th Workshop on
Open Hypermedia Systems, |
OHS 4 |
planned |
|
Sep 1997 |
3.5 Open Hypermedia
System Working Group Meeting, |
OHS 3.5 |
[20] |
|
Apr 1997 |
3rd Workshop on
Open Hypermedia Systems, |
OHS 3 |
[21] |
|
Dec 1996 |
2.5
Open Hypermedia System Working Group Meeting, |
OHS 2.5 |
[6] |
|
Mar 1996 |
2nd Workshop on
Open Hypermedia Systems, |
OHS 2 |
[22] |
|
Sep 1994 |
1st Workshop on
Open Hypermedia Systems, |
OHS 1 |
[24] |
|
May 1994 |
Workshop, Open Hypertext Systems, |
[2] |
Table 1. Open hypermedia system workshops and working group meetings.
OHS 1 [24] resulted in two working groups, one focusing on open hypermedia reference models and one dealing with interoperability in OHSs. While the two groups never formally met, individual members of the groups conducted related research and produced a number of significant results, which were presented in position papers at OHS 2 [22] and in conference papers at the ACM Hypertext '96 Conference [4].
The participants at OHS 2 decided to form one new working group on OHSs. The initial mission of the Open Hypermedia System Working Group [14] (OHSWG) was to address two key issues: defining open hypermedia systems (the scenario subgroup) and defining open link services (the protocol subgroup). The OHSWG held its first meeting in December 1996 in Southampton [6] (named OHS 2.5 to indicate that the meeting took place in between OHS 2 and OHS 3). A third key issue, defining an OHS reference architecture (the reference architecture subgroup), was added to the OHSWG agenda at OHS 2.5.
On the surface, these three subgroups may have seemed independent. However, the idea was that the construction of the scenarios must inform the design of the architecture, which in turn specifies what protocols must be defined. The architecture cannot be designed without grounding in actual examples of how designers envision OHSs being used in the real world to solve real problems. Protocol design can only take place within an architectural framework.
By the time of OHS 3 [21], each of the three subgroups had produced significant results that were reported in position papers at the workshop. Of a total of twenty submissions, six position papers presented different scenarios, three position papers proposed different reference architectures and three position papers addressed protocol issues. OHS 3.5 in September 1997 in Aarhus [20] focused on protocol issues. The goal was to get a first working version of a linking protocol finished to allow for future implementations and interoperability experiments. The linking protocol is the protocol between applications and open hypermedia systems, which enables presentation interoperability.
Sections 4.1 through 4.3 describe the rationale behind each of the three OHSWG subgroups (scenario, reference architecture and protocol) and provide a brief overview of the work done by each subgroup up until OHS 3.5 (September 1997). OHS 3.5 resulted in a major reorganization of the OHSWG as described in Section 5.
The purpose of writing scenarios is to try to define the scope of OHSs by example. Instead of defining the systems themselves, a "canonical" set of scenarios can be constructed to describe problems that can be addressed by OHSs. These scenarios should give the open hypermedia community a common terminology that can be used to measure the relative strengths and weaknesses (and the relative applicability) of different approaches to the open hypermedia application domain.
The OHSWG web site [14] became operational shortly after OHS 2. Among other things, the web site is used to publish scenarios and instructions [15] on how to submit scenarios to the OHSWG. The first scenario, "Navigational 1" [16], was submitted shortly before OHS 2.5 (November 1996). OHS 3 received a total of six scenarios dealing with many different aspects of open hypermedia:
Some of these scenarios have since been published at the OHSWG web site. As of December 1997, nine scenarios have been published on the web site and one scenario is being written.
The effort to define a reference architecture for OHSs is both of theoretical and practical interest. On the theoretical side, such an architecture will allow researchers to compare and contrast various systems. On the practical side, such an architecture can serve as the starting point for interoperability efforts at different architectural levels, including presentation and storage interoperability (Section 1), by identifying the necessary protocols among OHS components.
The reference architecture issue was added to the OHSWG agenda at OHS 2.5. Three position papers on the subject appeared at the following workshop (OHS 3):
These papers deal with different aspects and issues of open hypermedia architectures and propose different reference architectures for open hypermedia. The proposals identify a number of protocols that should be considered in OHS design.
The work in the protocol subgroup has mostly focused on the definition of a standard linking protocol. Through the linking protocol, various levels of hypermedia awareness on the part of the application, as well as various levels of functionality on the part of OHS, are implicitly defined. The work on the linking protocol will not only address the research question of the nature of open link services, but also provide a practical method of allowing presentation interoperability between different open hypermedia environments (Section 1).
A first draft version of a standard linking protocol for open hypermedia (called the Open Hypermedia Protocol version 1.2 or simply OHP 1.2 [7]) was presented at OHS 2. The OHP proposal was well received and was discussed again in detail at OHS 2.5. At OHS 3, three position papers provided critique and proposed changes to the OHP 1.2 proposal:
Based on all the feedback, the OHP was extensively revised, and OHP version 2.0 [8] was released shortly before OHS 3.5. Both at OHS 3 and at OHS 3.5, other protocols (e.g., the storage protocol, which enables storage interoperability between open hypermedia environments) received increasing attention.
A number of important decisions effecting the OHSWG's work were made at OHS 3.5 in September 1997. The three most dominating decisions taken were to adopt the scenario-driven idea to support an open set of structure models, to adopt a component-based approach to develop OHSWG compliant systems, and to base the implementation on existing component technology. The other decisions taken were more or less natural extensions to these ideas:
Thus, what used to be the concerns of the OHP is now being handled in the navigation component and by the underlying component framework. The OHSWG web site [14] reflects this new organization of the work in the OHSWG.
[1] Anderson, K. M. A Critique of
the Open Hypermedia Protocol. In [21], pp. 11-17.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/anderson.html
[2] Aßfalg, R. (ed.). Proceedings of the Workshop on Open Hypertext Systems, (Konstanz, Germany, May 1994).
[3] Bapat, A. Propagating
Navigation. In [21], pp. 24-25.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/bapat.txt
[4] Barman, D. ACM Hypertext '96
Conference web site.
http://www.cs.unc.edu/~barman/HT96/
[5] Berners-Lee, T., Cailliau, R., Luotonen, A., Nielsen, H. F., and Secret, A. The World-Wide Web. Communications of the ACM, 37, 8, (August 1994), 76-82.
[6] Davis, H. C. 2.5 Open
Hypermedia System Working Group Meeting. (Southampton, England,
December 1996).
http://diana.ecs.soton.ac.uk/~hcd/research/invitation.htm
[7] Davis, H. C., Lewis, A., and
Rizk, A. OHP: A Draft Proposal for a Standard Open Hypermedia
Protocol. In [22], pp. 27-53.
http://www.daimi.aau.dk/~kock/OHS-HT96/Documents/ohp.html
[8] Davis, H. C., Reich, S., and
Rizk, A. OHP - Open Hypermedia Protocol. Working Draft 2.0, 20th June
1997.
http://diana.ecs.soton.ac.uk/~hcd/ohp/ohp.htm
[9] Demeyer, S. A Framework Browser
Scenario. In [21], pp. 26-36.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/demeyer.html
[10] Goose, S., Lewis, A., and Davis,
H. OHRA: Towards an Open Hypermedia Reference Architecture and a
Migration Path for Existing Systems. In [21], pp. 45-61.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/goose.html
[11] Grønbæk, K., and
Wiil, U. K. Towards a Reference Architecture for Open Hypermedia. In
[21], pp. 62-72.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/gronbak.html
[12] Haake, J. M. Collaboration via OHS:
A Scenario. In [21], pp. 73-80.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/haake.html
[13] Hall, W., and Davis, H. A
Southampton Scenario for OHS. In [21], pp. 81-85.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/hall.txt
[14] Nürnberg, P. J. Open
Hypermedia System Working Group web site.
http://www.csdl.tamu.edu/ohs/
[15] Nürnberg, P. J. Open
Hypermedia System Working Group web site - scenarios page.
http://www.csdl.tamu.edu/ohs/scenarios/
[16] Nürnberg, P. J., and
Leggett, J. J. Navigational 1. OHS scenario at the OHSWG web
site.
http://www.csdl.tamu.edu/ohs/scenarios/nav1/
[17] Reich, S. How OHP's LocSpecs could
benefit from ISO/IEC 10744. In [21], pp. 98-105.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/reich.ps
[18] Rutledge, L., Hardman, L., and
van Ossenbruggen, J. Applying the HyTime Model to the Open Hypermedia
Protocol LocSpec. In [21], pp. 111-115.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/rutledge.html
[19] Trigg, R. H., and
Grønbæk, K. Heterogeneity, Structure, and CSCW: Three
Challenges for Open Hypermedia. In [21], pp. 131-136.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/trigg.html
[20] Wiil, U. K. 3.5 Open Hypermedia
System Working Group Meeting. (Aarhus, Denmark, September 1997).
http://www.daimi.aau.dk/~kock/OHS3.5/
[21] Wiil, U. K. (ed.). Proceedings
of the 3rd Workshop on Open Hypermedia Systems, Hypertext '97,
(Southampton, England, April 1997). CIT
Scientific Report no. SR-97-01, The Danish National Centre for IT
Research. July 1997.
http://www.daimi.aau.dk/~kock/OHS-HT97/
[22] Wiil, U. K., and Demeyer,
S. (eds.). Proceedings of the 2nd Workshop on Open Hypermedia Systems,
Hypertext '96, (Washington, DC, March 1996). UCI-ICS Technical Report
96-10, Department of Information and Computer Science, University of
California, Irvine. April 1996.
http://www.daimi.aau.dk/~kock/OHS-HT96/
[23] Wiil, U. K., and Whitehead, E. J.,
Jr. Interoperability and Open Hypermedia Systems. In [21],
pp. 137-145.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/wiil.html
[24] Wiil, U. K., and
Østerbye, K. (eds.). Proceedings of the ECHT '94 Workshop on
Open Hypermedia Systems, (Edinburgh, Scotland, September
1994). Department of Computer Science, Technical Report R-94-2038,
Aalborg University. October 1994.
http://www.daimi.aau.dk/~kock/OHS-ECHT94/
[25] Østerbye, K. Fred the
Programmer. In [21], pp. 146-149.
http://www.daimi.aau.dk/~kock/OHS-HT97/Papers/osterbye.html
[26] Østerbye, K., and Wiil,
U. K. The Flag Taxonomy of Open Hypermedia Systems. In Proceedings of
Hypertext '96, (Washington, DC, March 1996), ACM Press,
pp. 129-139.
http://www.cs.unc.edu/~barman/HT96/P51/Flag.ps.gz
2 Scenarios
Peter J. Nürnberg, U Aarhus, Denmark
These scenarios are intended to define the scope of open hypermedia systems by example. In order to make this process as open as possible, we actively encourage the submission of scenarios from interested parties. Use the scenario template below to format scenario proposals. Appropriate scenarios will be posted here for discussion amongst the group members.
Scenarios
Examples
Scenarios (in chronological order of submission)
Scenarios submitted but not formatted
2.1 Sample
Peter J. Nürnberg, U Aarhus, Denmark
References
2.1.1 Sample - Scenario
2.1.2 Sample - Analysis
2.1.3 Sample - Data
EIN HERBSTABEN An Karl Rock Das braune Dorf. Ein Dunkles zeigt im Schreiten Sich oft an Mauern, die im Herbste stehn, Gestalten: Mann wie Wieb, Verstorbene gehn In Kühlen Stuben jener Bett bereiten. Hier spielen Knaben. Schwere Schatten breiten Sich über braune Jauche. Mägde gehn Durch feuchte Bläue und bisweilen sehn Aus Augen sie, erfüllt von Nachtgeläuten. Für Einsames ist ein Schanke da; Das säumt geduldig unter dunklen Bogen, Von goldenem Tabaksgewölk umzogen. Doch immer ist das Eigne schwarz und nah. Der Trunkne sinnt im Schatten alter Bogen Den wilden Vögeln nach, die fernzogen. -Georg Trakl
2.2 Navigational 1
Peter J. Nürnberg, U Aarhus, Denmark
References
2.2.1 Navigational 1 - Scenario
2.2.2 Navigational 1 - Analysis
This scenario points out the following possible modifications to the protocol:
2.3 Collaboration via OHS
Jörg Haake, GMD-IPSI, Germany
References
2.3.1 Collaboration via OHS - Scenario
Author A and author B are working on a common hyperdocument that consists of a network of nodes and links that are partitioned into two (for each author exactly one) subsets. Each subset is maintained by the respective author's hypermedia authoring environment. Now imagine the following collaboration process:
2.3.2 Collaboration via OHS - Analysis
2.4 Fred the programmer
Kasper Østerbye, U Aalborg, Denmark
Updates
Most recent: 13 March 1997
References
The purpose of this scenario is primarily to force us to look forward and to highlight issues that will arise when we succeed with what can be called first generation OHS, which could be characterized by being open to integrate other applications, but where the systems themselves are somewhat closed. The scenario is about a programmer who has a system which is better than any of the present OHS systems, and still he has a lot of problems with accessing information and navigating.
2.4.1 Fred the programmer - Scenario
At the moment Fred is having problems with understanding the Miracle API. He is using the MegaSoft visual C++ development environment. The problem lies somewhere in the search routine he is developing. The idea is that the customer can type in free text descriptions, and the server will then respond with parts corresponding to the description. First guess is that it is the "pullDescription" that doe not properly return the string from the client message. He clicks on pullDescription in the editor, and a new window opens with the code for this procedure. "I always get this wrong Fred thinks" - "to get to the documentation you have to shift click the identifier so that it will use the CCLE (Corporate Collaborative Link Engine - by ViceCosm), rather than the build in hypertext facilities of MS Visual C++."
The documentation and a simple test convinces Fred that the pullDescription is not the problem. Somewhere else then. The function that categorizes keywords so that they can be searched for in the database is written by Fred himself, so he is certain that that is not the problem. "Is there something I have missed from the telephone-based system?" he wonders. He has forgotten where the design document is, but knows where the maintenance manual for the telephone-based system is, as he was in charge of that himself. And sure enough, on the first page it says "to get a overview of the system - read the introduction to the *Design Document*". He clicks on "Design Document", and CCLE resolves the link. "Document viewer for WordPerfect 2.1 now available" it responds. Fred ponders if it is worth the effort to find some one who has an old version of WordPerfect around. His version of Word will not convert WordPerfect documents that old. He decides against it, and hope that he is not fundamentally wrong.
"Didn't Barney do a free text search routine when he was here" Fred suddenly remembers. He loads the telephone system into the programming environment as the CCLE does not support wildcards in the link resolution mechanism, but the programming env. does. He search for all links tagged with "search" or "find", and among 16 hits, he sees Barney's routine. He follows the link, and the programming environment brings up the file, and scrolls to the appropriate place. The comment looks promising, but the routine is huge. He ..."shift clicks" on the routine name to get to any other stuff that is linked to this. There are again a number of possible hits from CCLE. But there is also a warning that "location specifier not link-resolvable". "I wish they would just use the net Fred punders, there I am lost but not put down". But the entry is selectable, and after a bit of investigation it turns out the link-base that Barney used is no longer available. An other dead end.
He returns to his own code. "There is the call to the Miracle database to perform a relational select". "Can't be that Fred thinks" but he decides to check it out anyway. Clicks on "select" and the source code pops up. "Not again..". He shift-clicks on the "select" identifier, and CCLE looks up this link. It is in the context of a module that uses the Miracle-API, so we also need to include links from the Miracle company online documentation. The CCLE gets the appropriate documentation page from Miracle, and displays the result in the Netscape browser. Fred is puzzled. The code seem to be just according to the specifications, but never the less, the database does not seem to return the right results. Fred decides to ask the resident Miracle expert. He writes a short description of the problem, with links to the documentation he relies on to the files he is using including the little test program he is not able to get to work. He then mails a reference to this description to Wilma.
He closes down the programming environment and starts to write a log entry about where he got to regarding the search routine. He adds a link to the message he sent to Wilma, and makes a personal note that he suspects in some way that the wrong database table is being used. He heads of for lunch - "Hope the afternoon is going to more productive!"
Wilma reads the message from Fred and look up the various aspects regarding the miracle database (just like people are always home to answer the phone in movies, programmers always respond to you call for help in scenarios). She reads the message - "Oh no, not again. He is relying on online documentation from the web." She follows the link to the page describing the select call. When scrolled to the very end she gets the version number. "As I thought, they have now a newer version of the Miracle database than we have. Silly plot to get people to upgrade!" Wilma decides to update (or is it downgrade) the entry in CCLE to use the old index and pages when looking up links to Miracle. She the follows the link to Fred’s test program, which brings up the MS Visual C++ environment and makes it scroll to where the call to select is done. She does the simple changes necessary, and the test program works. She writes an answer to Fred, stating that the documentation was wrong, but the it should be OK now, and includes a link to the corrected test program.
When Fred returns, he looks at the new documentation. The test program works fine, but he is quite annoyed that he cannot get to the new documentation, perhaps there was a way to make this "forward compatible", sometime soon we will get the new version of this Miracle database, and then I might have to change it. Well, he knows, the designers of CCLE say versioning of links across hypertext systems will be included in the next major release, but they always say so. He makes a entry in his log, and links it to the source of the search routine, so that he (or someone else) will at least know the problem and its solution when it arises next time.
2.4.2 Fred the programmer - Analysis
There is a need to be able to address nodes across hypertext systems. As an example if one wants to link from documentation maintained by the CCLE to a function which is maintained in a file managed by the programming environment. My thoughts in this direction is that from the point of view of the CCLE, the programming environment is a huge composite, and it is possible to address nodes and links in that composite, perhaps in a composite specific way. I thus believe that composites can play a vital role in cross-hypertext integration. This will likely produce new and interesting variations on dangling links, and perhaps also "dangling composites". Notice that the CCLE also need to export itself as a composite, to allow the reverse integration, linking from the programming environment to the CCLE.
As I should have expected the versioning and configuration issues always play an important role. Though several persons myself included have come up with flexible and powerful data models that can handle the issues presented in the scenario, I now believe that the real challenge in versioning and configuration is to develop a user model that is simple enough to be useful in practical situations. Cross hypertext linking does complicate the matters further and I have no solutions.
Also notice that the hypertext system is "at the core". There is hypertext functionality everywhere at the author level as well as the reader level. Eg., it is easy for Wilma to create a few free hanging notes and links and send them by e-mail to Fred. How this is done I have no clue. But the separation between loc. specs and ref. specs as advocated by Kaj and Randy might be all that is needed to make emailing hypertext practical.
2.5 Spatial 1
Peter J. Nürnberg, U Aarhus, Denmark
References
2.5.1 Spatial 1 - Scenario
Users are expected to place like data into spatial structures such as stacks, vertical lists, etc. These structures may themselves be placed into structures, and so forth. For example, several vertical lists may be placed side by side, forming a group of lists.
The spatial hypertext system should be able to recognize the spatial structures generated by users and allow users to treat all objects in such a structure as a unit for certain operations, such as movement or deletion. It recognizes these structures by conducting a "spatial parse" the space in which the data reside. An important aspect to the structure generated by a spatial parse is that it is dynamic. Repositioning one or more data may invalidate the results of a previous spatial parse. Furthermore, it is difficult to modify the results of a previous parse to account for data movement. Also, this parse is relatively (time-wise) inexpensive to perform. This means that there is no reason to keep the results of a parse after data are moved. Instead, new structures can be generated by the parser as requested.

The spatial hypertext system he is using allows hierarchic click selection. That is, the first click on a datum selects it for a further operation, such as movement or deletion. A second click on an already selected datum additionally selects all of the datum's "neighbors" in the next highest spatial structure. Such selection of neighbors in ever higher-level structures can continue until all neighbor's in the highest level structure in which the original datum is located are selected. Clicking in "empty space" (space in which no datum resides) unselects all selected data.
Casper decides after further reading that the weeble and wobble system do not address his problem. Casper selects the weeble object. He then clicks again to select all objects in the structure in which weeble is embedded. The spatial parser recognizes that there is a list of blue objects in which weeble is embedded, and selects all other objects in that structure. In this case, only one other datum is in this structure, that being the wobble datum. With these objects selected, his space looks like this:

He then moves these objects into the Don't column. He then deletes the Unsure list header. His screen then looks like this:

Later, Casper decides he doesn't want to discuss systems that don't address his problem in his paper. He again selects weeble. Then he clicks again, which selects all objects in the list of blue objects in which weeble is located. In this case, the widget, gadget, and wobble data are all selected. He clicks again, and the Don't datum is added, since it belongs to the "red-headed list of blue data" structure. With these objects selected, his space looks like this:

He then deletes all of these objects and continues his writing task.
2.5.2 Spatial 1 - Analysis
Under construction...