• No results found

OPEN, COLLABORATIVE TASK MANAGEMENT IN WEB 2.0

N/A
N/A
Protected

Academic year: 2021

Share "OPEN, COLLABORATIVE TASK MANAGEMENT IN WEB 2.0"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

OPEN, COLLABORATIVE TASK MANAGEMENT IN WEB

2.0

L. Ardissono, G. Bosio, A. Goy, G. Petrone, M. Segnan Dipartimento di Informatica – Università di Torino

Corso Svizzera 185 – 10149 Torino - Italy

ABSTRACT

This paper presents the Collaborative Task Manager (CTM), which offers a unified management of shared tasks and commitments involving the usage of heterogeneous applications. The CTM supports the synchronization of user activities, and the management of workspace awareness, in customized collaboration environments. In particular, the CTM enables the user to resume the activity context of a task, by providing direct links to artifacts developed by using multiple applications. Moreover, the CTM supports a task aware workspace awareness management, enabling the user to receive the notifications concerning each specific task in an organized way, and to access a workspace awareness space structured on the basis of her/his tasks.

KEYWORDS

Collaborative management tools, CSCW groupware and decision tools, collaborative working environments.

INTRODUCTION

With the large availability of inexpensive broadband wireless connection, and of Web 2.0 applications accessible from thin clients, people rely more and more on the Internet to organize their life schedules and to communicate (e.g., web-based calendars, email or instant messaging applications). Moreover, they are increasingly using Web-based environments supporting document sharing, synchronous and asynchronous communication to keep in touch and collaborate at shared activities. For instance, see the success of social networks such as Facebook.

At the same time, the enterprise is starting to adopt Web 2.0 applications for the provision of ubiquitous services which the employees can access from anywhere and as a flexible support for the management of projects involving geographically distributed teams (Pendyala and Shim, 2009). However, most services are offered as separate applications, each one supporting collaboration and workspace awareness on a specific type of activity. Our previous work discussed that this is problematic because users need a single point of view on their collaborations, regardless of how many applications they use; moreover, different user communities may use different sets of applications for their activities. Therefore, a cross-application collaboration should be offered in an open environment which can be customized to the requirements of the target user community. We thus proposed the Personal Cloud Platform (PCP) (Ardissono et al, 2009b) as an open user centered service cloud model, which supports the synchronization of heterogeneous services with respect to a shared context storing information about the users’ collaborations.

Our present work focuses on supporting the flexible type of cooperation emerging in the Web 2.0. Specifically, we focus on task management and we propose a novel approach, which leverages the user acceptance of Web 2.0 applications, and the trend of software towards open APIs, in order to offer a holistic management of shared activities. This paper proposes the Collaborative Task Manager (CTM), which integrates task management and execution of activities in a user centered service cloud. By relying on the context-sharing support offered by the Personal Cloud Platform, the CTM provides a unified access point to applications and a flexible, task-oriented organization of users’ collaborations. Specifically:

• The CTM supports the user in the management of tasks by providing a unified point of view on the events occurred in that context, and of the commitments to be fulfilled:

(2)

• Different from traditional task managers, which force the user to separately handle the tasks and the required operations, the CTM manages activities in the context of a specific task by enabling the user to access the related artifacts and information items from the CTM User Interface.

• Moreover, the CTM offers a context-aware workspace awareness support which takes the user’s tasks into account, thus enabling her/him to easily retrieve the notifications about each specific task. • Furthermore, the CTM presents the user an up to date view of the completion state of tasks and handles the order dependencies among tasks, thus facilitating the scheduling of user activities. • Being based on an open platform, the CTM can be integrated with external applications. Thus, it can be

configured in order to take into account the user’s operations on an extensible set of services, including very specific ones, such as distributed games, or specific business applications.

• Being oriented towards the organization of “every-day” collaboration, the CTM privileges the flexibility in the management of highly dynamic collaboration processes, with respect to supporting workflows representing complex business processes. Moreover, it generalizes the traditional hierarchical task management model, which collapses task assignment and task awareness, in order to enable a flexible type of team collaboration.

The rest of this paper describes our task management model and its application in the PCP. Section 2 describes a collaboration scenario. Section 3 describes the PCP. Section 4 describes the CTM. Section 5 provides some technical details. Section 6 describes the related work and Section 7 concludes the paper.

