panOULU Luotsi: A Location Based Information Mash-up ...panOULU Luotsi: A Location Based Information...

4
panOULU Luotsi: A Location Based Information Mash-up with XML Aggregator and WiFi Positioning Hannu Kukka, Timo Ojala, Juha Tiensyrjä and Teemu Mikkonen MediaTeam Oulu, University of Oulu P.O.Box 4500, FI-90014 University of Oulu, Finland {firstname.lastname}@ee.oulu.fi ABSTRACT We introduce panOULU Luotsi, a multi-device location-based information mash-up provided for the users of a large municipal wireless network. XML content in various forms, such as RSS/ATOM feeds from several content providers are automatically merged into a database using a flexible XML aggregator. It allows mapping different heterogeneous information feeds into the database without any changes to the application source code. The location of the user is estimated by identifying the WiFi access point to which the user’s wireless device is currently connected. The information relevant to the user’s current location is imposed on a map for a location-based browsing view, which allows the user to learn about nearby services, sites and events of interest. Categories and Subject Descriptors H.3.5 [Online Information Services]: web-based services General Terms Design Keywords WiFi, wireless, Internet, access, positioning, XML, RSS aggregation, mash-ups 1. INTRODUCTION Different types of pervasive computing technologies have radically altered the way individuals relate to their environments and to one another [5]. The modern mobile user is used to having the information s/he needs at his/her reach anytime, anywhere, through the use of various wireless devices. The mobile user generally does not have a lot of time to spend searching for the information s/he needs, and therefore context- or location based services that provide useful information about the user’s current context would be useful. Further, the services also need to support and be able to adapt to various interaction modalities, device capabilities, and local computing resources [4]. Today the web features a plethora of rich, interactive applications that basically have the same qualities and interaction capabilities as the more traditional software designed to run on personal computers. While the user interfaces and usability of web-based applications have improved by leaps and bounds from the early days of the Internet, the problem of finding the right information easily and quickly in a particular usage context still persists. Furthermore, although search engines such as Google have made navigation and finding relevant information easier, the content is not always in a form that supports end-users’ needs [10]. For example, there is lots of information in the web about hotels or restaurants in our home city Oulu. However, the information is fragmented across several sites and presented in different formats, which may confuse the user. Further, while one site might offer a map on the location of the desired target, another might not, and the user would have to manually enter the address in a map service, thus leaving the service s/he was originally using. We have addressed this problem by developing the panOULU Luotsi (Luotsi ~ Pilot in English) web mash-up, which builds on the aggregation of various information feeds and real-time positioning of the user. So-called mash-up services or web application hybrids effectively combine existing web-based content and services into new aggregate services [12]. A large part of these mash-ups combine some type of information with a map service such as Google Maps, thus providing a location-based view of the information. The rising popularity of mash-up services stems from the current trend of web sites and applications providing their data publicly via well-defined interfaces, which gives developers easy access to data and facilitates new service concepts. As Weiss [11] insightfully remarks, web mash-ups are “… at the same time incredibly innovative and yet – not”, referring to the fact that from the computer science perspective, the underlying technology and practices are not really new. Software developers have been using code snippets, component libraries, and APIs for speeding up application development for decades [2]. The innovation factor comes from the fact that with the new APIs and software tools and wizards, almost anyone can start creating their own mash-up services. Previously these tasks required expert skills in programming and web development. Web mash-ups have received limited attention in the literature. Murthy et al. [6] introduced the ‘mash-o-matic’, which can extract, clean, and combine disparate information fragments, and automatically generate data for the use of mash-ups, as well as the mash-up applications themselves. Wong and Hong [10] presented the Marmite programming tool enabling the mashing up of data from distinct sources on the web. They also developed taxonomy for mash-up applications and evaluated a randomly selected set of popular mash-ups using their inputs, outputs, used APIs and general purpose as metrics. Perhaps the most similar application to Luotsi is Lash-Ups introduced by Brandt and Klemmer [1]. Lash-Ups is a toolkit that enables programmers to create mash-up-like location aware web services for phones. Lash-Ups uses GSM cell tower information as location data, and a web browser for the content delivery and UI mechanism. Lash-Ups is, however, a toolkit geared towards application development, not an application in itself as Luotsi. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. MUM’08, December 3–5, 2008, Umeå, Sweden. Copyright 2004 ACM 1-58113-000-0/00/0004…$5.00. 80

