Open Hypermedia

Niels Olof Bouvin, <n.o.bouvin@daimi.au.dk>

Kenneth M. Anderson, <kena@cs.colorado.edu>

 

An introduction to the area of open hypermedia and a description of three influential open hypermedia systems

Overview

Meyrowitz' Missing Link

What is Open Hypermedia?

The essence is the integration of third party applications:

Any system that is intended to integrate applications will need to be an open hypertext system, in the sense that it will need to be extensible, tailorable and possess some published interface whereby content viewers may communicate with the link service.

(Davis et al.)

Integration of applications
Open hypermedia acts as "glue" between programs not designed to work together
Open hypermedia enables (to a higher or lesser degree) linking into documents not designed for hypermedia
Consequence
Open hypermedia systems store links outside of documents
Open hypermedia systems must be flexible and extensible
Open hypermedia system development is the art of the possible

Overview

Microcosm

Basic challenges (for all open hypermedia systems)

The open hypermedia system (OHS) must or should be able to
  • launch applications and documents
  • highlight links ("buttons") or destinations in documents
  • receive commands from the user working with an applications for
    • following links
    • creating links
    • creating anchors
    • ...
    and when doing so extract relevant information from the application
Ideally,
  • the integration should fit naturally within the application
  • the OHS should stay in the background
So the OHS will be communicating a lot with various, different applications
  • applications most likely not made to communicate with the OHS...

Microcosm – level of integration

Tailor Made Viewers
  • specialized application – completely integrated with OHS
Source Code Adaptation
  • hypermedia primitives (anchors, links) and OHS communication can be added
Object Oriented Re-Use
  • ? just like Tailor Made Viewers (but with inheritance)
Application Interface Level Adaptation
  • the application can be programmed through an API or a macro language
Shim or Proxy Programs
  • the application is controlled through a small program that talks to the OHS ("Universal Viewer")
Launch Only Viewers
  • no communication possible. Can only be used to show whole documents

Microcosm architecture

Microcosm architecture

A Microcosm link from a linkbase file

\SourceFile 100.02.24.93.11.39.54
\SourceSelection SPC
\SourceOffset 214
\SourceDocType TEXT
\DestFile 100.02.24.93.12.40.49
\DestSelection manual
\DestOffset 312
\DestDocType TEXT
\Description SPC Definition

Link types in Microcosm

Specific link
  • from an object at a specific location in a source document to an object at a specific location in a destination document
Local Link
  • from an object at an arbitrary location in a source document to an object at a specific location in a destination document
Generic Link
  • from an object at an arbitrary location in an arbitrary source document to an object at a specific location in a destination document
  • ("object" is typically a text string)
Text retrieval links – computed destination
  • search for string match across registered documents
  • lookup in inverted indexes and computation of "similarity coefficient"
Image links

A Specific Link

\SourceFile 100.02.24.93.11.39.54
\SourceSelection SPC
\SourceOffset 214
\SourceDocType TEXT
\DestFile 100.02.24.93.12.40.49
\DestSelection manual
\DestOffset 312
\DestDocType TEXT
\Description SPC Definition
      
Specific link
  • from an object at a specific location in a source document to an object at a specific location in a destination document

A Local Link

\SourceFile 100.02.24.93.11.39.54
\SourceSelection SPC
\SourceDocType TEXT
\DestFile 100.02.24.93.12.40.49
\DestSelection manual
\DestOffset 312
\DestDocType TEXT
\Description SPC Definition
      
Local Link
  • from an object at an arbitrary location in a source document to an object at a specific location in a destination document

A Generic Link

\SourceSelection SPC
\SourceDocType TEXT
\DestFile 100.02.24.93.12.40.49
\DestSelection manual
\DestOffset 312
\DestDocType TEXT
\Description SPC Definition
      
Generic Link
  • from an object at an arbitrary location in an arbitrary source document to an object at a specific location in a destination document

User Interface Consequences

Generic and local links may match many selections across the document
  • should all instances be highlighted?
  • can they be highlighted?
Many applications cannot perform the necessary highlighting (also known as "link decoration")
  • How will the user know where to click?!
Ending the tyranny of the Button
  • select text
  • (try to) follow link
  • maybe there's a link!
  • maybe there isn't....

User Interface

Closed applications
  • launch-only for all applications (at the very least)
  • universal Viewer (Parasite-program)
  • follow link from applications when copy to clipboard is supported
  • destinations may be located through searching and scrolling by "remote controlling" the program
Open applications
  • use of macro language or similar to extend the user interface
  • hypermedia functionality available directly in the interface
  • communication of textual messages about links and anchors
Protocol – simple communication tagged messages
  • messages are interpreted of one or more filters in the chain
Integration based primarily on Generic Links and Local Links using string match

Application Interface Level Adaptation

Microcosm and AutoCAD

AutoCAD integration through macro language integration

Shim or Proxy Program: The Universal Viewer

Microcosm and Universal Viewer

Calendar integration through Universal Viewer

Microcosm – summary

However...

Overview