SCENARIO

The openness and integration features of the Personal Cloud Platform and of our Collaborative Task Manager are aimed at supporting the holistic management of schedules and activities emerging from the parallel collaboration contexts in which Web 2.0 users are involved. As discussed in (Grimes and Brush, 2008), calendar sharing is an obvious feature to be offered in order to provide users with a unified point of view on their personal and work schedules. However, in order to effectively support the management of such commitments, users should also be offered a unified point of access to integrated services and an awareness service enabling them to easily resume the contexts of such commitments (Mark and Su, 2007).

For example, let’s consider Karin, a person working in a high-tech company, married with two kids. In order to manage her family and work commitments, she can use document sharing tools, calendars, and various services devoted to the management of specific activities, such as the funding management service offered by her company and her home banking account service. Moreover, she can interact with her friends, colleagues, etc., by exploiting synchronous and asynchronous interaction services. However, all such separate services lack support for her parallel activity contexts. For instance, she might benefit from a service notifying her, and resuming the state of the collaboration context to which her commitments belong. This means that, for each collaboration context, Karin should be provided, at minimum, with (a) a direct access to the relevant documents and information items, (b) a direct link to the other people involved in the same task, in order to facilitate her interaction with them, (c) a simple way to be informed about all the events occurred in the context of that task (which works have already been completed, etc.).

Suppose that Karin and her friends organize a 3 weeks holiday oversea which requires taking care of various issues; for instance, provision of visas and insurances, planning the itinerary, booking flights and hotels. At tour organization time, the users might be enabled to jointly work at the various tasks to be completed, possibly using different applications for their achievement:

• Some tasks, such as selecting towns to be visited, should be jointly carried out by the participants, which should be supported both in the exchange of information and documents (such as pictures and tourist information) and in interacting with each other in order to reach a consensus.

• Other tasks, such as booking the flights, might be assigned to a single person. However, the other participants might want to be aware of the activation status of such tasks, in order to express their preferences on the alternative options, or to be promptly notified about the occurring changes.

Moreover, during the tour, an active support to collaboration should be offered:

• For instance, during the visit to a town, the group of friends might split and follow different tours; for example, somebody might visit museums, somebody else might attend a basket match. Nevertheless, everybody might want to take a look at what the other friends are doing, by exchanging pictures.

(3)

Finally, the users might need to be supported in the execution of tasks out of the scope of their holiday. For instance, Karin could receive a work assignment while she is on holiday. In order to enable her to complete it as easily as possible, she should be enabled to quickly access her work activity context, in terms of access to relevant material, and of interaction and synchronization with the colleagues involved in the same assignment.

THE PERSONAL CLOUD PLATFORM (PCP)

The PCP, presented in (Ardissono et al, 2009b), is an open platform for the management of user-centered service clouds offering a structured and integrated view of the users activities and collaborations, across heterogeneous applications. From the viewpoint of the user, the PCP offers a web desktop supporting the management of parallel activity contexts and a personalized workspace awareness support. Specifically, the PCP handles:

• The synchronization of services with respect to the collaboration groups managed in the cloud. In this way, services can offer a direct support to the execution of activities shared by a user group.

• A Notification Manager service handling the workspace awareness information generated by the cloud services. The Notification Manager captures such information and organizes it in a structured, web-based awareness space supporting the search for information about the events occurred in each collaboration.

• The Notification Manager also supports the context-aware mediation and filtering of the notifications generated by the cloud services, in order to prevent the user from being overloaded by a continuous, chaotic stream of notifications (Ardissono et al, 2009a).

The PCP supports a loosely-coupled synchronization of external, heterogeneous services, based on the bidirectional exchange of context information. This type of synchronization is based on the following concepts (see (Ardissono et al, 2009b) for technical details):

• The PCP manages a shared context storing the business and the synchronization information items to be shared by the services; e.g., information about the composition of the collaboration groups, or about events generated by the services during their execution. The shared context information is propagated to the cloud services in Publish and Subscribe mode, as events.

• In order to share context information within the PCP, a service has to be wrapped by an adapter which interacts with the service via APIs, addresses interoperability issues, and supports its bidirectional interaction with the shared context.

