Collaboration Support in Open Hypermedia ... - FernUni Hagen

5 downloads 1048 Views 20KB Size Report
In this position paper, the problem of introducing collaboration support into ... functionality into the link or structure server entity, collaboration support for all the.
Collaboration Support in Open Hypermedia Environments Jörg M. Haake & Weigang Wang GMD - German National Research Center for Information Technology Integrated Publication and Information Systems Institute (IPSI) Dolivostr. 15, D-65293 Darmstadt, Germany e-mail: [email protected] URL: http://www.darmstadt.gmd.de/~haake

Abstract In this position paper, the problem of introducing collaboration support into open hypermedia environments is analyzed. Based on the characteristics of cooperative environments and open hypermedia systems, a combination of both functionalities is proposed. By integrating session management functionality into the link or structure server entity, collaboration support for all the clients of the link or structure server can be provided. In practice, this approach requires a tight integration of session management and link services, an extension of applications with call-backs for handling cooperation, and the provision of active notification services by hypermedia stores.

Introduction Bush’s original idea of hypertext included a strong emphasis of collaboration between humans [1]. Open hypermedia systems are now extending the scope of hypermedia systems from supporting closed, proprietory hypermedia workspaces to include now also access to heterogeneous, open hypermedia workspaces. Workspaces, that are manipulated by different hypermedia applications. However, still the notion of different users working independently on these workspaces prevails. It is now time to open hypermedia applications not only with respect to different tools but also to open them up towards supporting collaboration between humans. Collaboration environments (also called groupware, cooperative systems) support groups of people who work on a common task by providing an interface to a shared environment (often called a shared workspace). In collaborative open hypermedia systems this boils down to supporting groups of people who are working on a shared hypermedia workspace using potentially heterogeneous tools/applications. The problem is now: How to support collaboration between users in such an environment? The remainder of this paper is organized as follows: Next, the characteristics of cooperation environments and of open hypermedia systems are analyzed. Then, an approach for integrating cooperation functionality and open hypermedia services is proposed. Finally, some conclusions are presented.

Problem Analysis Characteristics of cooperative environments

Collaboration support in a cooperative environment usually requires: 1. Management of shared data objects Support for sharing data between several (possibly concurrent) users is needed. Here, means for access as well as means for maintaining consistent states of shared data must be provided. 2. Management of shared user interfaces Support for maintaining shared display states are sometimes required (e.g., to provide WYSIWIS). Here, coupling of user interfaces must be supported as well as means for propagating updates caused by data changed by a remote collaborator needs to be provided. 3. Support for group awareness There must be some group awareness mechanism that allows the collaborators to recognize each other’s presence and activities. 4. Support for coordination To enable productive group work, some coordination between the group members must be facilitated. This includes means for informal (e.g. shared plans) or formal (e.g. workflow) coordination. 5. Support for communication If co-workers work on a shared workspace some communication among group members is required. This communication can take place outside the shared environment (e.g. via e-mail or telephone) or inside the shared environment (e.g. either by using the shared workspace as a communication medium or by using other integrated communication channels such as audio/video conferencing). Cooperative systems make use of basic session management functionality (either implicitly or explicitly). A session is usually defined by: 1. a group of users (or the clients representing them), 2. who work on a common workspace, 3. using a specific cooperative mode. Examples of aspects influenced by a cooperative mode are the coupling of certain parameters of user interfaces (e.g. scrollbar positions), floor control policy (e.g. concurrent access vs locking), concurrency control strategy, and group awareness (e.g. showing the activities of others’ by telepointers). Session management now includes operations for: 1. creating and destroying sessions, 2. joining or leaving sessions, 3. negotiating cooperative modes or transitions between them. Usually, this functionality is implemented on top of some basic functionality for data sharing, concurrency control and update or notification management.

Characteristics of open hypermedia systems Open hypermedia systems separate applications from hypermedia stores by introducing generic/standard link services as the connecting bridge. By distinguishing separate classes of hypermedia structures, different hypermdia structure services can be envisioned [4]. A hypermedia link (or structure) server: 1. provides a set of standard hypermedia functions such as naming and locating hypermedia objects, following links, querying, and creating or changing objects. 2. based on a number of participating hypermedia stores each store provides hypermedia structures to the link server in a standard format. Thus, one hypermedia application can access and navigate hypermedia structures created by any other hypermedia application accessing the same store. Note, the very idea of OHS seems to imply some notion of isolation between individual users (at least with respect to tool usage).