Transcript of panOULU Luotsi: A Location Based Information Mash-up ...panOULU Luotsi: A Location Based Information...

Page 1: panOULU Luotsi: A Location Based Information Mash-up ...panOULU Luotsi: A Location Based Information Mash-up with XML Aggregator and WiFi Positioning Hannu Kukka, Timo Ojala, Juha

panOULU Luotsi: A Location Based Information Mash-up with XML Aggregator and WiFi Positioning

Hannu Kukka, Timo Ojala, Juha Tiensyrjä and Teemu Mikkonen MediaTeam Oulu, University of Oulu

P.O.Box 4500, FI-90014 University of Oulu, Finland

{firstname.lastname}@ee.oulu.fi

ABSTRACT We introduce panOULU Luotsi, a multi-device location-based information mash-up provided for the users of a large municipal wireless network. XML content in various forms, such as RSS/ATOM feeds from several content providers are automatically merged into a database using a flexible XML aggregator. It allows mapping different heterogeneous information feeds into the database without any changes to the application source code. The location of the user is estimated by identifying the WiFi access point to which the user’s wireless device is currently connected. The information relevant to the user’s current location is imposed on a map for a location-based browsing view, which allows the user to learn about nearby services, sites and events of interest.

Categories and Subject Descriptors H.3.5 [Online Information Services]: web-based services

General Terms Design

Keywords WiFi, wireless, Internet, access, positioning, XML, RSS aggregation, mash-ups

1. INTRODUCTION Different types of pervasive computing technologies have radically altered the way individuals relate to their environments and to one another [5]. The modern mobile user is used to having the information s/he needs at his/her reach anytime, anywhere, through the use of various wireless devices. The mobile user generally does not have a lot of time to spend searching for the information s/he needs, and therefore context- or location based services that provide useful information about the user’s current context would be useful. Further, the services also need to support and be able to adapt to various interaction modalities, device capabilities, and local computing resources [4]. Today the web features a plethora of rich, interactive applications that basically have the same qualities and interaction capabilities as the more traditional software designed to run on personal computers. While the user interfaces and usability of web-based applications have improved by leaps and bounds from the early days of the Internet, the problem of finding the right information

easily and quickly in a particular usage context still persists. Furthermore, although search engines such as Google have made navigation and finding relevant information easier, the content is not always in a form that supports end-users’ needs [10]. For example, there is lots of information in the web about hotels or restaurants in our home city Oulu. However, the information is fragmented across several sites and presented in different formats, which may confuse the user. Further, while one site might offer a map on the location of the desired target, another might not, and the user would have to manually enter the address in a map service, thus leaving the service s/he was originally using. We have addressed this problem by developing the panOULU Luotsi (Luotsi ~ Pilot in English) web mash-up, which builds on the aggregation of various information feeds and real-time positioning of the user. So-called mash-up services or web application hybrids effectively combine existing web-based content and services into new aggregate services [12]. A large part of these mash-ups combine some type of information with a map service such as Google Maps, thus providing a location-based view of the information. The rising popularity of mash-up services stems from the current trend of web sites and applications providing their data publicly via well-defined interfaces, which gives developers easy access to data and facilitates new service concepts. As Weiss [11] insightfully remarks, web mash-ups are “… at the same time incredibly innovative and yet – not”, referring to the fact that from the computer science perspective, the underlying technology and practices are not really new. Software developers have been using code snippets, component libraries, and APIs for speeding up application development for decades [2]. The innovation factor comes from the fact that with the new APIs and software tools and wizards, almost anyone can start creating their own mash-up services. Previously these tasks required expert skills in programming and web development. Web mash-ups have received limited attention in the literature. Murthy et al. [6] introduced the ‘mash-o-matic’, which can extract, clean, and combine disparate information fragments, and automatically generate data for the use of mash-ups, as well as the mash-up applications themselves. Wong and Hong [10] presented the Marmite programming tool enabling the mashing up of data from distinct sources on the web. They also developed taxonomy for mash-up applications and evaluated a randomly selected set of popular mash-ups using their inputs, outputs, used APIs and general purpose as metrics. Perhaps the most similar application to Luotsi is Lash-Ups introduced by Brandt and Klemmer [1]. Lash-Ups is a toolkit that enables programmers to create mash-up-like location aware web services for phones. Lash-Ups uses GSM cell tower information as location data, and a web browser for the content delivery and UI mechanism. Lash-Ups is, however, a toolkit geared towards application development, not an application in itself as Luotsi.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. MUM’08, December 3–5, 2008, Umeå, Sweden. Copyright 2004 ACM 1-58113-000-0/00/0004…$5.00.