• The adapter receives the notifications from the shared context and is in charge of invoking the APIs of the service in order to synchronize it with respect to the received information. For this purpose, the implementation of the adapter requires the definition of a subscription list, specifying which events (published in the PCP shared context) the service has to be notified of, together with the operations to be performed in the service upon event notification.

• Moreover, the adapter must capture the context information generated by the service (possibly, by polling it, if it does not autonomously generate such events) and publish such information in the shared context. For this purpose, the implementation of the adapter requires the definition of the events to be published, together with their relation with the internal activities of the service.

This type of integration is only possible if the service provides suitable open APIs. In order to address this issue, we have extended the PCP to support a lighter type of service integration, which enables the service cloud to receive information from external services (unidirectional flow), without synchronizing them in the shared context. This type of integration is convenient for importing information feeds in the service cloud. In fact, it does not impose the overhead of developing adapters, but only to register in a public web-based publish-and-subscribe server where such external services publish their feeds. This makes it possible to integrate services in a flexible way, without requiring their adherence to specific standards for service publication and interaction.

(4)

Fig. 1. Specification of order dependencies among tasks. The Jalava web-based diagram editor is used in the CTM to develop the activity frames.

THE COLLABORATIVE TASK MANAGER (CTM)

4.1. Collaboration model

The collaboration model underlying the CTM is based on the concept that spontaneous user collaboration cannot be bound to a hierarchical model of task assignment and control, reflecting a rigid hierarchy of traditional business scenarios. Moreover, most collaborations are established to reach relatively simple goals; thus, they do not need the overhead of traditionally managed projects (such as milestones, reviews, etc., supported by project management tools). This flexible interpretation of collaboration is emerging in modern Software development theories, such as Agile Software Development (Agile Process, 2010). These theories favor a collaborative approach to project management, suggesting shared team responsibility in project plan building, that traditional tools do not address.In order to take these elements into account, in the CTM:

• The notion of task is relaxed in order to enable users to represent not only “things to be done”, with assignees and deadlines, but also notes, and other kinds of information items (for example, links to documents or to web sites). The possibility of storing more or less complex information items avoids burdening users with the need to consult other information sources during the execution of activities.

• The notion of project is replaced with a more generic concept, representing the “container” for a set of contextually related activities. We call such container the “activity frame”. For instance, consider organizing an open one-day visit to a museum for a tourist group, or scheduling the activities to prepare an international project proposal.

o Within an activity frame, the user can define tasks to describe expected commitments with deadlines, or to store annotations.

o Moreover, the user can expand a task by defining an associated activity frame devoted to its management (and including tasks as needed).

o Furthermore, the user can define partial order dependencies among tasks, in order to schedule them at runtime. Tasks may be organized in AND/OR graphs supporting the

(5)

specification of simple flow patterns which enable users to start the execution of parallel tasks and to subsequently synchronize again; see Fig. 1. We consider the following patterns: parallel split, exclusive choice, synchronization and simple merge; see (van der Aalst and van Hee., 2002). The graphs are partially connected, in order to support the specification of tasks which do not depend on other ones.

• The CTM replaces the hierarchical access right specification defined in traditional task managers with a

“frame sharing” model, describing which users can jointly operate on an activity frame. After the creator of a frame selects the users sharing it, all such users can view the content of the frame and act on it. For instance, they can create/delete/modify tasks, assign tasks to other users, work at tasks together, by using the interaction services offered by the service cloud in order to synchronize with each other.

• By default, an activity frame F expanding a task T inherits the access rights specification of T. However, each of the users sharing T can modify the access rights of F by restricting it, or by including other users. The activity frames are stored in an Activity Frames Repository and they are characterized by various fields, among which: name, creator, sharing user list, tasks, parent-task (if any).

4.2. Task management

In order to enable the CTM to proactively assist users during the management of their schedules, it is designed as a reactive agent which handles tasks as actions, whose eligibility can be established, at any moment, by inspecting the state of the overall collaboration. This state is available to the CTM thanks to its integration in the shared context of the PCP.

