<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Role of Roles in Computer-mediated Interaction</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Stephan Lukosch Delft University of Technology Faculty of Technology</institution>
          ,
          <addr-line>Policy, and Management PO box 5015, 2600 GA Delft</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Till Schu ̈mmer FernUniversit ̈at in Hagen Department for Mathematics and Computer Science Universit ̈atsstr.</institution>
          <addr-line>1, 58084 Hagen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Roles coin any social interaction. In this paper, we present basic practices for designing roles in collaboration settings. These patterns should help the designer of collaborative systems to reflect roles in the system design and thereby steer group interaction. Proceedings of the 13th European Conference on Pattern Languages of Programs (EuroPLoP 2008), edited by Till Schu¨mmer and Allan Kelly, ISSN 1613-0073 &lt;issn-1613-0073.html&gt;. Copyright c 2009 for the individual papers by the papers' authors. Copying permitted for private and academic purposes. Re-publication of material from this volume requires permission by the copyright owners.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The concept of a role is omnipresent in any interaction. This paper, e.g., has
been written by two humans who took the role of the author. After one author
created an initial draft of one section, the other author took the role of a devil’s
advocate. He questioned the theses of the first author and thereby helped him to
clarify his point. When we submitted the paper, it was received by two people
playing the role of a conference and a programme chair of EuroPLoP 2008. They
checked the formal content of the paper and passed it on to a group of 10 people
who were in the role of a programme committee. These people were expected to
provide an assessment of the paper and judge whether or not it could be raised
to a sufficient quality during a shepherding process. The programme committee
members passed their feedback back to the programme chair who released this
paper for shepherding. At this point another group came into play: A pool of
shepherds scanned this paper and decided whether or not they wanted to play the
role of a shepherd. The shepherd’s responsibility was to point out strong and weak
points of the paper and help the authors to improve the weak points.</p>
      <p>We could continue this story for one or two additional pages and thereby
outline the interaction process that supported the evolution of this paper. From the
example, we can already identify the core of the role concept: A role combines
prototypical behavior, rights, capabilities, and obligations. Compared to this, tasks are
expected activities. They are related to roles in workflows: From a rather abstract
viewpoint which is sufficient for this paper, a workflow describes a sequence (or
network) of tasks and relates them with roles. When enacting a workflow, the roles
will be filled by concrete users who are then obliged to perform the task in a given
time frame.</p>
      <p>At the beginning of the process of our example, the author is expected to behave
in a way that he writes the text of the paper, he has the right of expressing his
thoughts. This however implies cognitive capabilities (e.g., the ability of formulating
sentences or the capability of synthesizing new lines of thought) as well as technical
capabilities like the access to a word processor or pen and paper. Finally, the author
has the obligation of delivering the text in time with a sufficient quality.</p>
      <p>
        The above example shows that a role owner has a different perception of the
role as persons that are expecting specific activities from the role owner. From a
philosophical perspective,
        <xref ref-type="bibr" rid="ref4">Mead (1934)</xref>
        explored the two sides of the self, the ’me’
as the social self and the ’I’ as a response to the ’me’. In addition to Mead’s theory,
Cronk (2005) points out:
      </p>
      <p>There is a dialectical relationship between society and the individual;
and this dialectic is enacted on the intra-psychic level in terms of the
polarity of the ’me’ and the ’I’. The ’me’ is the internalization of roles
which derive from such symbolic processes as linguistic interaction,
playing, and gaming; whereas the ’I’ is a ’creative response’ to the symbolized
structures of the ’me’ (i.e., to the generalized other). (Cronk 2005)
This makes clear that there is always a dialogue between the role that contributes
to the ”me” and the ”I” that constitutes the specific moment and the actions.
Depending on the context of the self, there can be more or less need for creativity.
If the human participates in a strict workflow or production workflow (Borghoff and
Schlichter 2000) as we know it from workflow management systems, creativity is not
desired in the participant’s response. System design for such interaction should thus
codify roles and restrict the capabilities of the user to actions that contribute to the
expected behavior.</p>
      <p>
        Looking at real collaboration scenarios, however, often shows a different style of
interaction.
        <xref ref-type="bibr" rid="ref1">Bardram (1997)</xref>
        , e.g., investigated collaboration workflows in hospital
settings and showed that plans are often created in-situ. Patients and doctors
adapt their behavior so that it fits with the current situation. Environments for
ill-structured tasks that are difficult to describe independently of current actions
and that require agile decisions about future actions, often rely on social roles and
at the same time provide all users with capabilities that extend the capabilities
of their specific role. This allows participants to diverge from their pre-defined
roles as needed. In the extreme case, technology support for roles is not required
and coordination of expectations is supported by awareness mechanisms (e.g., a
Remote Selection→P4CMI that can be used to communicate on which artifacts a
user is currently working).
      </p>
      <p>In this paper, we present patterns for an intermediate understanding of the role
