2010 IEEE Symposium on Visual Languages and Human-Centric Computing
A Collaborative Environment for Spreadsheet-Based Activities Athula Ginige1, Luca Paolino2, Monica Sebillo2, Genoveffa Tortora2, Marco Romano2, Giuliana Vitiello2 1 University of Western Sydney, Australia 2 Università di Salerno (Italy) 1
[email protected] 2{lpaolino, msebillo, gvitiello}@unisa.it Abstract
transformation of their business activities into truly collaborative activities, exploiting users’ familiarity with single user spreadsheet applications, while addressing collaboration-specific issues. The system is the result of a scenario-based design process [4] that we started one year ago and that has led to the development a comprehensive set of interaction scenarios from which the present prototype has been built. The initial stages of this process are described in [1].
Spreadsheets are intensively used for crucial management activities by several organizations. Collaboration through spreadsheet is recognized to be a powerful means to enhance crucial activities carried out in Small and Medium sized Enterprises (SME). However, the main obstacles to its realization appears to be the small size and the limited human and financial resources, which usually characterize SMEs themselves. We present a collaborative environment for spreadsheet-based activities, that overcomes such limitation allowing a smooth shift from single user to multiple user spreadsheet application deployment.
2. The Spreadsheet-mediated collaboration system
1. Introduction
The brainstorming activity that followed the analysis of the identified user requirements and the consideration of the design implications coming from a set of selected design patterns, allowed us to draw a suitable set of collaboration scenarios that the target web environment should provide [1]. As a result, we were able to prepare an initial list of specific functionalities that the user interface of our web based spreadsheet mediated collaboration system should feature. Due to space limitation we cannot describe in detail each user interface requirement in the list. We will only mention that three separate categories of interface requirements were identified, namely: a) collaboration environment awareness, b) overall collaboration process analysis, and c) operations on the artifact. The first category comprises all the functionalities that allow collaboration awareness issues to be properly addressed by the environment, both during synchronous or asynchronous collaboration through a spreadsheet. The second category focuses on the spreadsheet artifact itself and on some important parameters that would better support individual exploration as well as recoverability during the overall business process. Finally, the third category includes all the functionalities that would allow the spreadsheet artifact to be effectively manipulated by multiple
Since the introduction of the first computerized spreadsheet, VisiCalc, in 1979, the adoption of spreadsheet applications has been continuously increasing in different domains, and is today recognized to play a central role in the evolution of work systems. Many years ago Nardi and Miller observed that spreadsheets functioned as de facto cooperative work, but they lacked technological support for cooperative work environments [3]. Since then, little progress has been done in that direction. Grossman and colleagues concluded from their research on the use of spreadsheets as an effective software development platform that ‘spreadsheets are vitally important to business, and merit sustained research to discover techniques to enhance quality, productivity, and maintainability’ [2]. This is especially true for SMEs, where the way how collaborative activities using spreadsheets are performed, namely by email exchange of the spreadsheet artifact or by keeping it on a network drive, may seriously mine the effectiveness of the business process. We present an environment for spreadsheetmediated collaboration, meant to help small organizations with a gradual and cost-effective 978-0-7695-4206-5/10 $26.00 © 2010 IEEE DOI 10.1109/VLHCC.2010.55
273
participants through the web environment, in terms of either data updating or structure modification. The collaborative interface of the spreadsheet-based system is shown in Fig.1.
case, a multiple cell selection mode is available, named Multilock, which allows users to lock a cell and all the related ones (e.g. when a user locks a formula).
3. The Collaborative Model The CoMVC pattern is a specific extension of the Model View Control (MVC) pattern, to which components addressed to manage collaborative access have been added (see Fig. 2). In particular, the Model is described by means of an abstract class which provides a public method setRestrictedCell and a protected abstract method setCell. As a matter of fact, when a user tries to access some cell, a call to the setRestrictedCell method is invoked which verifies the user accessibility to the cell both in terms of user permission (by calling the isEditable method) and locking. Then, in a positive case, the setCell method implemented by the subclass is invoked, or an error message is returned, otherwise. This solution was driven by the choice to let the user change the policies for storing cell information (by implementing the abstract method setCell) and for accessing the cell data (by implementing the interface method isEditablebyMe). Moreover, in order to manage locked cells, the RestrictedModel class also contains a reference to a set of cells. This class is characterized by two main methods: unlock and lock, which provide the access and the status of cells in the set.
Figure 1. The interface of the Collaborative spreadsheet. It encompasses some of the basic design choices made to fulfil the identified requirements. As an example: x Requirement. list of participants steadily visible in the collaborative environment, each one associated with an idle/busy/absent flag. Design choice. The shared spreadsheet is provided with a window which lists the users currently connected. Each element of the list is associated to a given color which indicates the user’s status. x Requirement. Data access rights should be properly distributed among participants. Design choice. Any single cell may be accessed in Read/Write, Read-Only or Hidden mode depending on individually assigned privileges. The user will see a cell red if it is hidden, yellow if it is read-only accessible, or in the original background color if he has R/W privileges on that cell. x Requirement. Multiple user conflict resolution cell editing vs. cell locking notification. Design choice. Whenever a participant is editing a cell/a block of cells, those cells are colored with the user’s identifying color so as to appear ‘locked’ to the others, and avoid undesirable overlapping. If a user tries to modify a locked cell, he is notified by means of an error message. x Requirement. Notification flags associated with each of the updated sheets in the document. Design choice. After the user changes the content of a cell and unlocks it, the system draws a line along the border of the cell with the color identifying the user. The colored border is visible to each participant, who may click on the cell to acknowledge the other’s update and make the border disappear. The major differences that a user will perceive with respect to the standalone spreadsheet is the effect of synchronization achieved through cell locking. A user may decide to modify a set of cells which should not be modified by other participants meanwhile. In this
Figure 2. The architectural description of the system.
4. References [1] A. Ginige, L. Paolino, M. Sebillo, R. Shirodkar, G. Vitiello, “User Requirements for a Web Based SpreadsheetMediated Collaboration”, ACM Procs Advanced Visual Interface(AVI 2010), ACM Press, pp. 133-136, 2010 [2] T.A Grossman, V. Mehrotra, Ö. Özlük, “Lessons From Mission-Critical Spreadsheets”, Comm. of the Association for Information Systems, Vol. 20, pp. 1009-1042, 2007. [3] B. A. Nardi, and J. R. Miller, “An ethnographic study of distributed problem solving in spreadsheet development,” Procs of the ACM CSCW '90. ACM, New York, NY, 197208, 1990. [4] M. B. Rosson and J. M. Carroll, The human-computer interaction handbook: fundamentals, evolving technologies and emerging applications, Lawrence Erlbaum Associates, Inc., Mahwah, NJ, 2002. 274