The CTM is based on Belief, Desire, Intention (BDI) agent model. As described in (Rao and Georgeff, , 1991), the behavior of a BDI agent can be specified in an action-based representation defining all the activities which the agent can perform. The activities represent the agent capabilities and are guarded by preconditions which determine the situations where the actions can be performed. In the CTM, tasks are characterized by the following information: title, description, creator, assignees, reference activity frame (if any), deadline (if any), activation status (open, closed), precondition and post-condition. The precondition and post-condition support the specification of order dependencies between tasks:

• The post-condition of a task T is a simple information item representing the fact that the task has been completed. This information is represented as a TDone event propagated in the shared context.

• The precondition of a task T is a Boolean condition on events and specifies whether T is enabled; i.e., when it can be handled by its assignees.

If a task T does not depend on any tasks, its precondition is true. Otherwise, it describes the enabling condition, given the post-conditions of the other tasks. In Fig. 1, “Buy Tickets” can be handled after tasks “Ask Visas” and “Buy Insurance” (T1 and T2). Thus, its precondition is T1Done&&T2Done. Other dependencies can be defined; for example, a precondition can include a disjunction of events in order to represent the fact that the associated task can be started as soon as one of its enabling tasks is completed. As previously mentioned, the preconditions are used to organize tasks in AND/OR graphs.

4.3. Integration with applications

Following the principle that every-day collaboration originates dynamic cooperation processes, the CTM does not distinguish the phases of design and execution of an activity frame. Thus, it enables the user to edit frames and tasks (and update the Activity Frames Repository accordingly), as well as to operate on them, carrying out the required activities from a graphical User Interface. Moreover, it constantly keeps the user informed about the enablement and completion state of tasks by visualizing this information in the User Interface. In particular:

• When a user handles a task (e.g., (s)he modifies its deadline, or closes it), the CTM updates the task descriptor in the activity frame.

• The User Interface of the CTM enables the user to interact with applications in the context of a specific task. For instance, it enables the user to drag in the task window the artifacts generated by using an application; for instance, a picture created by using a document sharing service, or a mail received, which the user wants to include as an item of the task. In this way, each time a user involved in the execution of the same task opens the task window, (s)he will promptly find the artifacts to be considered.

(6)

• Moreover, the CTM enables a task-oriented management of workspace awareness, which is not provided by the other collaboration tools. In particular, the context information generated by the CTM has been employed to enhance the mediation capabilities of the Notification Manager: while the original version of such service filtered notifications and handled the workspace awareness space on the sole basis of the general collaboration context to which they belong, the introduction of the CTM has made it possible to organize the awareness information on the basis of the task to which it belongs.

In order to offer the user an integrated environment for the management of tasks and the execution of the required activities, the Collaborative Task Manager exploits the context sharing service offered by the Personal Cloud Platform. Specifically:

• The CTM publishes in the shared context the events describing the user actions on the CTM User Interface. For instance, if the user closes a task T, then the CTM publishes a TDone event in the shared context of the PCP. Moreover, when the user associates an artifact to a task, the CTM publishes in the shared context an event associating the artifact to the task. This is the basic information item needed to couple all the events concerning the artifacts (and generated by various applications) with the task.

• When the Task Management receives an event from the shared context, it inspects the descriptions of the activity frames and of the tasks to identify possible updates to be done (e.g., one or more tasks can be enabled after the completion of a task).

The integration of the CTM with external services also supports a proactive management of the user’s tasks: for instance, the User Interface of the CTM provides the user with an immediate, up-to-date view of the state of her/his activity frames, by highlighting the activation state of their tasks. Moreover, in addition to simple alerts, such as those concerning task deadlines, the CTM notifies (via Notification Manager service) the user when a task is enabled. Thus, the user does not need to check her/himself.

Fig. 2. Architecture of the PCP.

TECHNICAL DETAILS

The prototype personal cloud we developed by exploiting the PCP uses the Google Web Toolkit (GWT). The current dashboard is built as a iGoogle page, allowing the users to collect the Gadgets of their favorite apps, as well as those offered by the personal cloud. However, the goal of PCP is to allow the integration and synchronization of applications offering open APIs, therefore there is no architectural constraint to use Google APIs or Apps. Fig. 2 shows the architecture of the prototype service cloud and depicts the cloud as a light gray rectangle. For simplicity, the rectangle only shows the Notification Manager service, and the Collaborative Task Manager.

