Weiser’s opening statement of his seminal paperThe Computer for the 21st Century [119] places heavy emphasis on the link between successful technology and the ability of the technology to become invisible. Weiser’s vision for ubiquitous computing is heavily user-centric in favour of systems that provide background support in order to free the end-user from ‘using’ technology. Weiser closes this paper with the statement:
“Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as taking a walk in the woods.”
Milner [76] describes this idea as users being embedded in the ubicomp system. Pederson and Surie [88] use the term egocentric to indicate the significant paradigm shift that this aspect of ubicomp introduces. The use of the term egocentric also signifies that the human, body and mind are at the centre of interaction in the ubicomp world.
Fundamental to Weiser’s vision is physical integration of ubicomp systems in the user’s environment, a key characteristic identified and discussed by Kindberg and Fox [65]. To achieve this shift away from the desktop requires that systems are embedded in the physical environment with the result that user interfaces can be distributed in the environment. Embedded sensor technology is a key enabler of this by providing dynamic input that is not solely from the user’s mouse and keyboard. This distributed, embedded input source is matched by embedded actuator technology. The combination of these technologies enables systems to sense end-user needs and respond to them by proactively actuating the physical environment. The result is a user interface, that crosses the boundary of the
physical environment and the digital environment of the computer system. This user interface is not only distributed in the physical-digital environment, but it can also be invisible, i.e. indistinguishable to the user from the physical environment.
It is evident from this description that the state of a ubicomp deployment is impacted by elements of both the physical and digital environments. It can be considered that two entities exist in a ubicomp environment with the capability to proactively alter the state of the environment. The first are the users who can change both their own personal state, e.g. their position, as well as the state of mobile, fixed and embedded devices in the environment. The second is the ubicomp system which can perform actions and instructions on networked and actuatable devices and services in the environment. Ultimately the state of the ubicomp environment, at any given time, is the summative effect of user activity, system behaviour and the physical environment.
One of the most significant changes introduced by this aspect of the ubicomp paradigm is the dynamic spatio-temporal dependency that exists between users, the system and the environment, which can significantly impact the effectiveness and appropriateness of ubicomp system behaviour. This is brought about by the combination of pervasive, mobile and context-aware computing, that together enable ubicomp. There are two specific relationships that are key in this:
1. Pervasive and context-driven computing together introduce an inextricable link between the physical environment and a computing system.
2. Mobile and context-driven computing together introduce tight spatio-temporal dependencies between user activity and system behaviour.
As a result, ubicomp systems must be designed to accommodate both the physical environment and natural user activity and normal work-flows. Physical environments are generally difficult to adjust to any significant extent, without requiring building or demolition work. Users are the centre of the ubicomp environment, and so disrupting their behaviour breaks the ubicomp ideal. Consolvo et al. [30] illustrate this in their discussion on experiences designing the Labscape
system. In their paper, Consolvo et al. state that systems must be designed with consideration for the target environment and end-users, particularly to ensure that the ubicomp system does not disrupt the end-user’s natural work-flow.
For this reason, the term design considerations is defined for use in this thesis, in reference to testing and evaluation of ubicomp systems:
Design considerations refer to entities or aspects of the environment that impact the state of the environment, but that cannot or should not be forced to change in order to resolve problematic behaviour, i.e. the physical structure of the building and the natural activity or work patterns of users.
2.3.1
Categories of Context Aware Systems
Ubicomp systems feature context awareness so they can adjust their configuration, presentation and actions according to context relating to users, entities and the physical environment, and can function without explicit user instruction [5, 86, 7]. Dey and Abowd discuss the characterisation of context extensively in their papers [4, 35]. The resulting well accepted definition of context refers to situations defined bypeople,places and objects:
Context is any information that can be used to characterise the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and the application.
There have been some attempts to categorise the functionality of context-aware systems, notably by Schilit et al. [98], Pascoe [86], Dey and Abowd [36], and Becker and Nicklas [16], who’s taxonomies all share elements in common. For the purpose of this thesis, these taxonomies are summarised using four categories to reflect the commonalities that they share: (A) Presentation of Information and Services, (B) Information Annotation and Selection; (C) Discovery, Configuration and Selection of Resources and Services; (D) Action, Instruction and Actuation, as summarised
in Figure 2.1. This categorisation is used to narrow the scope of this thesis by identifying and defining the target subgroup of context aware systems that are most impacted by the previously identified testing and evaluation challenges for ubicomp systems.
Figure 2.1: Categorisation of Context-Aware Systems
A. Presentation of Information and Services: This category focuses on the issues surrounding user and device interfaces, and appropriate presentation and formatting of information to best support explicit interaction and/or task-centric user actions. Becker and Nicklas [16] provide the example of a navigation system which might adapt its view based on the speed of travel. This is primarily a concern for device interfaces, including mobile, large-screen, shared, private and public displays. As such, this is of lower relevance to the more environment-centric concern of the spatio-temporal relationship that exists between users, entities and locations. For this reason, this category has been ruled out of the scope of this thesis.
B. Information Annotation and Selection: This category focuses on management of information and appropriate selection of information, relevant
to the current contextual situation. In parallel to the advances in sensor technology, context management systems have emerged to gather, manage, evaluate and disseminate context information, making the context aware computing paradigm more feasible [17]. This category is largely concerned with finding and filtering information for end-users, as discussed by Brown and Jones [18]. The issue of finding and filtering information, although necessary to support context-aware systems, is not central to investigating the appropriateness of behaviour exhibited at the distributed interface of ubicomp systems. As discussed by Yeung et al. [122], this is generally handled by the frameworks and middleware that support context-aware system development. For this reason, this category has been ruled out of the scope of this thesis.
C. Resource Discovery and Configuration: This category relates to appropriate use of resources and services when availability changes dynamically in the environment. For example, appropriate selection of wireless connectivity to provide the best quality of service to the end-user. This is an issue that is generally managed below the application level, as mentioned by Rakotonirainy and Groves [92]. As such, this is not part of the general application-level design problem, and is considered outside the scope of this thesis.
D. Action, Instruction and Actuation: This category relates to appropriate actions, invocations and actuations performed by a ubicomp application in the environment and is closely linked to the system’s decision logic. Cook and Das [31] define the decision layer of a smart building application, as the layer responsible for controlling action in the physical layer. The physical layer refers to the actuators and device controllers which can trigger and change the state of the world. This is central to the scope of this thesis because it directly impacts on the spatio-temporal relationship that exists between users and the physical environment. For brevity in this thesis, this category will be referred to as action-based ubicomp systems.
2.3.2
Summary
This section provided a discussion on ubiquitous computing, but placed emphasis on the issues directly related to the interface between physical and digital environments. This section also looked at dependencies this introduces between users, physical space, system behaviour and the temporal domain. Finally, the term design considerations was defined to refer to entities or aspects of the environment that impact the state of the environment, but which cannot or should not be forced to change in order to resolve problematic behaviour.
The second part of this section presented four categories of context-aware systems: Presentation of Information and Services; Information Annotation and Selection; Discovery, Configuration and Selection of Resources and Services; and Action, Instruction and Actuation. These four categories were informed by previously published taxonomies. The relationships of each of the categories to other taxonomies was presented in Figure 2.1. The latter of these categories, referred to as action-based ubicomp systems, was identified as the focus of this thesis. The next section of this chapter looks at the challenges relating to testing and evaluation of action-based ubicomp systems.