Analysis and Design of Mobile Collaborative Applications Using Contextual Elements

Rosa A. Alarcon1, Luis A. Guerrero2, Sergio F. Ochoa2, José A. Pino2

1 Department of Computer Science, Pontificia Universidad Catolica de Chile
Vicuña Mackenna 4860, Santiago 6904411, Chile.

2 Department of Computer Science, Universidad de Chile
Blanco Encalada 2120, Santiago 6511224, Chile.

{luguerre, sochoa, jpino}@dcc.uchile.cl

Abstract.Mobile collaborative applications support mobile users performing a collaborative task. Designing such applications involve several challenges considering the limitations imposed by the collaboration context. This paper presents aframework of contextual elements to be considered when a collaborative application for mobile scenarios is being conceived and designed. These contextual elements have been identified based on the authors experience and from a literature review. The use of this framework should help developersidentifyingnon-functional requirements and part of the architectural design in order to get contextualized applications. The use of this proposed framework is complementary to any software process. An example of the framework use is presented as an example of applicability.

1. Introduction

Groupware technology allows group members to work asynchronously and geographically distributed; e.g., they may be part of a building construction project where engineers, architects, stakeholders and staff are located in many places in the same city or country. Moreover, the distance can be variable if work group members move from place to place or even if they change location within several offices in the same building. In the latter case, workers are called nomadic. Attending these users’ needs, groupware technology has also evolved, moving from complex and heavy software tying users to fixed computers (Luff and Heath 1998) tolightweight software encompassing wireless communication and mobile computing devices such as laptops, PDAs, RFID tags and cellular telephones (Antunes and Costa 2002; Kirda et al. 2002; Myers 2001). This effect can be seen in diverse areas such as engineering education, customers support, disaster relief, military operations and business.

On the other hand, it is long recognized that successful group work is not simply the union of individual tasks, but an organized set of coherent activities with good strategies of communication, cooperation and coordination among group members. Typically, groupware systems has had unexpected successes and failures. Several authors have attempted to identify the possible causes. For instance, Grudin (1994) identifies the importance of designing groupware taking into account not only technological issues but also the complex social dynamics within which group activity occurs, e.g., social, motivational, political and economic factors. He recommends a sophisticated understanding of the prospective users’ workplace. Ljungberg and Holm (1996) analyze conversational systems and found them drastically decontextualized, i.e., theydo not consider the wide social context where interaction actually occurs, assuming a stable and immutable role structure. Bardram concludes the same while analyzing a groupware system to support health-care workers (Bardram 1997).

As stressed by these authors, the problem is typical design of groupware systems does not considerthe context where these systemswill be used.In contrast, most groupware developers usually focus almost exclusively on the analysis and specification of functional requirements that serves as the basis of the design and system implementation. Some non- functional requirements are considered generally during this stage (e.g. the user capability for collaboration), but there is not a formal process that helps developers to focus on this kind of requisites and to understand the requirements within a broader, contextualized perspective. For the case of mobile groupware applications, the design problem may be even more complex because these applications change the interaction paradigm, consideringthe physical environment as a protagonist (Brown and O’Hara 2002), and also deal with limited hardware resources (Tauber and Kaashoek 1997; Guerrero et al. 2005).

This paper presents a framework, based on contextual elements,that helps designers to understand the application context. The framework classifies some context elements that we consider as relevant for collaborative mobile applications analysis and design. In addition, we propose a process that following the classic software life cycle guides the usage of the framework. As a result, functional, non-functional requirements and software restrictions are identified and aligned consideringthe different context elements. Next sectionpresents our understanding of the context concept. Section 3 presents the context-based framework for designing collaborative mobile applications. Section 4 analyzes the application of the framework for three cases, and section 5 presents some conclusions.

2. Understanding Context

There is no consensual definition about what is context or what it comprises. Context has been described, e.g., as a set of preferences/beliefs, a set of objects in a graphical interface that belongs to a certain region or window where the user’s action takes place, a set of attributes, a set of characteristics of the situation at hand and the knowledge use goals, a set of knowledge pieces related to a particular activity or situation (Brezillon 1999a). In a broader sense, context can be understood as “the interrelated conditions in which an event, action or situation takes place”[1]. Other definitions follow that direction: context can be seen as “a complex description of shared knowledge within which an action or event occurs” (Rittenbruch 2002), or as “whatever does not intervene explicitly in a problem solving but constrains it” (Brezillon et al. 2004).

Although dissimilar, research in the “context” topic seems to agree in two aspects: First, context is regarded as whatever surrounds something, e.g., situation, an activity, an idea, but is not the thing itself. Second, context comprises a set of interrelated elements that keep a coherence relationship, where such relationship brings a particular meaning to the thing, e.g., situation, an activity, an idea.

