How do I design a location-dependent application? - Meneses, Filipe (2001)
The generalisation of the Internet and the recent technological developments in embedded systems and wireless networks contribute to the realisation of a vision where access to information is possible at any moment and from anywhere. This is particularly attractive with information that is relevant to a specific geographic location. Applications that rely on location-based services to provide information to mobile users, or that support interaction with real devices in the user neighbourhood, are called location-dependent applications and enhance the relationship between mobile users and a specific geographic location. However, the design of such applications breaks with the existing paradigms and methodologies as the mobile devices and the wireless communication infrastructures have characteristics that are very different from those of desktop computers and wired communication systems. The Around architecture is an open and extensible framework for location-based services that allows network services to be associated with specific geographic locations. By using this architecture applications can select services that are relevant for specific locations. Within the context of the Around project we have developed a prototype system with multiple location-based services and an application that accesses these services to provide information related to a town transportation system. This paper reports on the design and development of this location-based application. Its design raised several new issues, going from the computational model to the interface paradigm, which are also discussed in this paper. The developed application is composed of several modules: a set of agents which are autonomous units with the knowledge necessary to select and use location-based services in a specific thematic area (e.g. transportation); an HTML output area based on a browser metaphor; and a location-context module responsible for determining the user context. The results show that an application architecture based on a modular approach turns to be very flexible as it becomes very easy to extend its functionality by simply adding or changing the agents that deal with each location-based service.