Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The creation of smart environments that are adaptive and responsive to the context in which they are being used, and mainly characterised by the fusion between physical and virtual environments, has been one of the strongest ideas in the field of Ubiquitous Computing. According to this view, physical environments will be equipped with visual, audio and many other types of sensing systems, pervasive devices and networks, allowing users to interact with such environments in a more efficient, more informed, or simply more enticing manner [8, 15].

The ability to build sophisticated smart environments that respond and react to users mainly depends on the ability of the underlying infrastructure to provide the appropriate system support to create applications and bring together the entities in the environment that are needed to create that support. This has lead to the development of generic infrastructures that aim to support the transparent management of the relevant resources in the physical and virtual environments, while providing application developers with an integrated execution environment and programming abstractions that enable them to create new applications without having to consider the details of the underlying infrastructure [20].

Despite the significant advances in areas such as wireless communications, personal devices, global computing, sensors technology, computation and storage power, we have not yet reached this vision [6]. There seems to be two prevailing problems that cut across existent approaches for system support for Ubiquitous Computing. The first one is concerned with the exact definition of the appropriate type of system support to be offered to applications. Without well-established applications and reference scenarios, it is very difficult to identify and prioritise requirements for system support for Ubiquitous Computing. Without a rich and operational infrastructure it is very hard to create an integrated environment where meaningful applications may emerge [21]. The second problem is concerned with the inherent challenges posed by evaluating systems that are designed to be seamlessly integrated into our everyday lives [7]. Human activity is very dynamic and subtle, and most physical environments are also highly dynamic and support a vast range of social practices that do not map directly into any immediate service needs. In those cases, identifying what is valuable to people is very hard and obviously leads to great uncertainty regarding the type of support needed and the type of resources needed to create such support [21].

We have addressed the issues of Ubiquitous Computing systems development through the adoption of a Crowdsourced software development model [13]. We have design and developed Anywhere places, an open and flexible system support infrastructure for Ubiquitous Computing that is based on a balanced combination between global services and applications and situated devices: global services and applications provide functionality that can be relevant anywhere, thus obviating the need to create dedicated services on a case-by-case basis; situated devices, such as displays, networks, and mobile phones, provide context and enable meaningful links between global services and the physical environment. Additionally, it also offers users a more active role in handling the connections of the system and the consequent ambiguities that may arise, with the most important example being the association of users, users interactions, services and applications with particular situations [21].

The second problem, however, remains an open one. The evaluation of system support for Ubiquitous Computing environments is very difficult because we cannot find globally accepted metrics and because it is very difficult to evaluate large-scale and long-term environments in real contexts [23]. Moreover, traditional evaluation techniques such as laboratory studies allow researchers to study specific aspects of the system, but are not satisfactory to evaluate the use of technology in real contexts over time [7].

Simulated 3D environments offer an interesting solution to immersive prototyping as they can provide an alternative for an initial evaluation of the system, enabling people to experience the functionality of different Ubiquitous Computing environments, and provide a fast track to develop virtual worlds that replicate the type of environments that needs to be prototyped [17, 19, 24]. Moreover, as stated in [5], “The similarities between virtual worlds and ubiquitous computing environments warrant extrapolating issues from virtual worlds to a world of ubiquitous computing.This extrapolation is particularly useful because virtual worlds are both presently observable and populous enough to allow for the observation of potential emergent behaviour Footnote 1 .

In this paper, we describe a first proposal of an hybrid prototype of Anywhere places that combines simulated and real components to generate a mixed reality which can be used to assess the envisaged ubiquitous computing environment [17]. We will focus on the definition of the main characteristics of the Anywhere places prototype and the evaluation goals.

2 Prototypes of Ubiquitous Computing Environments

As stated above, the evaluation of system support for Ubiquitous Computing is very difficult because we cannot find globally accepted metrics and because it is very difficult to evaluate large-scale and long-term Ubiquitous Computing environments in real contexts.

The prototyping and evaluation of ubiquitous computing environments may be said to have followed three main approaches. One that is focused in the development of real world controlled prototypes, mainly performed in the laboratory, a second that is focused on rapid iterative prototyping platforms and toolkits, and a third that is focused in the use of simulation platforms for prototyping Ubiquitous Computing environments.

In the first category, the most influent works on system support for Ubiquitous Computing environments have focused the evaluation on the functionality offered by the middleware [3, 4, 11, 12, 14, 22, 25]. The main objectives were focused on uncovering the main middleware services and components that should support the design and development of specific Ubiquitous Computing settings, e.g. at home, at work, at a shopping environment, or at hospitals. Researchers have not been particularly well succeed in porting the solutions outside the laboratory, mainly because of the lack of support to accomplish diverse physical boundaries of any functionality and, in that way, accommodate for various notions of smart environments on the same physical environment [20].