The PCP is developed in Java and exploits a publish and subscribe coordination middleware for managing the shared context of the PCP and the synchronization of the services via bidirectional information flow. In

(7)

our prototype, the selected middleware is Gigaspaces1. However, this might be replaced with a public web-based publish-and-subscribe service, such as PubSubHubbub2. Moreover, the PCP exploits public web-based publish-and-subscribe servers for the integration of information flows generated by other external services, which publish events on these servers; the figure includes a sample server: PubHUB.

In the figure, the synchronized services (bidirectional flow) are depicted as dark boxes, while the other ones are depicted as white boxes. Specifically, the arrows labeled as “publish/notify” represent a bidirectional event flow between a service and a publish-and-subscribe server. Those labeled as “publish” represent an unidirectional event flow, with the services publishing, but not receiving, events from the server. The arrows labeled as “notify” represent the notification flow from a server to the PCP. Those labeled as “API” indicate a direct integration of applications via APIs. For example, the Collaborative Task Manager is connected to Facebook and Mail in this way.

RELATED WORK

Traditionally, the coordination of people in the management of shared activities has been managed by using three main types of services:

• Complex project management environments support the management of large projects, with milestones and articulated project workflows; see (ActiveCollab, 2010; TeamWox, 2010). These systems offer rich task management functions and an internal support to workspace awareness and user interaction. However, being based on vertical architectures, they are suitable for specific types of collaboration and cannot be adapted to the management of simpler and less restrictive scenarios, by hiding some of the unneeded complexity.

• Task management tools support the specification of tasks within a project; see (DoIt.im, 2010; Cultured Code, 2010). These tools, typically based on the GTD model (Allen, 2003), handle the distribution of tasks to users. However, they do not support the user interaction via email or other, because they assume that the interaction flow, and the execution of applications, are handled outside the task manager environment.

• ToDoList services enable people to store and share notes and reminds, similar to what one can do with a paper agenda; see (Remember The Milk, 2010).

All such tools and environments are based on closed architectures; thus, they cannot be integrated with the services used to complete the tasks. Furthermore, such systems support a hierarchical assignment and management of tasks, which hardly suits the requirements of simple, dynamic types of collaboration.

The Collaborative Task Manager overcomes these limitations by offering collaboration, synchronization and sharing facilities in an open environment, where the specific services exploited by the user community can be integrated. Moreover, it offers a democratic task management model which supports the sharing of responsibilities on task and collaboration processes, as well as the management of dynamic collaborations.

A new generation of task managers is being developed in the Web 2.0. For instance, tasks can be stored in web calendars; see Google gadget tasks. Moreover, e-mail messages can be stored as tasks; see GTDInbox. However, such services do not offer any coordination support: they only associate deadlines to events.

The eGroupware (Stylite, 2010) open source project management tool assists the users in managing schedules, contacts, email, tasks, and files, in a unified environment supporting document and calendar sharing, and collaboration. However, it does not offer the possibility of integrating other web applications.

The presented collaboration model is more general than the data-centered one proposed in HP’s Content-centered Collaboration Spaces (Erickson et al, 2009), which focuses around document preparation processes: the CTM supports the user synchronization, and the execution of operations, in any application offering open APIs to share workspace awareness information. This collaboration model is more general than Google Wave (Google, 2010), too. In fact, the CTM supports the management of tasks within possibly long-lived collaborations, concerning stable user groups. In contrast, Google Wave supports the management of interaction waves within ephemeral user groups and lacks the infrastructure supporting the workspace awareness.

1 http://www.gigaspaces.com/ 2 http://code.google.com/p/pubsubhubbub/

(8)

CONCLUSIONS

This paper presented a novel task management model offering advanced collaboration features, such as the ubiquitous access to tasks, to their context (e.g., relevant artifacts and involved users) and to the applications supporting their completion in an open environment where heterogeneous services can be integrated. Moreover, this paper presented the Collaborative Task Manager (CTM), based on such a model. The CTM supports a dynamic, flexible type of collaboration, different from the hierarchical approach adopted in traditional task managers. Furthermore, it supports the filtering and organization of workspace awareness information based on the tasks which the user handles. In this way, while the user works, (s)he can be notified about events related to her/his activities, thus reducing the detrimental effect of interruptions on her/his attention.