The problem Providing collaboration support in or for OHS means to make OHS group-aware. This can be done in the following way: 1. introduce sessions, 2. which work on shared hypermedia structures, 3. and add group awareness to hypermedia applications. The question is now: How to do this in practice?

The Approach In this section, first a matrix of cooperation modes and structure servers is used to analyse the integration problem. Then, three different integration approaches are discussed. Finally, the problem of implementing the integration is explored.

Combination matrix Basically, the problem is how a potentially unlimited set of link or structure services (represented by rows) can be combined with a somehow also unlimted set of possible cooperation modes (represented by columns). The resulting situation can be visualized by a matrix:

asynchronous Session Manager

loosely coupled Session tightly coupled Session Manager Manager

structure class 1 structure class 2 ... Each cell in this matrix represents a specific cooperation situation that needs to be supported. Note, transitions between such situations must be supported. Such transitions are caused by the nature of the task or by changing needs for certain structure in the current phase of the collaboration or the task.

Possible integration styles There are three possible approaches to this integration: 1. Horizontal integration: One session manager offers all cooperation modes for a certain class of hypermedia structure. 2. Vertical integration: One session manager offers one cooperation mode for all classes of hypermedia structure. 3. Cell-based integration: One session manager per pair of structure class and cooperation mode. The decision for any of these alternatives is dependent on the trade-off between the likeliness of change or addition of new structure classes (i.e. structure servers) versus the likelihood of change or addition of new cooperation modes. Here, the horizontal approach seems to have advantages: Since OHS aim on openess with respect to structure and cooperation modes in the literature remain relatively few, it can be expected that in practice more rows are added to the matrix than new columns. Thus, fewer new software components need to be implemented in the horizontal approach. Furthermore, transitions between cooperation modes occur frequently within a longer cooperative work process. These transitions are easier to implement within one session manager. This is another advantage of the horizontal approach.

Implementation aspects How to implement such a horizontal integration in an OHS? Figure 1 shows a proposal of architecture for an extended OHS:

In this new architecture - which is an extension of the usual OHS architecture - relatively few changes are required: First, structure managers still serve an API for accessing events, schema of hypermedia structure and operations for accessing and manipulating such hypermedia structures. They need now to provide new operations for managing the collaboration, such as creating a new session, inviting users, opening additional communication channels. Second, the session manager functionality of the new enhanced structure servers now intercept event requests from applications (i.e. user actions) and may change the cooperative state/mode accordingly, send notifications to other applications, and finally dispatch structure server operations. In addition, also certain events from other (enhanced) structure manager instances or underlying hypermedia stores (e.g. by monitoring changes or subscribing to event notifications of stores) are captured. On detecting such an event the structure server might dispatch certain call_backs or application events to its applications. This will force a display update reflecting the new cooperative situation. Third, applications now need to offer standard call_backs for displaying group awareness and reflecting remote changes of the shared workspace. Finally, hypermedia stores need to offer notification services to structure managers, or, alternatively, structure managers might establish a separate communication channel. However, the latter is difficult and might lead to inconsistencies between structure managers and hypermdia stores.

Conclusions

In this position paper, an approach for integrating collaboration support into OHS was introduced. In this approach, structure managers of OHS are tightly integrated with session managers known from cooperative systems. This tight integration allows the enhanced structure managers to exploit their structure knowledge to provide better adapted group awareness matching the requirements of their kind of workspace. Participating applications need to provide additional call_backs for supporting collaboration (e.g. manage collaboration and display remote changes). Hypermedia stores need to become active entities (e.g. by offering event subscription and notification schemes). Collaborative OHS are one step closer to the original vision of Bush, Engelbart and Nelson [1,2,3], namely to support cooperative use of information between humans.

References [1] Bush, V. (1945). As we may think. Atlantic Monthly, 7(1945):101-108. [2] Engelbart, D. C. (1963). A Conceptual Framework for the Augmentation of Man’s Intellect. In Vistas in Information Handling. P. Howerton (Ed.), Spartan Books, pp. 1-29. [3] Nelson, T. H. (1981). Literary Machines. Ed. 87.1, Mindful Press, 3020 Bridgeway #295, Sasalito, CA 94965. [4] Wiil, U. and Nürnberg, P. (1998). ????? . Position paper to the 4th OHS workshop.