In the second category, graphical toolkits allow for end-users to build Ubiquitous Computing applications for a particular instrumented environment, without requiring them to write any code. Although not as expressive as existing programming systems, such platforms allow end-users to define application behaviour exerting control over sensing systems [9, 10].

In the third category, immersive prototypes within simulated 3D environments allow for rapid development and evaluation of Ubiquitous Computing environments in the early stages of the development life cycle [1, 1719, 24]. This category has produce important knowledge on the definition of the design space of immersive prototyping for ubiquitous computing and its alignment with specific evaluation goals [17].

In our approach we intend to integrate a Ubiquitous Computing platform (the Anywhere places platform) with a 3D simulator, providing the functionally to create 3D simulations of Ubiquitous Computing environments. Our prototype will accommodate for various notions of Ubiquitous Computing environments on the same physical environment, equipped with a diverse set of physical resources that will be shared cross multiple environments.

3 The Anywhere Places Platform

Currently, Anywhere places is a web platform that coordinates, under the unifying concept of Place, interaction from local resources and application logic from applications. The concept of Place mainly focuses on defining the execution context for applications and interactions. A place generates content, such as place sessions, resources and active applications. Additionally, we also include common content types, which may be found in classical Ubiquitous Computing environments, such as documents, photos, messages, presences, location and interaction information obtained through a wide set of resources with different characteristics and providing different stimulus. This focus on data provides the main path towards interoperability between the functionality offered by multiple applications.

Fig. 1.
figure 1

Anywhere places Platform.

Figure 1 provides an overview of the Anywhere places platform. This architecture supports the adoption of a Crowdsourced system software development model. This model brings together system architects, physical resources owners, application developers, place owners and end-users into an open collaboration that is able to generate new added value for all the parties involved. These actors operate in the different constructs of the software development model that are explained below: Kernel services and Peripheral services [13].

  • Kernel Services: Kernel services, instantiated in the Service and Content layers, are responsible for managing all the information about places and the associated applications, and they are the element that glues the other elements into an integrated execution. Kernel services handle sensing and interaction information associated with places and enable the development of situated applications based on that data space. Place creators, or Ubiquitous Computing authors, can attach an open-ended set of applications to places, enabling a broad range of place-centric content to be generated and exchanged as part of the usage in that place. The nature of requirements for Kernel services are not so related with end-user perceived functions, but are normally determined by the system architects who are proposing the system and its abstractions.

  • Peripheral Services: Peripheral services deliver the majority of end-users value. In Ubiquitous Computing, examples may include sending a SMS to the environment or being detected by a Bluetooth scanner, and visualising the context of that particular Ubiquitous Computing environment. There are two types of peripheral services: the local resources and the place-based applications. A local resource (Interaction Layer) is any type of device or service that is associated within the place setting and supports some form of sensing or interaction within the place. Place-based applications (Application Layer) offer functionality directly to end-users within the context of a particular place by leveraging on the respective content and local resources. The process of selecting the mix of applications that will be associated with any particular place provides a flexible mechanism for bringing into a place the most appropriate combination of functionality, possibly without having to create any new applications. Anywhere places’ applications are developed by third-party developers and hosted somewhere on the web. They use the Anywhere places API to consume and generate place-sensitive content.

For example, consider a physical space, such as the city, including different facilities, equipped with sensors and other resources such as displays, location systems and other types of ubiquitous resources. We may envisage a model that would allow the creation of particular places, integrating a subset of available resources and globally available applications, that would adapt their behaviour to situated user interactions within the place: a check-in application that would discover available places and allow for user presence registration into a specific place; an advertisement application that adapts content to the place’s environment (number of users, type of place, for example) [16] or a digital public notice application that collects information from local users [2].

3.1 Anywhere Places Evaluation Goals and 3D Simulation Prototype Characteristics

Our objective is to conduct a developer-centric evaluation of the Anywhere places platform as we intend to evaluate how easy it is for place creators to create a specific Ubiquitous Computing environment, and a user-centric evaluation as we intend to evaluate the degree with which users perceive the concept of Place as a high-level representation of physical space that accommodates diverse Ubiquitous Computing environments functionality and user interactions. Our evaluation goals are thus the following:

  • To which extent the concept of Place allows for the definition of high-level space representations that accommodate the diversity of possible Ubiquitous Computing environments.

  • To which extent physical resources may be explicitly associated to a place and be shared by diverse Ubiquitous Computing functionality in the physical environment.

  • To which extent the appropriation and recombination of simple applications created for places, in different ways in a Place, may offer more meaningful and diverse functionality to users in the physical space.

  • To which extent the concept of Place accommodates applications that span several places, building on local resources but offering a wider functionality.

  • To which extent the concept of Place frames the interpretation of implicit or explicit user interactions with physical resources offering the adequate execution environment for user actions in a particular situation.