80

azaslavs
Text Box
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. MUM'2008, December 3-5, 2008, Umeå, Sweden. Copyright 2008 ACM 978-1-60558-192-7 08/12…$5.00.
Page 2: panOULU Luotsi: A Location Based Information Mash-up ...panOULU Luotsi: A Location Based Information Mash-up with XML Aggregator and WiFi Positioning Hannu Kukka, Timo Ojala, Juha

2. MOTIVATION panOULU (public access network Oulu) is a municipal wireless network in the City of Oulu provided by a consortium of five public organizations and four ISPs [7, 8]. As of now, the network totals about 1050 access points (IEEE 802.11), providing indoor and outdoor coverage in locations deemed relevant for public access. The city center and its immediate surroundings are blanketed with a large WiFi mesh network, but otherwise the coverage is provided in hotspot manner. In its coverage area panOULU provides open (no login/authentication/registration) and free (no payment) wireless internet access to the general public, as long as you have a WiFi-equipped device. In September 2008, 15127 devices used the network, totaling 370000 sessions and 13.9 million online minutes. Large proportions, up to 40% in a given month, of the users are visitors – this is determined from the usage patterns and by detecting devices that had not been seen in the network before. The proportion of multi-mode mobile handsets equipped with WiFi radios has been growing steadily so that they make up ~25% of the devices today. The usage of the network is still very much nomadic, not mobile, as only ~5% of sessions can be considered mobile. The main motivation of the panOULU consortium to jointly offer the network as municipal infrastructure is to provide easy and free wireless broadband internet access. It in turn provides access to the vast array of services in the Internet regardless of place and time, which enhances productivity, competitiveness and image. The motivation to develop Luotsi arose from the problem of having a large group of distinct service providers providing vast amounts of data on several sites scattered across the Internet, with no one obvious access point to the information. Thus, the user had to implicitly know what information s/he needed and where to get it from. In many cases the user had to resort to multiple services before acquiring the necessary information. Some providers had made efforts to gather more comprehensive data in their site, but the data set was still rather limited and outdated at times due to the lack of administration. The motivation was equally supported by the increasing coverage and use of the panOULU network. The 15000 users represent a considerable population in a city of 130000 people. Further, thousands of them are visitors, who especially need up-to-date information of the services, places and events in a foreign city.

3. DESIGN AND IMPLEMENTATION Luotsi is a distributed web application with separate interfaces for administrators, end users, 3rd party services offered on the Internet, and server-side components. Figure 1 illustrates the high-level system architecture, which is explained in the following sections.

