No earlier issue with same topic
Issue
Previous article
Article
SIGCHI Bulletin
Vol.30 No.2, April 1998
Next article
Article
No later issue with same topic
Issue

Tailorable Groupware

Issues, Methods, and Architectures
Report of a Workshop held at GROUP'97, Phoenix, AZ, 16th November 1997

Anders Mørch, Oliver Stiemerlieng, Volker Wulf

What is Tailoring?

Tailoring is the activity of modifying a computer application within the context of its use. Tailoring is therefore distinguished from both use and development, but it borrows terminology from each: tailoring is further development of an application during use to adapt it to needs that were not accounted for in the original design. Tailorability is widely assumed to be a key requirement for the design of groupware systems, due to rapidly changing work situations (Figure 1).

Figure 1: Tailoring is changing an application to better fit it to the work situation and to resolve design mismatches in the original design


What Do People Do When They Tailor?

Tailoring-functions allow one to modify the way in which ordinary functions are executed by changing the different aspects of a system. We identified different levels of tailoring activities, corresponding to the different aspects of a computer application:

Each of the levels puts different requirements of the functionality of the tailoring subsystem as well as different demands of the end-users. When changing parameters/switches, the tailoring subsystem has to support the users to set a flag at the selected alternative and help them to select a coherent configuration among a set of alternatives. When changing the composition, the application needs an architecture that ensures that new components will be seamlessly integrated into the application. Finally, when extending the application, the system has to provide the users with a repertoire of relevant mechanism as well as an editor to extend existing programmed functionality.

The majority of current systems supporting tailorability deal with tailoring functions by addressing the user interface of the system. This covers only the first of the above four levels.

Approaches to tailoring at the level beneath the (task-oriented) user interface often lack a high-level interface, hence preventing ordinary users from participating. We initiated the call for papers by arguing that it is important to allow ordinary users to tailor a system's deep-level functionality as well, because the demands for changing a system are frequent, and it is costly to develop new systems from scratch. The following issues were put on the original workshop agenda:

Papers Presented at the Workshop

