1 Introduction

The creation of task models is a complex undertaking that is usually performed by people from different professions and backgrounds. It is unlikely that just one person is working on task models in a given project. Therefore, task models will often be the result of some kind of collaboration. To support task authors and their daily work, digital support for the collaborative creation of task models is necessary. The needed digital support depends on the nature of task model creation process in each group.

In this demo we propose an integration of collaborative features in the HAMSTERS task modeling tool. We focus on the communication between the collaborators as well as on awareness between them. The proposed and prototyped functions are being implemented and will be evaluated in the future.

2 Task Models

Task Models are a well-known concept in research and academia. Task modeling has its foundations in the Hierarchical Task Analysis (HTA) that was defined in 1967 by Annett and Duncan [1]. HTA has the goal to analyze the user’s tasks and structure it hierarchically. Many different task modeling notations were defined and are used in different, mostly academic, use cases, for different purposes. For example, the Useware Markup Language (useML) [7] aims to generate user interfaces that are based on the created task models. For this purpose, the in useML defined Usemodel is transformed to other models and at the end it is possible to generate the final user interface. The Groupware Task Analysis (GTA) aims to support the task-based development of collaborative applications [14] (we should however distinguish collaboration during task modeling from collaboration of end users modeled by collaboration-aware task models such as GTA). The Méthode Analytique de Description (MAD) is a semi-formal method to record user tasks based on interviews [11] that can be used during the requirements analysis phase. The ConcurTaskTrees (CTT) are and well-known approach [9] which has dominated research approaches lately. CTT aims to analyze and record the user’s task and generate models from them. The Human-centered Assessment and Modeling to Support Task Engineering for Resilient Systems (HAMSTERS) [6] uses some concepts from CTT and aims to identify possible human errors and to prevent them.

Most of these notations have graphical representations and editors to create graphical task models. For instance, HAMSTERS (see Fig. 1) and CTT’s editors CTTE [10] and Responsive CTT [2] use small icons for the representation of tasks. For the different type of tasks there are specific icons defined and used in the models. UseML’s editor Udit [8] represents the items with boxes and differs them using a color-code. CTTE and Udit are stand-alone software whereas Responsive CTT is web-based.

Fig. 1.
figure 1

The graphical editor HAMSTERS.

3 Computer Supported Cooperative Work

The field of Computer Supported Cooperative Work (CSCW) has been aiming to support technology-mediated collaboration for several decades.

Collaborative editors are an important area of CSCW research, and it is collaborative task model editors that we aim to create a system for collaborative editing. It needs to support the following features, according to [4]:

  1. 1.

    Distribution: the clients are not co-located but distributed and connected over the internet or an internal network.

  2. 2.

    Sharing: the clients should be able to share documents but be aware with whom they are sharing it.

  3. 3.

    Autonomy: a document has an owner that has the right manage it, e.g. grant access.

  4. 4.

    Reliability: the stored data has to be robust to connection losses and be accessible when a client crashes.

  5. 5.

    Reconfiguration: the clients should easily configure the system and its behavior.

  6. 6.

    Concurrency: the system has to allow editing at one time.

  7. 7.

    Consistency: the stored data has to be consistent even during the concurrent editing.

  8. 8.

    Performance: the responses should have a reasonable delay that allows a fluent working with the system.

  9. 9.

    High-Quality User Interface: the provided user interface should support the clients during their work.

Sutcliffe defines requirements for groupware, some of them are similar to the above [13]. He adds for example the “group’s collective goal awareness” – that means the group should be aware of its goal, means why they are collaborate and that may include sub-goals. Also, possible conflicts have to be managed in a transparent and fair way. Sutcliffe’s findings do not change the defined requirements but support and extend them.

One challenge in CSCW is the concept of “awareness” defined as “understanding the activity of others in the context of one’s own activity” [3]. One central question is “what should the user be aware of?” [12].

4 Collaborative Support in Task Modeling Environments

To understand the needs for a collaborative support we need to know: who are the collaborators? What are their professions, background? We found in a small pilot-study that many different professions engage in task model authoring. They may not have a technical background and this needs to be taken into account in the collaborative graphical editor design. We identified three groups: Usability Experts, Software Developers/Engineers and User Interface Designers. From literature and other projects, we know that in some cases the management is involved as well. In our own studies we found that the teams may be distributed and the interaction or collaboration –which means the implemented process - differs between companies.

We looked at four task modeling tools and evaluated their possibilities for cooperation support.