The execution model of the CTM is based on the propagation of context information on a subscription basis, and on the conditional execution of actions, representing the user’s tasks. This approach has various advantages, among which:

• the loosely coupled association of the task manager with applications, which makes it possible to seamlessly extend the set of services representing sources of tasks, or resources useful to complete tasks;

• the flexibility in the specification of new tasks, or task dependencies, which may be enforced in a declarative way, by specifying partial order dependencies described as Boolean conditions.

We are currently validating the collaboration model underlying the CTM by means of experiments in our labs. The first test results are promising.

REFERENCES

ActiveCollab, 2010. Project management & collaboration. Downloaded from http://www.activecollab.com/ on May 22, 2010.

Agile Process, 2010. Agile software development: A gentle introduction. Downloaded from http://www.agile-process.org/ on May 22, 2010.

Allen, D., 2003 Getting Things Done: the art of stress-free productivity. Penguin.

Ardissono, L. et al, 2009a. Context-aware notification management in an integrated collaborative environment.

Proceedings of UMAP Workshop ”APWeb 2.0”, pp 21–30, Trento.

Ardissono, L. et al, 2009b. From service clouds to user-centric personal clouds. Proceedings of IEEE 2009 Int. Conf. on Cloud Computing (CLOUD-II 2009), pp 1–8, Bangalore. IEEE.

Cultured Code, 2010. Things mac. Downloaded from http://culturedcode.com/things/ on May 22, 2010. DoIt.im, 2010. Doit anywhere, any time! Downloaded from http://www.doit.im/ on May 22, 2010.

Erickson, J.S. et al, 2009. Content-centered collaboration spaces in the Cloud. IEEE Internet computing, September-October, pp 34-42.

Grimes, A. and Brush, A.J., 2008. Life scheduling to support multiple social roles. Proceedings of CHI 2008, pp 821– 824, Florence, Italy.

Iqbal, S.T. and Horvitz, E., 2007. Conversations admist computing: a study of interruptions and recovery of task activity.

Proceedings of 11th Int. Conf. on User Modeling, pp 350–354, Corfu, Greece.

Mark, G. and Su, N., 2007. Considering Web 2.0 technologies within an ecology of collaborations. Proceedings of SociUM, pp 50–59, Corfu.

Google, 2010. Google Wave preview. Downloaded from http://wave.google.com/help/wave/about.html on May 22, 2010. Rao, A. and Georgeff, M.P., 1991. Modeling rational agents within a BDI architecture. Proceedings of KR:91, pp 473–

484, Cambridge, MA.

Remember The Milk, 2010. The best way to manage your tasks. never forget the milk (or anything else) again. Downloaded from http://www.rememberthemilk.com/ on May 22, 2010.

Stylite, 2010. Downloaded from eGroupware. http://www.egroupware.org/ on May 22, 2010.

TeamWox, 2010. TeamWox GroupWare. Downloaded from http://www.teamwox.com on May 22, 2010.

van der Aalst, W. and van Hee, K., 2002. Workflow Management - Models, Methods, and Systems. The MIT Press, Cambridge.

Figure

Fig. 1. Specification of order dependencies among tasks. The Jalava web-based diagram editor is used  in the CTM to develop the activity frames
Fig. 2. Architecture of the PCP.

References

Related documents

Results suggest that the probability of under-educated employment is higher among low skilled recent migrants and that the over-education risk is higher among high skilled

In this PhD thesis new organic NIR materials (both π-conjugated polymers and small molecules) based on α,β-unsubstituted meso-positioning thienyl BODIPY have been

19% serve a county. Fourteen per cent of the centers provide service for adjoining states in addition to the states in which they are located; usually these adjoining states have

Field experiments were conducted at Ebonyi State University Research Farm during 2009 and 2010 farming seasons to evaluate the effect of intercropping maize with

more than four additional runs were required, they were needed for the 2 7-3 design, which is intuitive as this design has one more factor than the 2 6-2 design

The threshold into the stadium is through a series of layers which delaminate from the geometry of the field to the geometry of the city and creates zones of separation,

○ If BP elevated, think primary aldosteronism, Cushing’s, renal artery stenosis, ○ If BP normal, think hypomagnesemia, severe hypoK, Bartter’s, NaHCO3,