We received 10 papers addressing the above issues, and 9 of the papers were presented at the workshop. Together, the papers contributed both human, social, and technological perspectives on the issues, and we (the organizers) grouped the papers into four categories: (1) HCI perspectives, (2) Collaboration perspectives, (3) Composition perspectives, and (4) Distribution perspectives. Each of the four perspectives, identified by its proponents, are briefly summarized below (the full papers can be downloaded from: http://www.ifi.uib.no/staff/anders/research/group97.

HCI Perspectives

Austin Henderson is one of the pioneers in designing tailorable systems. His starting point was HCI (Human-Computer Interaction), in particular building tailoring support into personal computer applications to make them better suited for new tasks. Austin gave an overview of tailoring by giving examples of three research systems he has been involved in building and applying (Trillium, Rooms, and Buttons).

Anders Mørch presented some of the results of his recent Ph.D. thesis on ways to conceptualize and bridge the gap between user interface and program code -- a prerequisite for achieving radical tailorability, he claimed. Anders treated tailoring as "application evolution," and he has built tools to support this process. The tools have been tested with end-users in a video-recorded usability experiment.

Volker Wulf identified the difference between ordinary and tailoring functions, and he suggested that tailoring functions should be tailorable. He further introduced the notion of "scopes of validity," a concept that has not been properly addressed in the tailoring literature, because it is orthogonal to the levels of tailoring introduced above. Moreover, he discussed problems specific to the tailoring of multi-user applications.

Collaboration Perspectives

Katharina Just-Hahn gave a summary of experiences with tailoring workflow systems, and she identified a tension between management and end users regarding what functionality should be tailorable. As a result of this Katharina identified a need for explicit support of conflict negotiation and to support the evolutionary development of workflow systems.

Babak A. Farshchian and Monica Divitini, argued that individual tailoring was not enough and that support for tailoring the "collaboration objects" of groupware applications are important as well. These objects, peculiar to groupware, need to be informed by the social processes of work and can best be tailored, they argued, by users in collaboration.

Composition Perspectives

Tim Mansfield, presented some of the results of his Ph.D. thesis, which addressed issues of tailorability in a visualization system. The users can tailor the system by customizing its data presentations. The users can also tailor at a deeper level by means of changing the binding between various kinds of objects. Although tailoring support was judged to be useful, Tim found, based on empirical evaluation, that many users opted not to use the advanced tailoring functionality due to psychological barriers.

Oliver Stiemerling discussed the use of hierarchical component architectures as basis for deeply tailorable applications. A hierarchically layered application allows different tailors to view and manipulate the software at different levels of abstraction and complexity. High level components could conceptually be closer to the application domain (e.g. a bookkeeping component), while lower level components could be close to the system (e.g. a TCP/IP component). Oliver has applied this approach to tailoring problems in the POLITeam project.

Gunnar Teege presented a novel approach for composing objects without an integration framework, what he called "feature combination." A feature is a property of an object defined at a level above the attribute/method duality of conventional (OOP) objects. A feature was compared to a color in a color spectrum, and feature combination is anticipated to have the same effect on tailoring as combining different colors from a color spectrum has on creating new colors.

Distribution Perspectives

Henrique J.L. Domingos presented an architecture for building distributed groupware applications from Java Beans components. Henrique focused on the technical aspects of the architecture, in particular on the implementation of "session managers" and other coordination mechanisms. He argued that a goal is to make the architecture usable by domain experts in order for them to be able to build distributed, tailorable groupware systems for a variety of application domains.

Discussion of the Papers

After each presentation there was a time slot dedicated to discussion of the paper (the time was equally divided among presentation and discussion), and after the last paper discussion there was a comprehensive discussion around the common themes that arose from the presentations. The themes were grouped by the organizers into Issues, Methods, and Architectures.

Issues

One of the recurrent issues that was brought up was how to integrate tailoring functionality with (ordinary) application functionality. The notion of "seamless integration" was discussed in this context. Seamless integration with the usage-aspects of an application (e.g. user interface), was compared with seamless integration with the developmental-aspects of an application (e.g. programming environments).

Another recurrent issue was how to regard tailoring as a collaborative activity, dubbed the "sociology of tailoring." This was found to be relevant when, for instance, there is need to tailor functionality that enables/hinders coordination and communication among users of a groupware application.

Along a similar line was the notion of the "psychology of tailoring," which identified the concerns of individual users when confronted with the task of tailoring. Issues brought up in this context were: peer pressure, cognitive barriers, and skill levels.

Methods

Approaches to address the issues were identified. First, a consistent conceptual framework (a terminology) is needed. This should take as starting point already existing classification schemes. A way to approach this, several participants argued, is by looking at taxonomies in already established domains (architecture, cooking, evolutionary biology were among the ones identified to be relevant).

Second, an application needs to be open for inspection in order to support tailorability. Two approaches were discussed: (1) malleability and (2) continuous visibility. A tailorable application needs to be malleable or pliant (as opposed to rigid and closed) in order for tailoring to make sense in the first place. Different levels of tailoring (see below) require different ways to signal malleability. One such approach is "extension points," which are ways to "signal" where new extensions can be added to a computational mechanism.

The other approach was to make the application "continuously visible," that is making it accountable for its own (past and future) behavior. By this we mean visibility in design (e.g., design rationale) and visibility in use (explorative execution). Visibility in use should also include means for recording the breakdowns and successes of using the application.

Architectures

Architectures to support tailoring of groupware systems were discussed. The discussion ranged from what kinds of programming languages to use (the first tailorable systems were written in LISP; today Java is the preferred language for many developers). Several of the participants were interested in architectures that would enable tailoring by integration: combining existing objects in new ways. Today, technologies such as Java Beans, make this kind of tailoring technically possible.

Another kind of architecture that were discussed was an "architecture of levels," that is what should be the different complexity levels of an application and how can the levels be embedded in tailorable groupware. We agreed that at least three different levels of tailoring were needed (see above). Furthermore, based on empirical results by two of the participants we agreed that deep-level tailoring is often a barrier to end users. It was suggested that new ways to parameterize functionality for tailorability were needed (e.g., high-level switches).

We further discussed how to go about bridging between technical and social aspects of groupware systems. Two approaches were proposed: social/technical frameworks, and integration mechanisms for joint development. The former is a conceptual apparatus that ensures that technical and social concurs are taken into account when building tailorable groupware, and the latter is mechanisms that make sure that when changes are made to one aspect (e.g., an altered function), it is automatically reported and taken into account in other respects as well (e.g., work pattern changes, users groups are informed, etc).

Acknowledgments

The workshop organizers thank all the workshop participants for their contribution to the success of the workshop.

About the Authors

Anders Mørch is an assistant professor in the Department of Information Science at the University of Bergen where he teaches and conducts research in the areas of participatory design, human-computer interaction, and end-user computing. Mørch has recently completed a Ph.D in Informatics at the University of Oslo (1997), and has an M.S degree in Computer Science from the University of Colorado (1988). He has spent three years working in industry as a Member of Technical Staff at NYNEX Science & Technology Center in White Plains, New York (1989-1992).

Oliver Stiemerling works as a researcher in the Department of Computer Science at the University of Bonn. From 1992 to 1994 he studied computer science at the University of Bonn. From 1994 to 1995 he participated in the ERASMUS program and studied computer science and business at the University of Warwick in Great Britain. In 1996 he received his diploma degree from the University of Bonn. Since 1997 he works in the POLITeam Project at the University of Bonn. His main research interest lie in the area of CSCW, component architectures, design for change and access control.

Volker Wulf works as a researcher in the Department of Computer Science at the University of Bonn and teaches as a visiting professor at the Institute of Computers and Society at the University of Freiburg. In 1989, he received his diploma in computer science and in 1990, he got his diploma in business administration at the Aachen Institute of Technology. 1996 he got his Ph.D. in Computer Science from the University of Dortmund. Since 1991, he is working on different research projects in the field of CSCW. His research interests lie primarily in the area of privacy, human-computer interaction, groupware, and the implications of organizational theory on groupware design.

Authors' Addresses

Anders Mørch
Department of Information Science
University of Bergen
5020 Bergen, Norway

Email: anders@ifi.uib.no
Tel: + 47 5558 4118

Oliver Stiemerling
Institute for Computer Science III
University of Bonn
53117 Bonn, Germany

Email: os@cs.uni-bonn.de
Tel: +49-228-550-276

Volker Wulf
Institute for Computer Science III
University of Bonn
53117 Bonn, Germany

Email: volker@cs.uni-bonn.de
Tel: +49-228-550-276

No earlier issue with same topic
Issue
Previous article
Article
SIGCHI Bulletin
Vol.30 No.2, April 1998
Next article
Article
No later issue with same topic
Issue