Several attempts have been made to identify different kinds of context. Brezillon (1999b) and Brezillonet al. (2004) distinguish three main parts of context which can be understood as three major scopes: external knowledge–knowledge not relevant to the situation at hand but shared by group members–, contextual knowledge–knowledge relevant to the situation at hand– and proceduralized context–knowledge concerned with the what is actually happening. Chen and Kotz (2000), distinguish four types of context: physical–lightning, noise level, traffic conditions, temperature–, computing–network connectivity, communication cost, bandwidth and nearby resources–, time–time or day, season– and user context–users’ profile, location, people nearby and social situation. Brezillon et al.(2004) distinguish group, project and individual contexts, and McCarthy (1993) affirms that the contextual dimensions are infinite. However, these classifications of context are general and since we are concerned with groupware design, our interest focuses on the types of context which must be considered at least for this kind of design.

Several experiences in the use of groupware applications have shown the lack of flexibility of these tools to support collaboration in various scenarios (Bardram 1997; Grudin 1994; Ljungberg and Holm1996). Typically, the physical context that describes the physical characteristics of the collaboration scenario and the social context that describe the particularities of the users and the interactions among users, are not considered during the design of a groupware application.The influence of the context elements over the groupware application design is so important that it is really difficult to develop a successful tool without considering these contextual elements. Next section presents the proposed framework that help designers to consider relevant context elements when designing mobile collaborative applications.

3. A Framework of Contextual Elements

Collaborative mobile applications differ from those designed for fixed scenarios mainly becauseof the computing restrictions and the interaction modes imposed by mobile devices, (Tauber and Kaashoek 1997; Brown and O’Hara 2002; Guerrero et al. 2005). The physical environment becomes an important player when designing interaction, because it changes while users move around. As a result, the current situation where users interact with the portable device changes as well (Brown and O’Hara 2002). These particularities add challenging requirements to groupware applications.

Based on the authors experience and in the literature a conceptual framework for designing collaborative mobile applications is proposed. The framework identifies and categorizes a subset of key contextual elements that may be relevant for design. The context elements are organized into eight types of context realms arranged in three layers. The layers follow the software development cycle: conception, analysis and architectural design (Fig. 1).

Fig.1. Design context for collaborative mobile applications

During the conception phase, the context elements in the lower level help the application developer to understand the application requirements from a broader perspective: we must understand the social context where the application will work, the collaborative strategies that the group members will develop and the activities that compose the collaborative main task. The elements in this layer are quite stable in a software development project. In addition, the context elements of this layer restrict the context elements of the upper layers.

A further analysis is carried on in the second layer: for the activities identified, it is necessary to determine the intra group organization, the group organizational context and the physical scenarios where it will take place. Finally, in the third layer, the understanding of all these context elements will influence and restrict the technological choices that implements the collaborative task as well as the interaction style carried on by group members (design phase). These context categories are discussed below.

3.1. Collaborative Task Context

Within the context of collaborative task, application designers must identify some features related with the groupware technology, such as:

  • Communication. Communication is a key issue in groupware applications; it may be synchronous or asynchronous, directed or mediated; public, private or a mixture. For the case of collaborative tasks done with mobile groupware applications, the impact of these communication strategies will depend on the degree of tasks parallelism [Sark03].
  • Coordination. It is necessary to determine coordination policies. For instance, for activities with a high degree of parallelism, a strong coordination mechanism may be required, whereas in joint activities, coordination could be more subtle.
  • Collaboration. It is also necessary to determine the collaborative strategies that the group will follow; hence it is necessary to define the group member roles, floor control politics, negotiation protocols, etc.
  • Criticality: When designing a collaborative mobile application it is important to determine its urgency degree and its importance for the user. These criteria may influence the election of communication and coordination strategies.
  • Complexity: The number of activities comprised in the collaborative application will help to determine its complexity.

3.2. Social context

Social context has acquired more relevance in the recent years. However, it is hard if not impossible to say what it comprises and what does not, because all human actions are ultimately rooted in the social context. For the sake of practicality,we consider some aspects that had been proved to be important in groupware design and provide developers with more information regarding the prospective user: familiarity with IT, work practice tools (e.g. agendas, schedules, etc.), politics for system implementation, readiness to use ITs, previousformal context – law and rules.Regarding social rules and norms, we consider them part of the intra-grupal and organizational realm.

3.3. Activity Context

