supporting personalization and customization in a collaborative setting
TRANSCRIPT
Supporting personalization and customizationin a collaborative setting$
David Hicks*
Department of Computer Science, Aalborg University Esbjerg, Niels Bohrs Vej 8, 6700 Esbjerg, Denmark
Abstract
Knowledge workers today face an information world with challenging characteristics. Supporting the personalization and
customization process is an important tool in helping them to cope with these challenges. It can be an important tool in helping
them to find, access, and work with the information they require to perform their tasks. This is especially true in a collaborative
setting. This paper describes a customization architecture specifically designed for knowledge workers. It examines the current
status of the architecture and a prototype system based upon it, with an emphasis on the support it provides for collaboration.
Ongoing and future research for the project is also described, to examine how the architecture is being expanded to increase
support for additional modes of collaboration.
# 2003 Elsevier B.V. All rights reserved.
Keywords: Personalization; Collaboration; Customization; Digital library
1. Introduction
Knowledge workers today find themselves in an
information world that is increasingly diverse, dis-
tributed, and fragmented. As the amount of informa-
tion available in digital form continues to increase, so
does the number of systems that are employed to make
that information available. Examples include commer-
cial web sites, private corporate information systems,
and official government databases and archives. The
result is that those working in information intensive
occupations must routinely interact with a range of
different systems in order to find and access the
information they need in performing their tasks. Infor-
mation items managed by remote systems distributed
across networks, as well as those available from local
sources, are becoming an increasingly important part
of the overall information needs of a user.
For example, an individual preparing an environ-
mental regulation compliance report for a company
might need to interact with several systems to gather
the required information. These might include a geo-
graphic information server at one site where the
individual can obtain maps and other geographic data,
a governmental database located at another site that
contains the relevant environmental regulations, and a
number of corporate sites to gather information con-
cerning the company’s recent compliance with envir-
onmental regulations.
The ability of knowledge workers to customize their
information space, to personalize the information
items with which they work, is an important capabil-
ity, one that is valuable in the performance of complex
tasks [2]. The ability to make customizations to an
information space can be especially important in
Computers in Industry 52 (2003) 71–79
$ This paper is an expanded version of a paper that appeared
in [1].* Tel.: þ45-791-27623; fax: þ45-754-53643.
E-mail address: [email protected] (D. Hicks).
0166-3615/$ – see front matter # 2003 Elsevier B.V. All rights reserved.
doi:10.1016/S0166-3615(03)00070-8
collaborative work [1]. For example, the user
described above might be working with a group of
collaborators to prepare the environmental compli-
ance report. It might be convenient for the user to
attach annotations to the environmental regulations or
other artifacts being used in the preparation of the
report, in order to convey observations to others
collaborating on the project. In this way, the user
would be able to share knowledge, at an informal
level, about the artifact or the process of preparing the
report.
The importance of user customization and perso-
nalization capabilities has often been noted in the
literature. Nurnberg et al. [3] point out the need to
allow easy personalization of the information accessed
by web client applications. They also point out that the
new digital processes that will characterize future
information systems such as agents, and user profiling
will likely require even greater personalization and
customization functionality. Marshall [4] notes the
importance of supporting personal annotation func-
tionality in digital libraries. According to Roescheisen
et al. [5], value is added to an information space
through the process of personalization.
Though the ability to customize an information
space is important, the characteristics of the informa-
tion world of today as outlined above make it a
difficult capability to provide. This paper examines
the information customization issue. It does so with a
particular emphasis on how customization can be
supported within collaborative work environments.
In Section 2 an architecture for supporting the custo-
mization process is described. The description con-
tinues in Section 3 with an examination of the support
provided in the architecture for supporting collabora-
tion. A collaborative work scenario is used to help
describe the capabilities of the architecture. The next
section provides a brief look at a prototype imple-
mentation based upon the architecture. Next, a look at
ongoing and future research for the architecture pro-
vides a look at how it is being enhanced to provide
support for additional modes of collaboration.
2. A customization architecture
This section describes the personal adaptable digital
library environment (PADDLE) customization archi-
tecture. The PADDLE architecture was designed to
create a personalization environment for knowledge
workers, especially those with diverse and distributed
information needs. As detailed in the description
below, many of the capabilities of the architecture
are useful in a collaborative setting.
The term personalization sometimes refers to the
customization or modification of a digital library
system, rather than the customization of information
objects. For example, user profiles are often used in
order to allow a digital library system to be configured
or modified to adapt to the needs of a specific user [6].
Adapting systems to user needs is an important cap-
ability. However, in the PADDLE project, the empha-
sis has instead been placed on providing the ability for
a user or group of users to customize or modify the
information objects with which they work. The goal is
to enable users to personalize information in a way
that reflects personal or group preferences, and facil-
itates their ability to perform knowledge related tasks.
As described earlier, the information world of today
is an increasingly distributed and heterogeneous one.
This often requires knowledge workers to interact with
a variety of different systems in order to obtain the
information they require. An important goal of the
PADDLE architecture is to support personalization
for all of the information objects with which knowl-
edge workers interact, regardless of where the infor-
mation is stored or by which system it is managed or
controlled. This goal has significantly shaped the
design of the architecture and lead to two of the
primary characteristics of its approach for supporting
personalization: that it is decentralized and that it is
metadata based.
The approach is decentralized in that the information
(as well as the functionality) required to create and
represent personalizations for users is not centrally
stored within information repositories. Network based
information repositories can have a large if not unlim-
ited user base. A strategy that centralizes personaliza-
tion functionality at the information repository would
be a difficult, if not impossible, one to realize. This is
reflected by the relatively small number of network
based information systems that support individual per-
sonalization capabilities [12]. Few of the developers of
these systems have the resources or incentive to provide
a centralized personalization capability for their users.
The PADDLE architecture instead uses an approach
72 D. Hicks / Computers in Industry 52 (2003) 71–79
that captures personalization information locally (with
respect to the user) as users interact with and perso-
nalize information items and then maintains this infor-
mation in a decentralized way.
The PADDLE approach is metadata based in that
metadata serves as the mechanism for capturing and
maintaining personalizations that are made to infor-
mation items. In its most basic form, metadata is
simply data about data. The most common use of
metadata is as a mechanism for describing information
resources. For example, the metadata descriptions
contained in digital catalogue systems describe infor-
mation resources in a way that enables users to
determine if a particular resource is likely to be
relevant for their task at hand. When metadata is used
this way, the descriptions encoded within it need to be
general enough to be appropriate for the variety of
users that will consult the digital catalogue system [8].
The role of metadata in the PADDLE architecture is
a somewhat unconventional one [7]. Instead of being
used to describe information resources in a general
way, such as the descriptions contained in a digital
catalogue, metadata is used at a much finer level of
granularity. It serves as the basis for creating custo-
mized descriptions (or personalizations) of informa-
tion items. These customized descriptions can be used
to support a range of different forms of personaliza-
tions. For example, a user working with an environ-
mental regulation document might wish to create a
comment to record their observations about its rele-
vance and how useful it was for a specific task.
Alternatively, a user working with a satellite image
object might wish to customize it by highlighting a
certain portion of the image to indicate it is relevant for
a particular task. The PADDLE approach employs
personalized metadata to capture and preserve perso-
nalizations such as these.
An overview of the PADDLE architecture is illu-
strated in Fig. 1. The shaded part of the figure repre-
sents a user’s local computing environment. Client
applications in the figure correspond to the tools that
are used by knowledge workers to access information.
Example client applications include a web browser, a
database front end, a graphical image viewer, or any
tool used for information access. The information
resources shown in Fig. 1 represent the information
objects used by knowledge workers as they perform
their tasks. Examples include documents, images,
database records, or any information object with
which knowledge workers interact. As indicated in
the figure, information resources in the architecture
are not restricted to the local computing environment.
They can be located at any place in a knowledge
worker’s networked information world.
Fig. 1. The PADDLE customization architecture.
D. Hicks / Computers in Industry 52 (2003) 71–79 73
The primary functional component of the architec-
ture is the customization metadata manager (CMDM).
As illustrated in Fig. 1, the CMDM is positioned
between the client applications and the information
they access. It is a server process that performs a range
of functions in response to client application requests.
The most important functionality provided by the
CMDM is the creation and maintenance of metadata
to capture and preserve personalizations made to
information items.
Also shown in Fig. 1 is the customization metadata
store. This facility provides persistence for per-
sonalizations that have been defined for information
items. This enables personalizations to persist across
user sessions with the environment. Personalizations
recorded within the customization metadata store are
automatically applied to information items as they
are accessed by client applications within the per-
sonalization environment. Note, the information
items themselves are not stored in the customization
metadata store, it only contains personalizations.
The actual information items continue to reside in
the information systems where they were originally
located.
An example is helpful to demonstrate the interac-
tions between the various components of the PADDLE
architecture. Consider an image browsing tool being
used by a knowledge worker to access a remotely
located satellite image. If integrated into the PADDLE
environment, the image browser tool could be a client
application in the arrangement shown in Fig. 1. The
system where the satellite image is actually located
would correspond to an information resource in Fig. 1
that is being accessed remotely. In order to access an
image, the browser tool can issue a request for the
CMDM to retrieve the image. The CMDM would
contact the appropriate remote information system
to retrieve the image, and then check its customization
metadata store to determine if any personalizations
have been defined for the image. If no personalizations
have been defined for it, the image would simply be
passed along directly to the browser for display to the
user. If personalizations have been defined for the
image, the CMDM would apply them before passing
the image along to the browser.
Note that the interactions between client applica-
tions that have been integrated into the environment,
such as the image browsing tool, and the components
of the customization architecture, such as the CMDM,
are transparent to the user. For example, customiza-
tions defined for objects like the satellite image are
automatically applied to the objects as they are
accessed, without the requirement for user interaction.
In this way, the object has been effectively customized
or personalized for the user within the PADDLE
environment.
While examining and working with the satellite
image, a user might decide to somehow personalize
it, such as by adding an annotation, or perhaps chan-
ging an existing one. The browser tool could support
such personalizations by requesting the CMDM to
create customization metadata records to capture it.
The records are stored in the customization metadata
store and will be automatically applied the next time
the image is accessed within this particular context.
3. Customization in a collaborativeenvironment
As has been noted in the literature, individualized
customization (or personalization) of an information
space is an important capability, one that can signifi-
cantly enhance the ability of an individual in perform-
ing knowledge related tasks [3,5]. However, many
knowledge workers today spend a significant portion
of their time working in collaboration with others [9].
Just as with the individual work case, customization
can play an important role in helping users who work
in collaborative settings [10]. These observations have
had a significant influence on the PADDLE architec-
ture. Specifically, they motivated the design goal for
the architecture to be capable of supporting multiple
users, working individually, collaboratively, or in
some combination of these modes, possibly needing
to switch between modes.
3.1. Contexts
In the PADDLE architecture, the customization
metadata store is structured into contexts, which are
collections of related customizations. Contexts pro-
vide a mechanism to logical partition and group
customizations in the customization metadata store
according to individual users, user groups, or some
other relevant criterion. When working individually,
74 D. Hicks / Computers in Industry 52 (2003) 71–79
each user in the customization environment can define
customizations within their own private context, pre-
venting the personalizations made by one user from
overlapping or interfering with those made by others.
When necessary, a user or group of users can define
more than one context, in order to organize persona-
lizations according to the multiple tasks being worked
upon, or by some other criterion.
Contexts are a useful organizational tool for custo-
mizations. In addition to serving as an organizational
tool for customizations made by individuals, contexts
provide a mechanism to flexibly define customization
spaces to support the various collaborative activities
that occur within an organization. Contexts can be
particularly helpful in the sharing of informal knowl-
edge within a group as it develops during the course of
performing a collaborative task.
A collaborative work scenario can help to demon-
strate their usefulness. Consider the example from
Section 1, in which a group of users are working to
prepare an environmental regulation compliance
report for a company. A context could be defined to
organize the customizations made by group members
in the process of preparing the report. If the report was
a large one, multiple contexts could be defined to
support the division of the task into subgroups.
Regardless of how the task is structured, customi-
zations made to information objects during the process
of preparing the report could be placed into the
corresponding group context. Users working within
the context would automatically be presented with the
group-defined customized view when accessing
images, reports, or other artifacts.
Example of group customizations include an anno-
tation that is created by one of the group members and
attached to a government document describing an
environmental regulation. The annotation might be
used to communicate specialized knowledge that the
group member has, and allow that expertise to be
shared with the rest of the group. Another user might
decide to customize a group of information items, such
as a collection of satellite images, by adding a meta-
data field named ‘‘relevance’’ to the images. This new
metadata field might be used to rank the usefulness of
each of the images for the preparation of the report.
Finally, another user might wish to use a graphics
editor that has been integrated into the customization
environment to highlight a portion of a map document,
marking an area that is of particular importance for the
preparation of the report. Each of these customiza-
tions, if performed within the group context, would be
available to and automatically seen by each of the
group members when they are working within the
group context. In this way, the group context mechan-
ism helps individual users to share knowledge they
posses or have developed during the collaboration
process.
Many knowledge workers are involved with a
number of different projects. On some projects they
may work individually, on others collaboratively. To
support this common work practice, the PADDLE
architecture allows a user to define more than one
personal context when necessary. This enables them to
organize their customizations in a task oriented way,
perhaps defining a separate context for each of the
projects on which they might be working. Similarly,
users can be members of multiple group contexts, to
support their ability to participate on more than one
collaborative project. As users switch between tasks,
either individual or collaborative ones, they can switch
customization contexts accordingly.
3.2. Layered contexts
Another important consideration for customization
in a collaborative setting is to provide mechanisms that
can support the structure of the organization within
which knowledge workers perform their tasks. In the
PADDLE architecture, this is facilitated by the ability
to hierarchically relate contexts to each other. As
illustrated in Fig. 2, this provides a layering mechan-
ism for the customizations made within the environ-
ment [11]. This enables separately defined but related
changes to an information space to be combined.
When arranged in this way, multiple levels or scopes
of customization can be supported.
For example, an organization may wish to define a
corporate wide context that contains a set of custo-
mizations for information items that should be seen by
all users within the organization. An example of such
customizations might be a set of annotations marking
the sections of a collection of environmental regula-
tions that are most relevant for the company as a
whole. A particular department within the organiza-
tion might have departmental customization needs.
These could be organized into a departmental context.
D. Hicks / Computers in Industry 52 (2003) 71–79 75
An example of such customizations might be an
additional set of annotations that go beyond those
defined at the corporate context level to identify
sections of the environmental regulations relevant to
the specific tasks of a particular department within the
company. Finally, an individual member of the depart-
ment might wish to further personalize information
items through the creation of a private context contain-
ing a set of personal annotations for the environmental
regulations.
These contexts could be related hierarchically so
that when a user accesses an information item, such as
object B in Fig. 2 (which might correspond to an
environmental regulation document), any personaliza-
tions defined for it in the corporate context are first
applied, next any defined within the departmental
context are applied, and finally those from the indi-
vidual context are applied. Note that when object A is
accessed in the scenario depicted in Fig. 2, the corpo-
rate view of the object would be presented to the user
since no departmental or individual level personaliza-
tions have been defined for it.
4. Prototype implementation
A prototype personalization environment has been
constructed based on the PADDLE architecture. The
two main elements of the architecture, the customiza-
tion metadata manager and the customization meta-
data store, have been implemented as individual
software components. The CMDM has been imple-
mented in Java and is based upon the Netscape Fast-
track Web server. A Microsoft Access database
currently provides the functionality of the customiza-
tion metadata store. The software components com-
municate using a range of standard protocols.
Communication between the CMDM and the meta-
data store takes place using Java RMI, to facilitate
distribution. Communication between the CMDM and
external or remote information systems is flexibly
defined using abstract Java classes so that a range
of different protocols can be accommodated. Further
details of the base implementation can be found in [7].
A client application has been implemented and
integrated into the personalization environment that
enables users to access information objects from
remote sources. The client application interacts with
the CMDM to enable users to view information
objects as well as perform customizations on those
objects. Currently, three different information systems
have been integrated into the prototype environment,
each of which contains information from professional
content providers. The first information system con-
tains a collection of over 2000 Microsoft Office
documents, the second one consists of over 100,000
HTML documents, and the third one is the electronic
theses archive of a German University. Each of these
information systems provides metadata descriptions
of the resources they contain.
The prototype environment currently supports the
personalization of these metadata descriptions by
users of the client application. The types of persona-
lizations permitted on the metadata descriptions
Fig. 2. Personalization contexts related hierarchically.
76 D. Hicks / Computers in Industry 52 (2003) 71–79
include: the ability to change the value of a metadata
field, the ability to hide or delete a metadata field, and
the ability to define a new metadata field and specify a
value for it.
Fig. 3 illustrates the personalization component of
the client application that enables the user to perso-
nalize metadata descriptions of information resources.
As an example personalization, a user might decide
to change the value of a field to something more
meaningful for them in order for the corresponding
record to be located easier in the future. In Fig. 3,
the ‘‘Semantic Relationship’’ field of the displayed
resource description has been updated for that pur-
pose. Alternatively, a user might wish to organize a
subset of the records of the database according to some
new dimension. This could be done by creating a new
field for the resource descriptions and assigning appro-
priate values. In Fig. 3, the ‘‘Temporal Relationship’’
field has been added for this purpose. Using this new
field, the information items examined by the user can
be classified according to the time period to which
they pertain.
As illustrated in Fig. 1, the customization environ-
ment was designed to enable the integration of almost
any application used by knowledge workers to access
information objects. Although to date only the initial
client application described above has been integra-
ted into the environment, additional integrations are
planned.
5. Discussion and future research
The initial results and use of the PADDLE custo-
mization environment are encouraging. Based on user
experiences and feedback, the functionality it provides
Fig. 3. Personalization component of client application.
D. Hicks / Computers in Industry 52 (2003) 71–79 77
appears to be effective for supporting the personaliza-
tion and customization of information objects within
the prototype environment.
However, a major goal for ongoing and future
research on the project is to increase the capabilities
of the system for supporting collaboration. Much of
the usage of the system to date has been by individuals
working alone. Though the system does provide basic
facilities for supporting groups of users, especially
those working asynchronously, the support offered
needs to be expanded to accommodate additional
modes of collaboration.
Expansion and refinement of the context mechan-
ism will be an important part of increasing the support
offered for collaboration. As described above, the
prototype system enables contexts to be used in a
range of ways to help people working together. For
example, relating contexts together hierarchically has
been an effective way in which to support organiza-
tional structures, as described earlier (Section 3.2).
However, the use of contexts to directly support
collaborative customization is more limited. Specifi-
cally it is limited primarily to supporting asynchro-
nous collaboration. The primary limitation has been
the granularity of writing for contexts. The current
prototype system supports only a basic access control
facility for contexts. It enables a context to be defined
for and shared by a group, but for only one person to
have update access for the context at any specific time.
When a context has been accessed in update mode by
one user, others can only access the context in read
only mode. While this strategy can accommodate
users working asynchronously, perhaps in a distribu-
ted setting, it is obviously insufficient for those who
need to work together more closely in a synchronous
collaborative setting.
Improving update access for contexts will therefore
be an important area of future research for the project.
Important will be the determination of the appropriate
level of granularity required to support synchronous
collaborative customization. The current level of
allowing only entire contexts to be updated is too
coarse as it can only accommodate asynchronous
operations. Alternative granularities include the infor-
mation object level, as well as the information object
attribute level. A strategy that enables adjustment to
the update access granularity for contexts might also
be appropriate, enabling a group of users to adjust
update levels as they move from one form of colla-
boration (asynchronous) to another (synchronous).
Another important area being examined is expand-
ing support within the architecture for the customiza-
tion of additional types of knowledge objects. As
described earlier, the current prototype has been inte-
grated with three information systems, and supports
the customization of the descriptions provided for the
information items they contain. In practice, knowl-
edge workers routinely interact with a wide variety of
different types of information objects. Establishing a
streamlined way in which to integrate new information
systems and support the customization of the informa-
tion objects they provide will be an important area to
be examined.
An important additional area to be examined
focuses on the customization metadata store (Fig. 1).
As described earlier, it provides persistence for the
customizations defined by individuals or group of
users. This represents a significant potential resource
that might be capable of being used to assist knowl-
edge workers within the environment. The informa-
tion it contains might be able to be mined or processed
somehow to develop user profiles, group profiles, or
inform agents, recommender systems or other auto-
mated services that can perform helpful tasks for
collaborating groups.
6. Conclusion
Support for customization is an important tool in
helping knowledge workers to cope with the challen-
ging information world of today. It can be an impor-
tant way to help them more effectively work with the
distributed and diverse types of information that they
increasing need in performing their tasks. This is
especially true in a collaborative setting, where sup-
port for customization can be especially helpful in
sharing knowledge at an informal level.
The PADDLE architecture was especially designed
to accommodate knowledge workers and the challen-
ging environment in which they must work. Its decen-
tralized and metadata-based approach for supporting
customization enables it to support a variety of types
of distributed information objects. The current proto-
type of the PADDLE architecture has been integrated
with three information systems. Though the initial
78 D. Hicks / Computers in Industry 52 (2003) 71–79
experiences with use of the system are encouraging,
additional capabilities are needed to enable the cus-
tomization support it provides to be expanded to
accommodate additional modes of collaboration. In
particular, supporting additional types of synchronous
collaboration is an important area of ongoing research
for the project.
Acknowledgements
This research was conducted as part of the PAD-
DLE project funded by the program ‘‘Verteilte Ver-
arbeitung und Vermittlung Digitaler Dokumente’’ of
the Deutsche Forshungsgemeinschaft (DFG).
References
[1] W. Shen, J.M. de Souza, Z. Lin, J.P. Barthes (Eds.), in:
Proceedings of the 7th International Conference on Computer
Supported Cooperative Work in Design, Rio de Janeiro,
Brazil, 2002.
[2] N.A. Van House, User needs assessment and evaluation for
the UC Berkeley electronic environmental library project: a
preliminary report, in: Proceedings of ACM Digital Li-
braries’95, Austin, TX, USA, 1995, pp. 71–76.
[3] P.J. Nurnberg, R. Furuta, J.J. Leggett, C.C. Marshall, F.M.
Shipman, Digital libraries: issues and architectures, in:
Proceedings of ACM Digital Libraries ’95, Austin, TX,
USA, 1995, pp. 147–153.
[4] C. Marshall, Annotation: from paper books to the digital
library, in: Proceedings of ACM Digital Libraries’97,
Philadelphia, PA, USA, 1997, pp. 131–140.
[5] M. Roescheisen, T. Winograd, A. Paepcke, Content ratings
and other third-party value-added information—defining an
enabling platform, D-Lib Magazine, August 1995.
[6] A. Smeaton, J. Callan, in: Proceedings of the Joint DELOS-
NSF Workshop on Personalisation and Recommender Sys-
tems in Digital Libraries, Dublin, Ireland, 2001.
[7] K. Tochtermann, D. Hicks, A. Kussmaul, Creating corporate
knowledge with the PADDLE system, in: Proceedings of
WebNet 2000—World Conference on the WWW and Internet,
San Antonio, TX, USA, 2000.
[8] D. Hicks, K. Tochtermann, Towards support for personaliza-
tion in distributed digital library settings, in: Proceedings of the
Joint DELOS/NSF Workshop on Personalisation and Recom-
mender Systems in Digital Libraries, Dublin, Ireland, 2001.
[9] D.L. Hicks, U.K. Wiil, 2001, Towards collaborative design in
an open hypermedia environment, in: Proceedings of the
Sixth International Conference on Computer Supported
Cooperative Work in Design, London, Ontario, Canada,
pp. 181–189.
[10] A. Frank, B. Mitschang, On sharing of objects in concurrent
design, in: Proceedings of the Sixth International Conference
on Computer Supported Cooperative Work in Design,
London, Ontario, Canada, 2001, pp. 71–76.
[11] V. Prevelakis, Versioning issues for hypertext systems, in: D.
Tsichritzis (Ed.), Object Management, Centre Universitaire
d’Informatique, Universite de Geneva, Switzerland, 1990,
pp. 89–105.
[12] K. Tochtermann, D. Hicks, A. Kussmaul, Support for
customization and personalization on the web, in: Proceed-
ings of WebNet 1999—World Conference on the WWW and
Internet, Hawaii, USA, 1999.
David Hicks is an Associate Professor
in the Department of Computer Science
at Aalborg University’s Esbjerg campus
in Denmark. He holds a PhD in
computer science from Texas A&M
University. He worked for 2 years as a
visiting researcher at the GMD-IPSI
Research Institute in Darmstadt, Ger-
many focusing mainly on the investiga-
tion of hypermedia infrastructure issues.
He was then employed with Knowledge
Systems in the US as a senior research scientist. Later he joined the
FAW Research Institute in Ulm, Germany as a research associate
focusing primarily on the investigation of digital libraries, before
joining the faculty at Aalborg University Esbjerg. His current
research interests include hypertext/hypermedia, digital libraries,
computer supported cooperative work, and software engineering.
D. Hicks / Computers in Industry 52 (2003) 71–79 79