concept: Designs in which roles are explicitly modeled while still providing space
for divergence from the role (at least in some patterns).</p>
      <p>
        The patterns in this paper extend the 72 patterns for computer-mediated
interaction that we present in
        <xref ref-type="bibr" rid="ref10">(Schu¨mmer and Lukosch 2007)</xref>
        . Figure 1 shows the
relations between the patterns in this paper and the patterns for computer-mediated
interaction. The patterns for computer-mediated interaction follow the assumption
that roles are part of the social agreement between the users of a collaborative
system. In this paper, we frequently reference these patterns. Such a reference will be
indicated by →P4CMI next to a pattern name. Thumbnails of the referenced patterns
can be found at the end of this paper. The four patterns in this paper are:
– Role: Explicitly model the responsibilities and capabilities of a role.
– Role Indicator: Decorate the Virtual Me of a user with a symbol that
represents the user’s current role.
– Ad-hoc Workflow: Communicate dependencies between tasks and roles.
– Spectator: Allow users to observe other users’ actions.
      </p>
      <p>While the first two patterns ease the understanding of the individual’s
capabilities and responsibilities, the third pattern supports the group’s reflection on the
interaction process. The last pattern finally helps to gain an outsider’s view of the
group process and is an example of a more concrete Role.</p>
    </sec>
    <sec id="sec-2">
      <title>The Patterns</title>
      <p>Photo: Tyler,
http://www.flickr.com/photos/trp0/406897468/
Model the expected interaction in the collaborative application.
You designed a system for computer-mediated interaction that
shall support a specific group process.</p>
      <sec id="sec-2-1">
        <title>Users have problems to structure their interaction in the group. Especially, some users act in a way that is not anticipated by other users. This can hinder the interaction to reach the intended goal.</title>
        <p>John and Paul interact in a software project. They would like to
do an XP session using an application sharing tool, but it is pure
chaos. Both start typing text, both want to program as the
inspiration enters their minds. They are in trance and totally ignore the
presence of each other, as there is no group process which
structures the interaction. As a result, no real collaboration takes place
and numerous conflicts evolve.</p>
        <sec id="sec-2-1-1">
          <title>Symptoms</title>
          <p>You should consider to apply the pattern when . . .</p>
          <p>– collaboration needs supervision and guidance.
– there are administrative tasks to do that require deeper
understanding of the consequences.
– some users are unaware of the group process and do not
behave according to the other users’ expectations.
– users see features that they should not or cannot use.
– users repeatedly assign a comparable combination of access
rights to different users.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Therefore: Define roles that describe what the owner of the role is supposed to do. Also specify in a role which tools may be used in order to reach the role’s intended</title>
        <p>goal. Link the roles to users when they engage in the
group process.</p>
        <p>Represent Roles in your collaborative system. Each Role has a
description and is associated to activities that can be performed
by the person having this role.</p>
        <p>Users can perform all activities that are available in their roles
and necessary to complete the assigned task. Before an activity
triggered by the user is executed, the system checks if the user
owns a role that is associated to the activity. If not, no action will
be performed.</p>
        <p>There are two special roles: the omnipotent role allows a user
to perform any action (an example is the role of an administrator)
and the empty role is not related to any actions (this is equal to
no role).</p>
        <p>Roles can contain other roles. By that, the set of possible roles
is combined. Users can play more than one role at the same time
which means that they can execute any action allowed in any of
their roles.</p>
        <p>Roles can be assigned to and withdrawn for a user. In order
to influence the user’s actions, the user has to see what role he
plays. This can be done by means of a Role Indicator→2.2 or by
sending a message to the users whenever they should switch their
role.</p>
        <p>It is most common to assign a default user role to an account
at the moment the account is created. A system administrator
can assign roles with advanced rights to user accounts afterwards
(Quick Registration→P4CMI). The system administrator role is
assigned to a user account at the moment of system installation.
The explicit notion of a role helps the users to understand their
current situation in the group process. Since the role carries a
description that explains what is expected from the person playing
the role, it can help the users to fit their actions with the role.</p>
        <p>The connection between role and action explicitly defines how a
user can reach the role’s goal. Assigning a user to the role ensures
that all actions connected to the role can be executed by the user
performing the role.</p>
        <p>Assigning the allowed activities for a role instead of specific
users reduces the amount of time spent on tool administration.
– What is the default or minimal role a user must have to act
in the system?
– What role hierarchy should be implemented?
– Who is the authority to manage the association of roles to</p>
        <sec id="sec-2-2-1">
          <title>Check</title>
          <p>When applying this pattern, you should answer these questions:
– What are the events that give rise to a modification of the</p>
          <p>role?
There are many reasons why users may fail to fill their role. They
may be absent because of illness or they may lack competencies
required to act in this role. For such cases, the system has to
provide means for reassigning the role to another user.</p>
          <p>Users may also abuse the power that is given by the role. Again,