Devise Hypermedia

The Dexter Hypertext Reference Model

The Layered Dexter Architecture

The Layered Dexter Architecture

The Dexter Hypermedia Model

Component
  • The parent class of the other components
  • Anchors that point into its contents
  • Presentation information defining how the component should be shown to the user
Atomic Component
  • The basic container of information – known as 'documents', 'nodes', 'frames', etc. in other systems
  • Wraps a document of some sort
Link Component
  • Contains a number (at least 2) link specifiers which point to other components and their anchors
  • Thus, multi-headed links are possible – even links to links
Composite Component
  • Can contain other components (also composite components)
  • Only restriction: It cannot directly or indirectly contain itself

The Dexter Architecture in Action

The Dexter Architecture in Action

Devise Hypermedia (DHM)

Implements an object oriented design with:
  • generic classes for all the Dexter concepts
  • classes organized in an extensible and tailorable framework for hypermedia development
Immediate benefits from the Dexter model:
  • Separation between Storage (persistent) and Runtime (transient)
  • Bi-directional links
  • Multi-headed (n-ary) links
  • A basic notion of Composites
  • An interchange format

Devise Hypermedia Architecture

DHM arkitektur

Storage Component in Devise Hypermedia

DHM components

The object oriented storage framework

Requirements of Devise Hypermedia

Openness
  • DHM should be able to handle the applications and document types used
Collaboration
  • The engineers must be kept abreast of the bridge's progress and changes to its design
  • Must support different levels of collaboration from decoupled to tightly coupled (What You See Is What I See)
Should be easily extended
Open hypermedia systems exist in a changing world and must be adaptable

Document Work at the Great Belt Bridge

Great Belt

Devise Hypermedia

DHM screenshot

Collaboration support in Devise Hypermedia

Event notification
  • creation/modification/deletion of object (nodes, links, etc.)
  • changes of locks on objects
  • users subscribe to 'notifications'
Session management
  • a 'session' is a named collaboration between a group of users during a period
  • join/leave sessions
Long term transactions
  • temporary locking of objects to prevent overwrite
Basic challenge: How to prevent changes outside of system's control?
  • documents handled through document management system (Documentor)

Devise Hypermedia

collaboration architecture

DHM arkitektur

Event Notification in Devise Hypermedia

Subscribing Event subscriptions dialog Event has occurred

Integration with third party applications

Devise Hypermedia

DHM   Appliation
  Present (file)
New Link (appl, file, selection)
Add Endpoint (appl, file, selection)
Follow Link (appl, file, selection)
Delete Endpoint (appl, file, selection)
Present Endpoint (file, selection)
Update (contents, anchorValues, pSpecValues)
Open
Close
 
Example Implementation
Excel AppleEvent with the following text data:
#XCL#DEVISE1#HYPERMEDIA:DEMO:TEST.XL#NL#1#R1C1:R4C5

Devise Hypermedia

excerpt from the Open HM protocol

Variants of Devise Hypermedia

DHM variants

Assessment

However...

Overview

Chimera: Overview

Chimera: Data Model

Chimera's Data Model

Chimera: Data Model in More Detail

Chimera: The View

Chimera: Run-Time Architecture

Chimera's Run-Time Archtiecture

Chimera: Server's Internal Architecture

Chimera Server Archtiecture

Chimera: Architecture in More Detail

Chimera: Application Integration

Chimera Extension Mechanisms

Chimera: In Use

Flight Simulator and FrameMaker integration with Chimera

Chimera: Real-World Use

Assessment

However...

Overview

A comparison

  Microcosm Devise Hypermedia Chimera World Wide Web
Node Document Component View HTML Document
Anchor Selection, offset Anchor, anchor-id, selection, offset Anchor and View "a" tag
Link Marker None or some highlighting Highlighted, if possible Application specific (typically highlighted text or rectangles) underlined text (controlled by stylesheet)
Link External (2-ary) External First Class Object (n-ary) External First Class Object (n-ary) Property of "a" tag (unary pointer)
Node Groups None Composites None None
Link Groups Linkbases OO-Linkbases Hyperweb None
Dynamic Link Behavior Yes: Filter-defined Yes: Can be added through framework Yes: via link traversal extension mechanism Some: via Javascript
Collaboration Support No Yes Limited; access control on top of hyperwebs Some through WebDAV

Summary

Open hypermedia provides users with tools to link their work together
  • focus on the practice and tools employed by the users
Developing open hypermedia systems is difficult because of third party application integration
  • applications may not be suitable for integration
  • different levels of integration in different applications
  • uneven user experience (major problem: skills do not necessarily transfer from one application to the next)
  • if the application changes, integration may have to start from scratch
Concomitant with the emerging Web
  • the Web is the monolithic hypermedia system that succeeded where all others failed
  • today, (nearly) all applications are integrated with the Web
  • but we are still lacking most of the sophisticated linking and collaborative features of OHS
  • on the other hand, we have a wealth of information and resources readily available on the Web
  • although many Web servers are accessible only on intranets