Building on the work in [17], where analysis dimensions for immersive prototyping are introduced, we present a first characterisation of the Anywhere places and envisaged ubiquitous environments simulation prototypes. Considering that currently our main goals are to evaluate the main Anywhere places system concepts for supporting the creation of diverse Ubiquitous Computing functionality, the most relevant dimensions are 3D modelling and simulation, Hybrid prototyping, Controlled environment manipulation and Multi-user support.

  • 3D Modelling and Simulation. We intent to provide a mean for space owners to construct ubiquitous environments that provide functionality to the environment visitants. However the establishment of different types of ubiquitous environments at large scale for evaluation purposes represents a significant cost both at monetary and logistic levels. The capability to build virtual spaces enhanced with virtual sensors, public displays and personal devices is then essential to our work. The complexity of physical resources and their communication properties, such as communication models, availability or communication protocols, are not the main characteristics to be considered in our prototypes. A realistic simulation should mainly consider the type of user interactions with the available devices and the type of data they provide to the ubiquitous environment.

  • Hybrid Prototyping. Our prototype should combine simulated and real components to generated a mixed reality which can be used to assess the Anywhere places system and the ubiquitous environments created on top of it. In particular, we intent to integrate in the simulated environments the Anywhere places platform functionality as well as external Web applications that execute somewhere in the Web. Virtual personal devices and sensors in the simulated environment will react to users interactions and communicate interactions data with the Anywhere places platform. On the other hand, Web applications and services will use that data to produce information to users in the simulated environment.

  • Controlled Environment Manipulation. We need to attach behaviour to the main system objects such as a variety of sensors and other hardware devices such as bluetooth devices, personal devices, printers or displays. In particular, we should be able to define the behaviour of system objects in the perspective of the type of data generated by user interactions and sent to the Anywhere places platform. The most common method for expressing behaviour is programming it through the use of scripts [17].

  • Multi-user Support and User Driven Interactions. An important feature to be addressed in our prototype is the ability for multiple users to explore the ubiquitous environments, creating the conditions for ubiquitous environments and ubiquitous platforms testing and evaluation. Supporting multiple place owners that share resources and simulated or real components for reuse in the construction of different ubiquitous environments, enables evaluation of their behaviour and mental models, but also evaluation of the Anywhere places platform. Supporting multiple place users enables evaluation of their interactions with the physical environment and of the overall ubiquitous environment’s behaviour.

3.2 Simulation the Anywhere Places Framework with the OpenSimulator Environment

The OpenSimulator environment has already been explored for creating 3D simulations of Ubiquitous Computing environments [1, 17, 24]. We have undertaken the first steps towards the integration of OpenSimulator, an open source multi-platform, multi-user, 3D application server, with the Anywhere places platform. The OpenSimulator environment supports the connection of multiple real users and enables the evaluation of user driven behaviour and user driven interactions within the environment, supports the use of programming scripts to express the behaviour of different objects such as ubiquitous computing resources, and combines simulated and real components.

Fig. 2.
figure 2

Simulation of an ubiquitous environment.

We have created a very simple ubiquitous environment 3D simulation in OpenSimulator, as shown in Fig. 2. The physical environment was augmented with three resources that consist of a public display, a bluetooth presence detector and a person’s mobile phone (every avatar can pick a mobile phone). The ubiquitous environment corresponds to a set of ubiquitous functionality within the boundary defined by a place in the Anywhere places platform. The place aggregates physical resources, user interactions and functionality.

Resources correspond to OpenSimulator objects, which behaviour is programmed by LSL (Linden Scripting LanguageFootnote 2) scripts. These scripts detect users interactions with the environment, such as an avatar arrival or mobile phone interactions, and send user interaction descriptions to the Anywhere places platform. We have associated with the place two applications which provide the ubiquitous environment functionally: a Web application that shows place-based relevant content (displaying presence information, as an example), and a mobile application that displays placed-based content to the avatar according to user requests. Applications are global and run on specific servers, but executing in the place’s context. Users correspond to OpenSimulator avatars which behave according to the corresponding real user actions such as entering in the place’s boundary.

4 Conclusions

In this paper we have addressed the problem of evaluating ubiquitous computing environments. We described Anywhere places, an open and flexible system support infrastructure for Ubiquitous Computing that is based on a balanced combination between global services and applications and situated devices, and defined our evaluation goals for the platform. We advocated that Simulated 3D environments offer an interesting solution to immersive prototyping as they can provide an alternative for an initial evaluation of the system. We then discussed the main characteristics of the Anywhere places and the main characteristics of the envisaged simulation prototypes of Ubiquitous environments. Based on these characteristics, we have undertaken the first steps towards the integration of OpenSimulator, an open source multi-platform, multi-user 3D application server, with the Anywhere places platform, which will be the basis for the construction and evaluation of different ubiquitous environments.