the system needs to provide mechanisms to revoke the role from
such users.</p>
          <p>Especially in creative processes, roles cannot be pre-defined.</p>
          <p>The definition of roles may be impossible at all, though
Roles might emerge from interaction implicitly. The Ad-hoc
Workflow→2.3 pattern discusses the role of roles in such contexts.</p>
          <p>
            Scripted Exercises in CURE
            <xref ref-type="bibr" rid="ref3">(Haake 2007)</xref>
            : In the context of
computer-supported collaborative learning, scripts have been
used to guide students through the exercises. The students
were asked to first brainstorm concepts learned in the course,
cluster the material, and finally write an essay on the topic.
          </p>
          <p>The essay writing process was supported by two roles: The
author was asked to create a draft of an essay. Then, the other
group members took the role of a reviewer and annotated the
initial essay. After receiving the reviews, the author could
modify the text or pass his role on to another group member
and become a reviewer instead.</p>
          <p>
            Blackboard: In Blackboard
            <xref ref-type="bibr" rid="ref2">(Blackboard Inc. 2009)</xref>
            , each user
role has a specific set of permission levels:
– Course Builder - has access to all features except
Assess
          </p>
          <p>ments and Course Tools.
– Grader - has access to the grade book and is able to create</p>
          <p>and modify assessments.