3.1 WiFi positioning of the user The location of the user is estimated as the location of the access point s/he is currently connected to. The access point is identified by comparing the MAC address of the user’s device to all the MACs currently connected to the network. The service returns the location of the access point in different coordinate systems such as WGS84 or null if the MAC address cannot be found. Typically, the user’s actual location is within a 50 meter radius of location of the access point. This so-called AP ID positioning has several benefits in comparison to other methods such as GPS positioning. First and foremost, it imposes no requirements on the user device. Not all

WiFi devices have built-in GPS modules, nor people want to carry external GPS devices while moving around in an urban environment. Second, AP ID provides the first location estimate very quickly, when it can easily take a minute with GPS. Third, AP ID works also indoors, provided that there is network coverage, whereas GPS generally does not. Also, it is generally easier to navigate in an urban environment such as a city centre than, say, in a forest, since the street grid gives only so many options where to turn. Thus, a rough location estimate is sufficient for navigation.

Figure 1. High-level system architecture of panOULU Luotsi.

3.2 Information aggregation To access the vast amount of distributed information and to bypass the problem of outdated data on different sites, all content into Luotsi is acquired in form of XML-based feeds such as, but not limited to RSS or ATOM. This approach has already been successfully employed in services such as Yahoo! Pipes. However, Luotsi extends the functionality of Yahoo! Pipes by allowing the received content to be displayed on a map directly. Luotsi has an administrator interface that allows any XML-based feed to be registered in the system. The registered feeds are then automatically updated periodically by their provider, thus ensuring that all data is always up-to-date and making the administration of the system easy. Currently, registered feeds include movie listings from Finnkino (the main movie provider in Finland), City of Oulu’s event calendar and news feed, fast food restaurants from kaenkky.com (a local website listing and reviewing all fast food restaurants in Oulu region), service directory and local sights listings from ouluthisweek.net (local service provider producing both online and printed information services), and the latest news from Kaleva (the local main newspaper). Aggregated, these feeds give a very comprehensive directory of services and events that both local people and visitors might need when moving around Oulu. Luotsi also provides a location aware weather report based on a cluster of micro weather stations installed around the city. The weather data provided by the stations is available as a public web service. Luotsi automatically determines the weather station nearest to the user’s current location and displays the data in easy-to-read manner, thus adding another element to the mash-up.

81

Page 3: panOULU Luotsi: A Location Based Information Mash-up ...panOULU Luotsi: A Location Based Information Mash-up with XML Aggregator and WiFi Positioning Hannu Kukka, Timo Ojala, Juha

Figure 2 illustrates the data flow in the system. To address the different presentation formats in the feeds of different providers, we employ an XML aggregator illustrated as the DataMapper in Figures 1 and 2. Effectively, the DataMapper can be regarded as an extension of an RSS aggregator [11] so that it can aggregate any general XML based feeds, not just RSS feeds [12].

Figure 2. Data flow in panOULU Luotsi.

When registering a feed, the administrator receives a parsed presentation of how the feed is formulated (the XML tags). Then the administrator manually maps the attributes to corresponding fields in Luotsi data model. For example, two feeds may describe a place with different XML structures such as <name></name> and <placeName></placeName>. Both are mapped to ‘place_name’ field in Luotsi data model. The mapping needs to be done only once for a feed unless, of course, the structure of the feed changes. The mapping rules are saved in a configuration file. The feeds are retrieved periodically by the Content Retriever, mapped by the DataMapper into Luotsi data model based on the rules in the configuration file and the mapped data is stored in the Database. The Database serves as a proxy (cache), thus making later queries much faster than if the data was always fetched from the individual feeds and mapped on the fly. The Database is a mySQL database with a table structure conforming to Luotsi data model. The data model is flexible to support the needs of varying feed structures. Fields not found from a feed are left blank, and cross-referencing is supported. This is useful if, for instance, an event-item does not have explicit location information (e.g. coordinates), but contains the name or address of the location where the event takes place. A working example of this is movie listings in the Finnkino movie feed, where the location of the movie theaters is not given as coordinates but as names of the theaters in the movie listings, and the names of the theatres are given explicit location information in another feed describing all the Finnkino theatres. The system can then cross-reference the name of the theatre in the movie feed to the physical location of the theatre retrieved from a separate feed and stored in Luotsi database. The theatre is a location and therefore needs to have an exact location. A movie is an event, and can be cross-referenced to a location. Coordinates are also cross-referenced to street addresses and vice versa using the city of Oulu’s geodetic service. If a feed item does not contain exact location information such as coordinates, but contains a street

