Developing Map-Based and Location-Aware Collaborative Applications for Mobile Users

Developing Map-Based and Location-Aware Collaborative Applications for Mobile Users

Markus Endler, Marcelo Malcher, Juliana Aquino, Hubert Fonseca, Allan Valeriano
DOI: 10.4018/978-1-61520-655-1.ch041
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Map-based and location-aware collaborative applications allow geographically distributed and mobile users to communicate and share different kinds of location-based data among themselves, such as geo-referenced annotations or other user’s position. Although many of such applications share a good amount of common functionality, most of them are developed from scratch, or are tailored to a specific mobile platform using proprietary libraries, which limit their applicability. The use of middleware platforms and application frameworks is a means for achieving platform-independence and software reuse, and hence support efficient application development and service provisioning. The main goals of the chapter are to discuss the challenges and requirements related to development of such applications and to present prototypes of a middleware and application framework addressing these requirements. The system described in this chapter is based on Google’s Android platform and has been designed to support flexible configuration, dynamic adaptation, and deployment of modular map-based collaboration services, so as to simplify the development of customized applications out of reusable components.
Chapter Preview
Top

1. Introduction

The confluence of several recent advancements in design of portable devices, cloud computing, sensor technologies and mobile network technologies, as well as the emergence of new forms of mobile user interactions are leveraging new forms of collaboration between users. These include presence- and location-sharing, map-based, geo-tagging, and proximity services, multimedia interaction and mobile social networking. In a near future, users will use their portable devices and smart phones for almost any of their daily communication and coordination tasks, both for business and leisure.

Following this trend, several new collaborative mobile applications for portables are being developed which take advantage of enhanced computing facilities, wireless interfaces, and several kinds of sensors built into these devices, such as GPS and accelerometer. These applications allow geographically distributed users to instantly communicate and share different kind of data among themselves. For example, users are able to share geo-referenced annotations, presence information, music and live video streams, etc. or visualize other user's location on maps displayed on their mobile device in real-time.

Although many of such applications share a good amount of common functionality, most of them are developed from scratch, or are tailored to a specific mobile platform using proprietary libraries, which limit their applicability. The use of middleware platforms and application frameworks is a means for achieving platform-independence and software reuse, and hence support efficient application development and service provisioning. Major considerations driving the development of middleware platforms for mobile collaboration are built-in support for flexible composition and reuse of services, context-awareness, cross-layer and distributed resource management, as well as run-time configurability and adaptation.

In the scope of the Mobilis Project1, we have proposed a component-based middleware architecture that supports the development of mobile collaborative applications that feature real-time sharing of context information, specifically the user's location, and for obvious reasons use maps as their predominant user interface. Hence, we call these sort of applications MLCAs (Map-based and Location-aware Collaborative Applications). Typically, a MLCA is a mobile application (a.k.a. client) which uses specific communication and data sharing services that execute on remote servers of the wired network, i.e. cloud services, instead of establishing direct, ad hoc wireless connections among the user's mobile devices.

In order to illustrate the potentials of a MLCA, and highlight some application-specific requirements, we will adopt the following use case as the reference scenario throughout this chapter.

Using a MLCA, a group of tourists visiting a city can share and search for points of interest (POI) on the city map, e.g. nearby restaurants, museums, beaches, landmarks, etc., which they visualize through their GPS-enabled smart phones. In addition, each user's location is also shared among all group members, and can be visualized on their digital maps in real-time. Moreover, members can create new POIs, attach different sorts of data to them such as textual keywords (tags), descriptions, pictures, videos, and share the newly created POI with the group in real-time. Such application allows the group to split into sub-groups for visiting different touristic attractions but still remain constantly aware of the other group member’s activities. Furthermore, POIs can be persisted in a content network and be made available to other tourist groups.

Our middleware architecture has been designed to support flexible configuration, dynamic adaptation and modular deployment of map-based collaboration services, so as to simplify the development of customized MLCAs out of reusable components. As a concrete result of this project we designed and implemented prototypes of a middleware and application framework for MLCA clients based on the Android platform (Google, 2007a). This platform is open source and provides several APIs that well support the development of MLCAs for mobile devices. Based on our prototype, we also developed some examples of map-based collaboration services aimed at several application domains such as tourism and off-road sports.

The main goal of the chapter is to discuss the challenges and requirements related to development of MLCAs and to present a concrete engineering solution addressing these requirements. Based on this solution, we also present a middleware and application framework prototypes.

Key Terms in this Chapter

Dynamic Adaptation: The ability of a computing system to autonomously modify its behavior during its execution.

Mobile Collaboration: A means by which users of portable computing devices can communicate, share information or coordinate their actions.

Location-awareness: When a computer system uses the information of its location to shape its behavior or service.

Component-Based Middleware: A middleware based on the notion of software components that can be connected through their interfaces.

Cloud Services: Parallel processing and data storage resources provided as a pay-per-use service through clusters of computers.

Map-Based Application: A computing application, where digital maps plays an important role in the user-computer interaction.

Complete Chapter List

Search this Book:
Reset