– Instructor - has access to all course functions. This
includes adding and modifying content, controlling user
and group functions, creating assessments and
entering grades, and controlling discussion boards and virtual
classroom functions.
– Student - has access to all course content but cannot
modify content. This is the only role able to take assessments
and have grades recorded in the grade book.
– Teacher Assistant - shares the same level of access as the
instructor. Although the rights are the same, the name
of the role conjures different expectations regarding the
teacher’s behavior.
The admin assigns a new role to the selected user account.</p>
          <p>
            Many other CSCL systems work the same way, e.g. Moodle
            <xref ref-type="bibr" rid="ref5">(Moodle 2009)</xref>
            , ILIAS (ILIAS 2009), and Synergeia
            <xref ref-type="bibr" rid="ref11">(Stahl
2002)</xref>
            .
          </p>
          <p>World of Warcraft (http://www.wow-europe.com/) is a
distributed multi-user game in which teams can play together
against other teams. To initiate a team, one user invites other
users to the team. The inviting user will have the role of a
team leader and has special rights such as inviting new players
to the team or deciding on how the goods are shared among
the team members.</p>
          <p>SourceForge.net is an open source software development web
site in which project members can have different Roles, e.g.</p>
          <p>administrator, developer, translator, etc.</p>
          <p>Related Patterns Quality Inspection→P4CMI , Mentor→P4CMI, Shared
Browsing→P4CMI are examples of patterns that rely on
roles. These patterns focus on the group process and show
how specific user roles can be supported.</p>
          <p>Floor Control→P4CMI describes how roles can be passed on to</p>
          <p>other users.</p>
          <p>Role Indicator→2.2 shows which role a user currently has.</p>
          <p>
            Role-Based Access Control
            <xref ref-type="bibr" rid="ref9">(Schumacher et al. 2005)</xref>
            discusses the issue of access rights in relation to roles.
2.2
          </p>
          <p>Role Indicator</p>
          <p>Photo: Ron Bird, FreeDigitalPhotos.net
Let each member of a group know which Roles the other members
have.</p>
          <p>You are developing a computer-mediated environment, where users
can have different Roles with different rights.</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Users are not aware of capabilities as well as responsibilities of other users.</title>
        <p>Consider a globally distributed development project in which a
large team co-constructs a game engine together with some test
users. Molo, one of the African test users, has problems installing
the new version of the game engine. Unfortunately, the water
supply simulation game which he uses for testing does no longer work
on top of the newest game engine. He would have liked to talk
to the test officer in the project, but he does not know who this
person currently is.</p>
        <sec id="sec-2-3-1">
          <title>Symptoms</title>
          <p>You should consider to apply the pattern when . . .</p>
          <p>– Users treat other users as if they have a different role.</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Therefore: Visualize the Role→2.1 of the interacting users</title>
        <p>whenever a user is shown in the user interface.
Integrate an element in the User List→P4CMI or the Interactive
User Info→P4CMI so that the current role of a user is revealed.
Make sure that the role representation is unique and can be
understood by all interacting users. When users can change their role,</p>
        <sec id="sec-2-4-1">
          <title>Danger Spots Known Uses</title>
          <p>update the role information whenever a user switches to another
role.</p>
          <p>As each user’s role is visualized, users can easily lookup their own
role in the interaction process and also identify the role of their
peer users. This allows users to interact with each other according
their roles.</p>
          <p>– What are the different Roles?
– Where are you going to visualize the Roles?
– How are you going to visualize the different Roles? Are you
going to use different icons for each Role or will you use
textual labels?
Users might not want that their role is revealed. In such cases, you
should allow users to turn their role indicator off.</p>
          <p>Users might have different roles at the same time. This makes
it difficult to decide which role is shown to the other users.
World of Warcraft (http://www.wow-europe.com/) requires
that each team has one leader. The leader has special rights,
e.g. a leader can decide how rewards are distributed in the
team or a leader may invite new team members. Leaders can
be identified in the User List→P4CMI as their representation
is associated with a small crown (cf. Figure 2).
Vitero http://www.vitero.de is a conferencing system which
supports up to two moderators. The moderators can pass
a microphone icon to user which want to talk. The
microphone is shown to all other users as well so that they stay
aware of who has currently the speaker role.</p>
          <p>
            XPairtise
            <xref ref-type="bibr" rid="ref10">(Lukosch and Schu¨mmer 2007)</xref>
            is a tool for distributed
pair programming. For supporting and teaching distributed
pair programming, XPairtise distinguishes three different
roles, i.e. navigator, driver, and Spectator→2.4. Figure 3
shows how the different roles are indicated in the User
List→P4CMI.
          </p>
          <p>User List→P4CMI allows to visualize different Roles by simply
extending the user representation in the list.</p>
          <p>Masquerade→P4CMI describes how users can control what kind
of personal information they reveal to other users. This can
include information about a user’s Role.</p>
          <p>Activity Indicator→P4CMI shows for awareness purposes the
activities of the collaborating users. By analyzing the activities
of a user, it is also possible to identify a user’s role in the
collaboration process.</p>
          <p>Interactive User Info→P4CMI equips a user representation with
a context menu that allows to start an interaction with the
represented user. It can easily be used to visualize the user’s
current Role.
2.3</p>
          <p>Ad-hoc Workflow
AKA</p>
        </sec>
        <sec id="sec-2-4-2">
          <title>Intent Context Problem Scenario</title>
          <p>You are interacting in a creative, ill-structured group process.</p>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>Plans are a good thing. Having well-defined roles and</title>
        <p>tasks creates safety in performing tasks. However,
illstructured group processes are highly non-deterministic
which means that they cannot be pressed in pre-defined
task schemas. Plans will fail in most of these projects.
Consider a typical XP project. Linea, the customer created a set
of task cards and arranged them in a lovely sequence. She created
a picture of the project and believes that the team will be able
to create a good solution by simply implementing the tasks. But
already after the first task was done, the developers feel that the
plan does not fit the context and after her first tests with the
resulting system, Linea also feels the need to change the plan.</p>
        <sec id="sec-2-5-1">
          <title>Symptoms</title>
          <p>You should consider to apply the pattern when . . .
– users expect others to do their work.</p>
          <p>– users do not understand the dependencies between tasks.</p>
        </sec>
      </sec>
      <sec id="sec-2-6">
        <title>Therefore: Collaboratively create an explicit representation of tasks as a shared document and thereby achieve a shared understanding of ad-hoc plans that dynamically adapts to the current group process.</title>
        <p>In the simplest form, the group members can use a wiki to list the
different tasks and responsibilities. For synchronous collaboration,
the group members can also make use of a Shared Editor→P4CMI.</p>
        <p>Users should be supported in creating shared tasks, creating
relations between tasks, and assigning Roles to tasks. Visualize the
representation in a way that users can understand and perform
the workflow. In case of a textual representation the workflow
follows the linear structure of the text, e.g. each task is a list item.
In case of a visual representation, the workflow is represented as
a directed graph. Use the visual workflow to document current
steps and guide the group process but allow the group to adapt
the process as soon as it is necessary.</p>
        <p>
          Wil
          <xref ref-type="bibr" rid="ref12">van der Aalst et al. (1999</xref>
          ) described the taxonomy of
collaborative work as shown in Figure 4. They classify collaborative work
along two dimensions: structuredness and the center of attention.
        </p>
        <p>Work can be highly structured as it is the case in optimized
production workflows or it can be inherently unstructured as it
is often the case for collaborative problem solving activities. The
support for the group interaction can focus on making information
available to all group members (and providing the best
comprehensible awareness on the group members’ activities) or it can focus
on supporting the interaction process and thus guide the group
members through the required steps.</p>
        <p>Groupware applications are typically situated in the lower left
corner of the diagram: they support creative interaction and help a
group to interact on shared information spaces. They focus on
improving the communication between the group members and make
them aware of each others’ actions.</p>
        <p>Workflow management systems on the other hand focus on
guiding the users through the process. The process is pre-defined
and the group members are only required to perform their steps in
the process. Communication is pre-structured and in most cases
reduced to the communication acts required for executing the
workflow.</p>
        <p>An Ad-Hoc Workflow helps to structure the implicit
processes of information-centered unstructured interaction. During
the co-construction of the Ad-Hoc Workflow, the group members
become aware of the required steps for the specific tasks and
coordinate their efforts.</p>
        <p>During the enactment phase of the workflow, the group
members document their progress in the process and thereby increase
the awareness of the group’s activities. Since group members are
allowed to deviate from the Ad-Hoc Workflow, they keep the
flexibility of information-centered collaboration.</p>
        <sec id="sec-2-6-1">
          <title>Check</title>
          <p>When applying this pattern, you should answer these questions:</p>
        </sec>
        <sec id="sec-2-6-2">
          <title>Danger Spots</title>
          <p>– When will you create the workflow in your group process?
Can you distinguish coordination phases from collaboration
phases?
– Will you create a graphical or a textual representation of the
workflow?
– How do you visualize active tasks?
– Can you use the workflow representation to track your work?
Workflows are often not just a a linear sequence. Especially for
iterative processes, workflows may include iterations or parallel
processing streams. The user has to be careful that no circular
dependencies occur that may lead to deadlocks. In a deadlock
situation, user A waits for user B to complete task 1 before A can
start task 2. At the same time, user B waits for user a to
complete task 2 before he can start task 1. In general, the groupware
system should highlight potential deadlocks in the workflow. This
can be done by checking the following deadlock conditions that are
common knowledge in operating systems research and visualizing
those tasks for which the conditions apply:
Mutual exclusion: the tasks assume that the performer of the
task has exclusive access to a shared resource (see
Pessimistic Locking→P4CMI).</p>
          <p>Hold and wait: tasks require more than one shared
resource. Once the performers have obtained a Pessimistic
Lock→P4CMI, they keep the lock and request another lock to
complete the task.</p>
          <p>No preemption: there is no way to force a performer of a task
to give back his resources.</p>
          <p>Circular wait: task have a circular dependency as outlined in the
previous paragraph.</p>
        </sec>
        <sec id="sec-2-6-3">
          <title>Known Uses</title>
          <p>Changes to the workflow can place another burden on the users.</p>
          <p>Once the ad-hoc workflow was changed, the users have to
understand the new group process and adapt their behavior to act
according to their role. Changes to the workflow should thus be
highlighted, e.g., by placing a Change Indicator→P4CMI on the
changed sections.</p>
          <p>
            Chips / XChips
            <xref ref-type="bibr" rid="ref6">(Rubart et al. 2001)</xref>
            visualized ad-hoc
workflows as graph structures. The users could define task graphs
and relate tasks with roles. When enacting the ad-hoc
workflow, the users can assign group members to roles and thereby
express responsibilities of individuals for specific tasks.
          </p>
          <p>
            Figure 5
            <xref ref-type="bibr" rid="ref7">(Rubart and Haake 2003)</xref>
            shows how XChips was
used to create an Ad-Hoc Workflow for a company
specific meeting (picture reprinted with authors’ permissions).
          </p>
          <p>DigiMod (http://www.teambits.de/) is a meeting facilitation
support system that allows facilitators to structure the
different phases of the meeting. Facilitators create tasks that
describe what the participants should discuss and how the
discussion should take place (e.g., as a structured
brainstorming). During the meeting, DigiMod visualized the sequence of
meeting steps and highlights the current task.</p>
          <p>Related Patterns Role→2.1: Tasks are performed by Roles. In the definition phase
of the Ad-Hoc Workflow, the group members name (or
create) roles and associate them with tasks.</p>
          <p>No Agenda, No Meeting argues that all meetings should have
an agenda. The agenda is comparable to a linear Ad-Hoc</p>
          <p>Workflow.</p>
          <p>Shared Editing→P4CMI The workflow representation should be
created using a shared editor. This allows all group members
to participate in the creation of the workflow and contribute
their views of an optimal problem solving path.
Allow users to observe the activities of other interacting users.</p>
          <p>Users are interacting in a computer-mediated environment to
achieve a shared goal.</p>
        </sec>
      </sec>
      <sec id="sec-2-7">
        <title>Users are interacting in a computer-mediated environment but are not familiar with the environment. These users perform activities which disturb the interaction and collaboration of other users.</title>
        <p>John and Paul have now managed to work in pair programming
sessions. Now, their company is growing as it acquires more and
more projects. The new employees are requested to work in pair
programming sessions as well to ensure the high software quality,
but they do not know how to do this. The manager requests John
and Paul to teach the new employees, but their tool has only been
designed to support one driver and one navigator in a pair
programming session. Thus, John and Paul do not know how they
can show the new employees how to interact in pair programming
sessions.</p>
        <sec id="sec-2-7-1">
          <title>Symptoms</title>
          <p>You should consider to apply the pattern when . . .
– Unexperienced users are not accepted by experienced users.
– Unexperienced users disturb the collaboration of other users.
– Users want to communicate their experience with a
computermediated environment but do not know how.</p>
        </sec>
      </sec>
      <sec id="sec-2-8">
        <title>Therefore: Allow users to view and follow the interaction</title>
        <p>in an ongoing Collaborative Session→P4CMI as Spectator.</p>
      </sec>
      <sec id="sec-2-9">
        <title>Ensure that these Spectators cannot influence the inter</title>
        <p>action.</p>
        <p>Allow users to select an active Collaborative Session→P4CMI
from an Interaction Directory→P4CMI and to choose whether</p>
        <sec id="sec-2-9-1">
          <title>Rationale</title>
          <p>they want to join the session as a regular participant or as a
Spectator. When joining as Spectator users can freely navigate in
the shared artifacts which are used in the session. They can also
view the activities of the other regular participants but they cannot
influence the activities by modifying the shared artifacts as well.
The Spectator Role does not allow that users influence the
activities of other users. However, Spectators can view and
understand the interaction of other users and thereby learn how to
interact in the computer-mediated environment.</p>
        </sec>
        <sec id="sec-2-9-2">
          <title>Check</title>
          <p>When applying this pattern, you should answer these questions:</p>
        </sec>
        <sec id="sec-2-9-3">
          <title>Danger Spots Known Uses</title>
          <p>– Are you going to inform regular participants in a
Collaborative Session about Spectators viewing their
interaction?
– Is informing the regular participants enough or should they</p>
          <p>in some cases be asked for explicit permission?
– Are Spectators allowed to contact regular participants or</p>
          <p>other Spectators?
– Are you going to provide mechanisms for Spectators which</p>
          <p>
            make them aware of the other users’ activities?
Ensure that Spectators cannot access private artifacts of other
users. You may even consider Role-based Access Control
            <xref ref-type="bibr" rid="ref9">(Schumacher et al. 2005)</xref>
            to decide which artifacts Spectators
or other roles may access.
          </p>
          <p>Counter Strike Source (http://store.steampowered.com/
app/240/) is a multi-user game in which teams compete
with each other in Collaborative Sessions→P4CMI. Before
participating in such a Collaborative Session, players
have to decide which team they want to join. As additional
opportunity, players can decide to join as a Spectator.</p>
          <p>Spectators can move around like regular participants but
cannot influence the current game. For that purpose, players
can switch their Role→2.1 and become a regular participant.</p>
          <p>Guild Wars is a MMORPG (Massively multiplayer online
roleplaying game) which apart role playing supports team
competitions. The team competitions can be viewed by
Spectators.</p>
          <p>
            XPairtise
            <xref ref-type="bibr" rid="ref10">(Lukosch and Schu¨mmer 2007)</xref>
            is a tool for distributed
pair programming. Apart from the Roles of a driver and
navigator, XPairtise also supports Spectators which can follow
an ongoing distributed pair programming session. When
joining a pair programming session, users can choose between the
different supported roles (cf. Figure 6).
Related Patterns Collaborative Session→P4CMI: Spectators can view the
interaction in a Collaborative Session.
          </p>
          <p>Role→2.1: A Spectator has a concrete Role.</p>
          <p>
            Role-based Access Control
            <xref ref-type="bibr" rid="ref9">(Schumacher et al. 2005)</xref>
            discusses the issue of access rights in relation to roles and can be
used to define which artifacts a Spectator may access.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>The patterns of this papers discussed the role of roles in computer-mediated
interaction settings. We presented a small selection of proven practices for modeling
roles in such settings. However, we are aware of the fact that these patterns can
only be a starting point towards a larger collection of practices that help groups
to structure their group processes. It still needs to be investigated to what extent
these practices can and should be written as patterns.</p>
      <p>
        In some contexts, more domain-specific patterns have shown to be very helpful
for practitioners of that specific domain. One example is the meeting patterns
collection
        <xref ref-type="bibr" rid="ref8">(Schuemmer and Tandler 2008)</xref>
        that names concrete roles in a group
meeting, such as the role of the facilitator or the presenter. We foresee that more
domain-specific pattern collections will emerge – and if there is no concrete collection
for your specific domain, you may consider taking the role of an author and share
your collaboration experience. May the patterns of this collection help you to
structure your concrete patterns as well as concrete application that support your
domain.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>We would like to thank our shepherd Andreas Fießer for his excellent and challenging
questions that helped to improve the patterns in this paper.</p>
      <p>February).</p>
      <p>Blackboard
home.</p>
      <p>Borghoff, U. M. and J. H. Schlichter (2000). Computer-Supported Cooperative</p>
      <p>Work. Springer-Verlag Berlin Heidelberg New York.</p>
      <p>Cronk, G. (2005). George Herbert Mead – The Internet Encyclopedia of
Philosophy. http://www.utm.edu/research/iep/m/mead.htm.</p>
      <p>ILIAS (2009, February). ILIAS open source LMS. http://www.ilias.de/.
Lukosch, S. and T. Schu¨mmer (2007, September). Enabling distributed pair
programming in Eclipse. In 10th European Conference on Computer-Supported
Cooperative Work (ECSCW’07), Workshop ’The Challenges of Collaborative
Work in Global Software Development’.</p>
    </sec>
    <sec id="sec-5">
      <title>Appendix: Pattern Thumbnails</title>
      <p>Activity Indicator
Problem: Users need time to perform a task but only the results are shared among
them. In a collocated setting users are accustomed to perceive non-verbal
signals such as movement or sounds when another user is active. If the users
are distributed, these signals are missing. Users are therefore not aware of
other users’ activities, which can result in conflicting work or unnecessary
delays.</p>
      <p>Solution: Indicate other user’s current activities in the user interface. To reduce
interruptions, use a peripheral place or a visually unobtrusive indicator.
Change Indicator
Problem: While users works on independent local copies of artifacts, their
checkout frequency for the artifacts may be low. As a result, they may work on old
copies, which leads to potentially conflicting parallel changes. The conflict is
worse if two parallel modifications have contradictory intentions.</p>
      <p>Solution: Indicate whenever an artifact has been changed by an actor other than
the local user. Show this information whenever the artifact or a reference to
the artifact is shown on the screen. The information should contain details
about the type of change and provide access to the new version of the artifact.
Collaborative Session
Problem: Users need a shared context for synchronous collaboration.
Computermediated environments are neither concrete nor visible, however. This makes
it difficult to define a shared context and thereby plan synchronous
collaboration.</p>
      <p>Solution: Model the context for synchronous collaboration as a shared session
object. Visualize the session state and support users in starting, joining,
leaving, and terminating the session. When users join a session, automatically
start the necessary collaboration tools.</p>
      <p>Floor Control
Problem: Synchronous interaction can lead to parallel and conflicting actions that
confuse the interacting users and makes interaction difficult.</p>
      <p>Solution: Model the right to interact in the shared collaboration space by means
of a token and only let the user holding the token modify or access the shared
resources. Establish a fair group process for passing the token among
interacting users.</p>
      <p>Interaction Directory
Problem: Finding existing contexts to start interaction and memorizing older
contexts to continue an interaction is difficult.</p>
      <p>Solution: Provide a shared space that is available to all users in which users can
store and retrieve interaction contexts.</p>
      <p>Interactive User Info
Problem: Users are aware of other users in the collaboration space and can identify
them, but they don’t know how to start tighter interaction with a specific user.
Solution: Equip the user representation with a context menu that provides
commands for finding out more information on a user and for starting tighter
collaboration with the user.
Problem: Your application monitors the local user. The information gathered is
used to provide awareness information to remote users. While this is suitable
in some situations, users often do not act as confidently if they know they
are monitored. Users may feel a need to avoid providing any information to
others.</p>
      <p>Solution: Let users control what information is revealed from their personal details
in a specific interaction context. This means that users must be able to filter
the information that is revealed from their personal information. Remember
to consider reciprocity.</p>
      <p>Mentor
Problem: Newcomers do not know how community members normally act in
specific situations. They are not used to practices that are frequently applied in
the community.</p>
      <p>Solution: Pair newcomers with experienced group members who act as mentors.</p>
      <p>Initially let newcomers observe their mentors, and gradually shift control to
the newcomer.</p>
      <p>Pessimistic Locking
Problem: You want to ensure that changes performed by the user are definitely
applied, even if more than one user wants to modify the same shared object
at the same time.</p>
      <p>Solution: Let a site request and receive a distributed lock before it can change the
shared state. The lock can have different grain sizes. The grain size of a lock
determines how much of a shared data object, or of all shared data objects,
can be modified after getting one lock. After performing the change, let the
site release the lock, so that other sites can request and receive it for changing
the shared state.</p>
      <p>Quality Inspection
Problem: Members participate in a community to enjoy high-quality contributions
from fellow members. However, not every contribution has the same quality.
Low-quality contributions can annoy community members and distract their
attention from high-quality gems.</p>
      <p>Solution: Select users as moderators and let them release only relevant
contributions into the community’s interaction space. Give moderators the right to
remove any contribution and to expel users from the community.
Problem: Users select artifacts to start an action on the artifact. Selecting an
artifact is considered as taking the artifact under personal control. Whenever
two users select the same artifacts, this leads to coordination problems.
Solution: Show remote users’ selections to a local user. Make sure that other users
who are interested in a specific artifact are aware of all distributed co-workers
who have selected the object.
Problem: Users have problems finding relevant information in a collaboration
space. They often get lost.</p>
      <p>Solution: Browse through the information space together. Provide a means for
communication, and collaborative browsers that show the same information
at each client’s site.
Problem: Users are sharing data for collaboration. The need to edit the shared
data simultaneously emerges, but the shared single-user application does not
allow concurrent editing.</p>
      <p>Solution: Provide a shared editor in which users can manipulate the shared
artifacts together. Ensure that state changes are instantly reflected in all other
users’ editors, and provide mechanisms that make users aware of each other.
User List
Problem: Users do not know with whom they do or could interact. Consequently,
they do not have the feeling of interacting in a group.</p>
      <p>Solution: Provide awareness in context. Visualize who currently is accessing an
artifact or participating in a Collaborative Session→P4CMI. Ensure that
the information is always valid.</p>
      <p>Virtual Me
Solution: Allow the users to play theater! Provide them with means to create a
virtual identity that represents them while they act in the system. Show the
virtual identity when the user is active.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Bardram</surname>
            ,
            <given-names>J. E.</given-names>
          </string-name>
          (
          <year>1997</year>
          ).
          <article-title>Plans as situated action: an activity theory approach to workflow systems</article-title>
          .
          <source>In ECSCW'97: Proceedings of the fifth conference on European Conference on Computer-Supported Cooperative Work</source>
          , Norwell, MA, USA, pp.
          <fpage>17</fpage>
          -
          <lpage>32</lpage>
          . Kluwer Academic Publishers.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Blackboard</given-names>
            <surname>Inc</surname>
          </string-name>
          . (
          <year>2009</year>
          , http://www.blackboard.com/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Haake</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>Computer-Supported Collaborative Scripts: Einsatz computergestu¨tzter Kooperationsskripte in der Fernlehre</article-title>
          .
          <source>In DeLFI</source>
          <year>2007</year>
          ,
          <article-title>5</article-title>
          . eLearning Fachtagung Informatik, pp.
          <fpage>9</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Mead</surname>
            ,
            <given-names>G. H.</given-names>
          </string-name>
          (
          <year>1934</year>
          ). Mind, Self, and
          <string-name>
            <surname>Society</surname>
          </string-name>
          . The Chicago University Press, Ltd., London.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Moodle</surname>
          </string-name>
          (
          <year>2009</year>
          ,
          <article-title>February)</article-title>
          .
          <article-title>Moodle.org: open-source community-based tools for learning</article-title>
          . http://moodle.org/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Rubart</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Haake</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Tietze</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Wang</surname>
          </string-name>
          (
          <year>2001</year>
          ).
          <article-title>Organizing shared enterprise workspaces using component-based cooperative hypermedia</article-title>
          .
          <source>In HYPERTEXT '01: Proceedings of the 12th ACM conference on Hypertext and Hypermedia</source>
          , New York, NY, USA, pp.
          <fpage>73</fpage>
          -
          <lpage>82</lpage>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Rubart</surname>
            , J.,
            <given-names>W. W.</given-names>
          </string-name>
          and
          <string-name>
            <surname>J. M. Haake</surname>
          </string-name>
          (
          <year>2003</year>
          ).
          <article-title>Supporting cooperative activities with shared hypermedia workspaces on the www</article-title>
          .
          <source>In Alternate Track Proceedings of WWW 2003. MTA SZTAKI.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Schuemmer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Tandler</surname>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Patterns for technology enhanced meetings</article-title>
          .
          <source>In Proceedings of EuroPLOP'07</source>
          ,
          <string-name>
            <surname>Konstranz</surname>
          </string-name>
          , Germany. UVK, Konstanz.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Schumacher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Fernandez-Buglioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hybertson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Buschmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Sommerlad</surname>
          </string-name>
          (
          <year>2005</year>
          ). Security Patterns. Chichester, UK: Wiley.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Schu</surname>
            ¨mmer, T. and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Lukosch</surname>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>Patterns for Computer-Mediated Interaction</article-title>
          . John Wiley &amp; Sons, Ltd.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Stahl</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2002</year>
          ,
          <article-title>September)</article-title>
          .
          <article-title>Groupware goes to school</article-title>
          . In J. M.
          <article-title>Haake</article-title>
          and
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Pino</surname>
          </string-name>
          (Eds.), Groupware: Design, Implementation, and
          <string-name>
            <surname>Use</surname>
          </string-name>
          , 8th International Workshop, CRIWG 2002, LNCS 2440,
          <string-name>
            <surname>La</surname>
            <given-names>Serena</given-names>
          </string-name>
          , Chile, pp.
          <fpage>7</fpage>
          -
          <lpage>24</lpage>
          . SpringerVerlag Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>van der Aalst</surname>
            , W. M. P., T. Basten,
            <given-names>H. M. W.</given-names>
          </string-name>
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>P. A. C.</given-names>
          </string-name>
          <string-name>
            <surname>Verkoulen</surname>
          </string-name>
          , and M.
          <string-name>
            <surname>Voorhoeve</surname>
          </string-name>
          (
          <year>1999</year>
          ).
          <article-title>Adaptive workflow-on the interplay between flexibility and support</article-title>
          .
          <source>In International Conference on Enterprise Information Systems</source>
          , pp.
          <fpage>353</fpage>
          -
          <lpage>360</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>