Typically, a collaborative task can be divided in a set of activities that must be carried out coordinately to accomplish the task [Guer05]. Each activity has its own context, and the issues relevant to consider during the application analysis and design are the following:

  • Mobile/located: When collaborators require moving around in order to accomplish a function or a specific activity, it is necessary to provide mobile support;otherwise the activities are called fixed or located.Mobile activities typically involve wandering, traveling or visiting [Kris00].
  • Synchronicity/Asynchronicity:Group members can execute activities in a synchronous (coupled or joint) or asynchronous (uncoupled, independent or parallel) modes. Hence, activities may be characterized as mobile/coupled, mobile/uncoupled, located/coupled and located/uncoupled or mixed (changes along time). This characterization helps designers to identify the most appropriate type of device and software product for supporting them.
  • Coordination, communication and negotiation strategies: The need for complex strategies for coordination and negotiation as well as the need for high levels of communication will help to determine some restrictions on the portable devices (e.g. require high resolution for the screen or a stable network support).
  • Criticality:Again it is important to determine the urgency of achieving the activity goals and the activity importance for the user.
  • Duration:Except for the case of mobile phones, activity duration in mobile collaboration based on PDAs, notebooks or Tablet PCscan be critical as it could be limited by battery life[Kort01, Guer05]. Although it is possible to carry extra batteries, by identifying activity duration and designing according to it, we may optimize the use of power supply [Chen00, Hakk05].

3.4 Organizational Context

Rosa et al. considers a group and individual context [Rosa03]. In this paper, the individual context is not explicitly considered as we are more concerned with the understanding of group context for applications design. Furthermore, we make a difference between Organizational and Group context. The former comprehends the concerns related with the organization which the application users belongs to (e.g. the university). Among the relevant elements of the organizational context are the following:

  • Organizational Structure (Rigid/Flexible):The organization structure will influence the group needs for coordination, and control policies. A rigid organization requires formal coordination with points of synchronization, but flexible organizations may require a reliable network communication in order to allow group members to react to changes in their environment, and engage in negotiation processes.
  • Demographics: It is also important to understand the users of the application in a broad scope, for instance, their age, gender, race, and language may influence the application design. It may require special support for disabled people, special interface design and interaction for children or the use of a specific language and icons for technical communities (e.g. firefighters).
  • Politics for system implementation: The users’ willingness to use the system is crucial for its success, but it may impose some restrictions regarding schedules, authority, control and power. It is important to define or negotiate a set of policies that facilitates the system implementation in the users’ organization.
  • Collaboration policies/rules/norms: Every organization develops a series of social protocols, policies, rules and norms that regulates their workflow. It is important to identify which are the social rules that may be relevant for the application and consider carefully the consequences of modifying or exploiting such rules.

3.5 Group context

It is hard to define what the group context is. From a broad perspective we may argue that all the contextual elements discussed in this section describe the group context. However, our intention is to focus in aspects that describe the intra-group arrangement in order to guide the application design. Some of these aspects are:

  • Group Size: Small groups are different than larger ones. Research in groupware has pointed out the importance of group size for the success of the strategies of coordination, communication and collaboration. Hence, group size is a characteristic that must be considered when designing collaborative mobile applications.
  • Groupstructure: Although an organization may have a very defined and rigid structure, the organization within the group boundaries may differ. They may need an specific control hierarchy according to the task developed by the group.
  • Roles: In a similar way, although the group is immersed in an organization and satisfy its roles, conventions and norms, the group may decide to create its own social roles, conventions and norms.

3.6. Physical Context

  • Physical Space (comfort). This element represents the availability of a physical space required to deploy a computing device and operate the collaborative application. The smaller/more uncomfortable/more unstable the physical space available, the less likely is to use large or heavy computing devices.
  • Physical Conditions. Physical conditions such as noise, light, number of people around and distracting factors also impose restrictions over the type of user interface to be used for interacting with the collaborative application [Tara03].
  • Communication support. As users are able to move and change locations, they may arrive to places with unreliable communication support or no communication at all. It depends on the geographic areas where users perform their activities.
  • Safety. The safety level of the scenario provides a guideline to find the best computing device to be used during the collaboration process [Tara03].
  • Privacy. This is a context element to consider during the application design because mobile applications are probably going to be used in public spaces [Chen00, Kort01].
  • User Location (positioning). Traditionally in groupware, it comprehends users’ location within the virtual environment and is referred as location awareness. Current technology allows to recognize the users’ actual location in the physical world (e.g. “the user is in coordinates X,Y” or “the user is in the main hall”). Again, whether the provision of user’s location information is important or not will depend on the nature of the activity. For the case of mobile/coupled applications, it could be important for group members to know the location of each other in order to make a decision. In applications where parallelism and users’ mobility prevails, users may want to know each other location for planning encounters.

3.7. Human-Computer Interaction Context

As technology evolves with time, its impact and demands on user cognition increase. Thus, portable devices restrictions must be taken into account for designing an effective user/device interaction. Specific restrictions are briefly described below.