address, the address can be mapped to a location (coordinates). Similarly, relevant tags of the emerging geoRSS format (e.g. <geo:lon> and <geo:lat>) could be mapped to a location in our data model, although the current content feeds do not use them.

3.3 User interface The user interface illustrated in Figure 3 is implemented with the jQuery AJAX library using the model-view-controller design paradigm. The presentation layer is separated from the application logic stored in separate PHP files that are called from the UI.

Figure 3. Browsing interface.

The layout is divided into two columns so that the left column shows the location of the user and objects of interest as illustrated in Figure 4. The user’s current location is presented by placing a ‘guess circle’ around the icon representing the user on the map, indicating that the user’s actual location is within the guess circle. Object categories are presented with their specific distinct icons, e.g. a plate indicates a restaurant.

Figure 4. Visualization of user location and objects of interest. The map file is retrieved by the MapServiceInterface component from the city’s online map service, which offers an open API for retrieving maps. The map is initially centered at the user’s location, but it can be freely moved in any direction after that. The maps outside the current view are fetched asynchronously in the background, so that when the user moves off the current map view, map loading times are minimized. The map also supports a 4-level zoom, allowing the user to zoom in or out at any point. Luotsi is primarily intended to be used via the panOULU network, which facilitates the AP ID positioning. However, Luotsi is a public web service, and thus can be used via any other access network, as well. If the positioning fails because the user is not connected to panOULU network, the user is asked to enter his/her

82

Page 4: panOULU Luotsi: A Location Based Information Mash-up ...panOULU Luotsi: A Location Based Information Mash-up with XML Aggregator and WiFi Positioning Hannu Kukka, Timo Ojala, Juha

current or desired location manually, e.g. as a street address or pointing a location on the map. Luotsi also employs automatic proximity-based search functionality. This means that once the user location has been established, the system automatically displays five nearest objects on the map. The objects found with the proximity-based search are hidden once the user makes a search for something else. Below the map is a window that can display different information based on the selected tab. Initially, the content area displays the ‘instructions’ tab with general information on the use of the service, but once the user searches for something or selects one of the automatically shown objects, the content changes to either a list of search results, or details on the selected object, respectively. The right column contains search functionalities at the top, with a quick search and advanced search tabs. Below the search box is a window that can show different information based on the selected tab. The first tab contains most recent news items and is automatically selected when user enters the service. The second tab contains the location aware weather report, and the third contains topical information on events in Oulu. The UI works well on full-blown PCs and laptops, on PDA’s and on modern smart phones such as Symbian Series60 phones. We are planning to support a larger set of mobile devices in the future. There is, however, an inherent problem with older mobile devices and their web-browsers, due to their limited or nonexistent support for JavaScript and thus AJAX.

4. DISCUSSION panOULU Luotsi demonstrates how versatile information feeds can be aggregated into a comprehensive service with a simple mapping of XML tags. The robust data model along with the versatile administrative tools make the system highly extendable and simplify the maintenance tasks usually associated with mash-ups aggregating data from varying content types and sources.

The existing information infrastructure is re-used to create a service that caters for the needs of both local people and visitors, giving them a single entry point to quickly and efficiently locate commercial services, social events and other points of interest in an urban environment, as well as follow interesting real-time content such as news or weather reports. The service is available in the Internet at http://luotsi.panoulu.net, and can therefore be used as a reference implementation for other similar applications and projects.