At first we identified features that afford some sort of collaboration. The most basic form for developers is the sharing of file with a Version Control System (VCS) like for example Git or Subversion (SVN). Other ways of sharing files, like simple “saving in the cloud” and sharing with others – at the same or different time. Also an important aspect for collaboration is the communication. There are different communication-channels that could be used: text-based chat, call or video-telephony. For the distributed creation of task models, it is useful if users could comment on tasks, branches of a tree model or on the whole model. Users may want to know how a model evolved during the creation. For that a history feature is useful where the users can see what was changed.

As shown in Table 1, HAMSTERS is the only tool that provides some aspects of collaborative support. HAMSTERS has an integrated version control (VCS) that allows the users to share their project. The history is closely related to the VCS. The view shows the underlying XML-file and shows the differences between the selected version and the current working-copy. There is no possibility to show the differences in the graphical representation.

Table 1. Analyzed tools.

Several incipient collaboration features are supported by other modeling tools as well. In CTTE it is possible to upload the file to a public or private repository at HIIS. Responsive CTTE could be able to share the models. Since it is web-based and the models are saved on servers, it could be possible to share the files. Currently this function is not implemented. Udit has no functionality for collaboration integrated.

Hili et al. [5] introduce with FlexiLab a tool that offers collaborative functions amongst others. They focus in their work on real-time communication and sharing of models. The sharing enables the users to work on different parts of a model and share it.

5 Mock-Ups of Collaborative Functions

Since we have some functions that are already integrated in HAMSTERS, we decided to continue working with it adding collaborative support. In order to generate ideas on how a collaborative support could look like, and in order to be able to analyze and judge these design ideas, we developed prototypes for the different collaborative functions. The ideas are being implemented as online prototypes, and prepared for demo. Since HAMSTERS is based on NetBeans, we intend to stick on the NetBeans tab-based navigation concept.

The first function that we considered is the communication between users. We thus integrated a tab that shows a chat tool We decided to introduce a tab with the same behavior like the other tabs (e.g. tabs could be arranged according to the user’s preferences). An important point to keep in mind is that the chat has to be visible for every user, including what was said before he or she joined the talk. The mockup is depicted in Fig. 2.

Fig. 2.
figure 2

The integrated chat.

As a second major function we identified commenting. We believe that for the collaborative creation it is important to tell the other editors how you are thinking while designing a task model. The comments are anchored on specific parts of a task model. Therefore, we intend to introduce comments that can be attached to a specific task or a branch of the model. The possibility to add a comment will be shown at the object of interest. Depending on the kind of task. e.g. Abstract Task or User Task, the comment will refer to a whole branch or only to this specific task. The first comment in Fig. 3 includes the possibility to comment on the whole branch while the second comment or conversation is regarding this particular task. It will be possible to start discussions within the comments.

Fig. 3.
figure 3

Two comments on tasks.

The current HAMSTERS implementation of a history is readable only by experts, e.g. Software Engineers, as it is based on version control specific to software. Users from other disciplines that use the application and its models are currently not able to understand the changes without an expert explanation. To support such users, we will introduce a graphical representation of task model history. One design alternative is to display history as grayed-out objects.

The sharing of the model with real-time editing may need changes in the user account structure of HAMSTERS. For example, we need to display the currently active users and which users have access to the model (see Fig. 4). To achieve that, we have to provide a login for the users. Again, to be consistent with the existing UI design of HAMSTERS we will introduce a tab that contains the currently active users and the users that have access to the model.

Fig. 4.
figure 4

Sharing the model.

After implementing such basic collaborative support for task editing, we will look into more advanced support, derived from field studies of task modeling that we are conducting. For example, awareness [4, 11] will be initially supported only by our history feature, which is a good beginning is history is shown permanently in a tab, and maybe recent changes are promoted in the tab title. More awareness support can be added to emphasize important task model changes made by collaborators.

6 Conclusions

We regard task modeling as complex interdisciplinary collaborative work. Different disciplines and profession combine their knowledge and expertise in these artifacts. However, in the current tools for task modeling we found only little collaborative support. Only HAMSTERS includes with SVN and Git which are well-known collaborative tools for software developers. We propose new features that introduce collaborative support in HAMSTERS. We believe that especially the possibility to comment on tasks or branches will support distributed teams that work asynchronously. The other features will ease the creation of task models in groups, too.

We are in the process of implementing the collaborative task modeling features and we aim to later evaluate these features.