We have been logging the usage of Luotsi since its launch in October 2007. By September 2008, a total of 6658 sessions was recorded, averaging 555 sessions a month. About one third of the sessions are from devices connected to the panOULU network, two thirds from elsewhere in the Internet.

Future work will include supporting a larger set of mobile devices, making the search functionality even more robust, and possibly integration with a guidance service to support route-finding and driving directions. We are also planning on doing a detailed study to assess the usability and usefulness of the service both on mobile devices and laptop computers.

One interesting enhancement to consider is to allow the users to subscribe to receive notifications of nearby points of interest in Luotsi when roaming within the panOULU coverage area. Further, we could allow users to add their own feeds, thus making the service more personalized. Then, instead of getting pre-defined news-items on the front page the user could, for instance,

see updates to their favorite blogs. This, however, would be in contrast with the principal idea of a highly localized service. One idea, received from school children during a demonstration of the service, was to allow schools or children’s sports teams to publish their events through Luotsi. Then parents could subscribe to the events they are interested in, thus creating a communication channel for different communities. A similar idea has been discussed in [3]. Their findings do not support this type of use of mash-up services, however, since the broadcasting of personal information might be seen as too sensitive and invasive.

5. REFERENCES [1] Brandt, J. and Klemmer, S. 2006. Lash-Ups: A Toolkit for

Location-Aware Mash-Ups. In Proceedings of the 19th annual ACM Symposium on User Interface Software and Technology (Montreux, Switzerland, October 15-18, 2006). UIST 2006.

[2] Floyd, R., Jones, C., Rathi, D and Twindale, M. 2007. Web Mash-ups and Patchwork Prototyping: User-driven technological innovation with Web 2.0 and Open Source Software. In Proceedings of the 40th Annual Hawaii International Conference on System Sciences (Waikoloa, Big Island, Hawaii, January 3-6, 2007). HICSS-40.

[3] Goodman, E. and Moed, A. 2006. Community in Mashups: the Case of Personal Geodata. In Proceedings of 20th ACM Conference on Computer Supported Cooperative Work (Banff, Alberta, Canada, November 4-8, 2006) CSCW 2006.

[4] Lee, C., Helal, S., Lee, W. 2006. Universal Interactions with Smart Spaces. IEEE Pervasive Computing 5(1):16-21.

[5] Mitchell, W.J. 2003. ME++: The Cyborg Self and the Networked City, MIT Press.

[6] Murthy, S., Maier, D. and Delcambre, L. 2006. Mash-o-matic. In Proceedings of 6th ACM Symposium on Document Engineering (Amsterdam, The Netherlands, 10-13 October 2006). DocEng 2006. 205-214.

[7] Ojala, T., Hakanen, T., Makinen, T., and Rivinoja, V. 2005. Usage analysis of a large public wireless LAN. In Proceedings of 2005 International Conference on Wireless Networks, Communications and Mobile Computing (Maui, Hawaii, June 13-16, 2005). WirelessCom 2005. 1:661-667.

[8] panOULU network. http://www.panoulu.net/

[9] Weiss, A. 2005. The Power of Collective Intelligence. Networker 9(3):16-23.

[10] Wong, J. and Hong, J. 2007. Making Mashups with Marmite: Towards End-User Programming for the Web. In Proceedings of 25th ACM Conference on Human Factors in Computing Systems (San Jose, California, April 28 – May 3, 2007). CHI 2007. 1435–1444.

[11] Rose, I., Murty, R., Pietzuch, P., Ledlie, J., Roussopoulos, M., and Welsh, M. 2007. Cobra: Content-based Filtering and Aggregation of Blogs and RSS Feeds. In Proceedings of 4th USENIX Symposium on Networked Systems Design & Implementation (Cambridge, Massachusetts, April 11-13, 2007). NSDI’07. 29-42.

[12] Tufte, K. and Maier, D. 2001. Aggregation and Accumulation of XML Data. IEEE Data Engineering Bulletin, 24(2): 34–39.

83