UrbanWeb: a Platform for Mobile Context-aware ... - Interactive Spaces

3 downloads 77155 Views 893KB Size Report
Jun 16, 2010 - model, but can be added when the developer needs to specify the context. ... plemented with PHP 5 and MySQL as the storage backend. The.
UrbanWeb: a Platform for Mobile Context-aware Social Computing Frank Allan Hansen

Kaj Grønbæk

Center for Interactive Spaces Dept. of Computer Science, Aarhus University Åbogade 34, 8200 Aarhus N, Denmark

Center for Interactive Spaces Dept. of Computer Science, Aarhus University Åbogade 34, 8200 Aarhus N, Denmark

[email protected]

[email protected]

ABSTRACT UrbanWeb is a novel Web-based context-aware hypermedia platform. It provides essential mechanisms for mobile social computing applications: the framework implements context as an extension to Web 2.0 tagging and provides developers with an easy to use platform for mobile context-aware applications. Services can be statically or dynamically defined in the user’s context, data can be pre-cached for data intensive mobile applications, and shared state supports synchronization between running applications such as games. The paper discusses how UrbanWeb acquires cues about the user’s context from sensors in mobile phones, ranging from GPS data, to 2D barcodes, and manual entry of context information, as well as how to utilize this context in applications. The experiences show that the UrbanWeb platform efficiently supports a rich variety of urban computing applications in different scales of user populations.

Categories and Subject Descriptors H.5.4 [Information Interfaces and Presentation]: Hypertext/Hypermedia. H.3.5 [Online Information Services]: Data Sharing, Web-based Services.

General Terms Design, Experimentation, Human Factors.

Keywords Urban Computing, Social Computing, Mobile Web, Contextawareness, Physical Hypermedia, Geo-spatial Hypermedia, Multimedia Blogging.

1. INTRODUCTION While the advances on the mobile Internet are promising access to information on the Web from anywhere, at anytime, and on any device, it has become evident that mobile devices do not support the same ease of interaction as we have come to know and expect from desktop computers. This is mostly due to these devices’ 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, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. HT’2010, June 13–16, 2010, Toronto, Canada. Copyright 2010 ACM.

smaller screen sizes and limited input capabilities, resulting in less than optimal user experiences when e.g., accessing Web services through the traditional interfaces. Furthermore, a user is never anywhere, anytime, or using any device. We are always at a specific place, at a certain time and using a particular device, i.e., our activities are anchored within a physical and digital context, which changes as we move about or engage in different activities. We focus in this paper on how to develop mobile, context-aware urban computing applications and we present the design and usage of a framework, UrbanWeb, which supports development of this type of applications. Urban computing [8][24] focuses on social interaction and design of computer systems for use in urban areas where users are working, living, or maybe just visiting and thus have different needs for information and services. Urban computing shares many qualities with Web 2.0 applications, but also has an inherent focus on mobile computing and context sensitive applications in order to support and integrate these applications with the users’ activities and the urban environment. Specifically, we discuss applications that support mobile social media, locative storytelling, and mobile learning and which have been developed with the framework primitives. The framework is designed to provide a lightweight Web-based infrastructure for mobile applications. Web-based is to be understood in the sense of W3C’s “One Web” [16] and UrbanWeb uses standard HTTPbased services as the underlying infrastructure and protocols, whereas applications utilizing the services may range from HTML based Web applications, to Web widgets, and native mobile phone applications.

2. URBAN COMPUTING APPLICATIONS Various mobile services and application can be described as supporting the urban computing paradigm. Some of these are information applications that support some kind of digital-physical linking. Several systems have used 2D barcodes (visual tags) to link information to the physical world, e.g. the Active Print project [17] links content from the BBC TV series ‘Coast’ to about 100 different locations around the UK coastline, the Marunouchi Ubiquitous Museum links to historical and cultural information from 2D tags placed in a modern business district in Tokyo [14], and Semapedia [23] uses Data Matrix codes, placed on things and places, to link to descriptions on Wikipedia. Some mobile applications are more work related e.g. by supporting location-based blogging that let users document events and share them in a meaningful manner, e.g. Micro-blog [9] or Ya-

hoo’s ZoneTag [1] which both support location tagging of blog posts or media. Other applications may support learning activities where students can engage in mobile learning that uses the environment as a realworld backdrop. Systems for mobile and context-aware learning, like the uLearn [15] system, share many similarities with social media system, in that students should be able to both retrieve information and produce materials in-situ, while solving assignments. While blogs are mostly used as a social media, the technology is well equipped for learning contexts as well. For instance, ContextBlogger [5] combines blogs with contextual metadata (GPS locations) in order to support mobile learning in context and integrate both formal and informal learning processes. HyConExplorer [10][13] is another system that have been designed for a learning context, and that supports both external web pages and user created media annotation, which are linked to physical locations, through contextualized links. Another category of mobile urban applications seek to provide new experiences of the urban environment e.g. through location based media or storytelling. For instance, HP Labs in Bristol has developed a prototype technology called Mediascapes [25], which are location-aware multimedia experiences that allow users to trigger pre-authored multimedia content based on their GPS position. Parry et. al. [19] also discuss their experiences with “locating drama”, where users can experience an audio drama by moving around in a physical area, and Paay et. al. [18] discuss the prototype design of a location-based story, where the real urban environment is used as a backdrop for the storytelling. This latter example is related to the work of this paper (see section 5). In the remainder of this paper, we will discuss these aspects and how they are supported by the UrbanWeb framework, and also how they are used in a number of mobile urban computing applications that we have developed with the framework.

3. CONTEXT FOR MOBILE SERVICES In order to provide generic support for context-awareness in mobile services and applications we need to define what we mean by context. Several previous definitions have been given in the literature; When first introducing the term of context-aware computing in 1994, Schilit et al. listed three important aspects of context: where you are, whom you are with, and what resources are nearby [21]. Schilit et al. defined context as a location and its dynamic collection of nearby people, hosts, and devices. A number of similar definitions exist that all try to define context by enumerating examples of context elements [3][6][20]. However, as discussed by e.g. Dey [7], these types of definitions may be too specific and hard to apply when trying to define general support for contextawareness: e.g., how is it decided whether a type of information can be regarded as context if it is not listed in the definition, and how does a system handle new types of contexts if its design is based on a fixed set of types? Later, definitions of context became more general. Schmidt et al. [22] use the following definition: “[Context is defined as] knowledge about the user’s and IT device’s state, including surroundings, situation, and to a less extent location.” Chen and Kotz [4] define context as “the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user”. Similarly, Dey [7] provides the following definition: “Context is any information that can be used to characterize 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 application themselves.” When used as guidelines for implementations, these definitions stress that systems should be able to handle many heterogeneous context-types while still support developers in specifying and implementing applications that utilize specific types of context that are relevant for their specific application.

3.1 A Light-weight Model for Context and Context-awareness The conceptual model for context and context-awareness, which is used in the UrbanWeb framework, takes its outset in the previous definitions of context discussed above. Especially the operational definitions that emphases that context is the set of both digital and physical variables that are relevant for the interaction between the user and the system (e.g. the definitions by Chen and Kotz [4] and Dey [7]). These definitions implies that it is important to model context as a generic construction that can capture context-data in its many different forms (i.e. on the framework level), but at the same time it should be relatively easy for developers to specify specific types of data that are considered as relevant context information for a given application or service.

3.1.1 Modeling Context We have in our earlier work experimented with context models for hypermedia systems that have been object-oriented (the HyCon hypermedia model [11][13]) and a structural computing approach based on templates and structured objects (the HyConSC model [2]). Based on experiences with both of these approaches, we have created a more lightweight model for the UrbanWeb framework. In UrbanWeb, context is modeled as an extension to the notion of Web 2.0 tagging, i.e., all context attributes are tagged onto the objects they describe. We have achieved this by using structured objects like the HyConSC model, but have removed the need for templates that predefine the structure of classes of objects. This results in a very lightweight model, which supports easy prototyping and context definition on runtime. Conceptually, resources in UrbanWeb can be described as a set of properties. Each property consists of a name, a type, and a value. Some of these properties may be used to describe the internal structure of an object, i.e. to model the object, while other properties describe the resources’ external properties, i.e. their context. In this way resources are modeled by a completely uniform interface of properties. As a consequence, a single class of objects models all resources. These objects have a unique ID, some metadata common to all resources, and a set of properties that can be tagged onto the objects as needed. If a resource e.g. has a physical location that can be described by a GPS-coordinate, a direction that can be described by compass data, or an ID that can be retrieved from an RFID-TAG or 2D-barcode, these data can be added as properties to the object in order to describe the context of the resource as illustrated in Figure 1. The important aspect of this approach is that none of these properties are hard-coded into the model, but can be added when the developer needs to specify the context. And this can happen even on runtime.

3.1.2 Context Matching While modeling resources and their context is very important, we also need to add context-aware functionality to the services and applications in order to utilize the context data. A general class of context-aware functionality that supports association of contextinformation with data is very well handled by our context model as discussed above. Other classes of functionality that focus on

contextual augmentation, i.e., on presenting relevant service and information to the user is the main functionality that is provided by the UrbanWeb framework and is handled by context matching. Context matching is a function that given a context instance can find resources that have a similar context. Similarity is in this case defined as the same set of properties with the same values or values within a certain range of the target value.

exhibit a Web interface to their functionality. This approach has several advantages: first, it is easy to reuse existing functionality since this is encapsulated and implemented on the component level, and secondly, a component may have several different services that use its functionality, but provide different interfaces or data formats to the clients. By implementing multiple interfaces we are able to support a “One Web” approach [16] to the UrbanWeb service functionally. This means that it has been easy to support clients ranging from pure browser-based clients to Web Widget based applications and “native” applications developed with e.g. Java Micro Edition. Context information is handled at the application-level in UrbanWeb. While the framework has the capability to model and represent context, the actual measurement of sensor data that is used as cues for describing the context is handled by the applications themselves. This may include acquiring location information from a GPS, using a Bluetooth location infrastructure or scanning an RFID chip or 2D-barcode TAG.

4.1 Model Implementation The UrbanWeb data model (illustrated in a simplified version in Figure 2) is one of the core components in the framework and is used across all services. The model provides support for the context-ware functionalities discussed in Section 3:

Figure 1: Context modeling and context matching. As an example of this, consider the scenario in Figure 1. The figure illustrates a case with two unique resources, Resourcea and Resourceb that both have a set of properties describing their context: (C1, C2, C3, C4, Cm) and (C1, C2, C3, C4, Cn). The user’s application has measured its current context to include the properties (C1, C2, Cn). To find out which resources are relevant in the current context, the user’s measured context is matched against the resources’ context. This is done either by requiring that all context properties should match (i.e. an AND query and a very precise match) or by requiring that any of the properties should match (i.e. an OR query). In the example in Figure 1 the ‘any’ query would return both resources, Resourcea and Resourceb, since both match context properties C1 and C2. On the other hand, an ‘all’ query would only match Resourceb as this is the only resource that has a context described by the all the properties (C1, C2, Cn). Resourceb is returned even though it has more context properties than described in the user’s measured context (for example C3 and C4). However, this just means that the resource’s context is described more detailed than the user’s context or that it is modeled by a number of properties that are not part of its context, and thus, this does not influence the context match. The tagging model and the context matching is the core of the UrbanWeb framework and gives developers an easy yet powerful platform to develop mobile, context-aware Web services.

4. THE URBANWEB FRAMEWORK In its current implementation, the UrbanWeb architecture is implemented with PHP 5 and MySQL as the storage backend. The framework consists of a basic data model (which we discuss below) that handles persistence through a custom Data-Object interface to the underlying database. All services use this basic data model, as it also implements the context tagging mechanism. Services in UrbanWeb are implemented as components, which



Context modeling. A dynamic tagging model that supports freeform tagging and dynamic addition of properties on classes of objects, even on runtime.



Context-aware functionality. Integrated context matching implemented as part of the model.

Free persistence. The Data-Object implementation provides a convenient interface to the underlying database. Services implemented with the framework get the above for free. •

Technically, the model is based around a single PHP class, the UrbanWeb_BaseObject. The UrbanWeb_BaseObject provides the modeling primitives for resources and context information: a Universally Unique Identifier (UUID) that identifies a resource within the system, a number of meta data attributes, including creator information and timestamp information for creation and last access and a content property that makes it easy to create text-typed resources such as document resources or annotation resources. Some resources may reference other materials such as pictures or videos that are stored on the file system or on the Web. Each UrbanWeb_BaseObject includes a list of Urban-­‐ Web_Property objects, i.e properties with a name, a userselectable type, and a value. The UrbanWeb_Property objects are the foundation for the context tagging system and for modeling UrbanWeb objects. The properties are also directly supported by the persistence system; so all properties that are added to an UrbanWeb_BaseObject are automatically saved to the database with the object. Internally the UrbanWeb_BaseObject represents its properties as a list of UrbanWeb_Property objects. Context Matching is implemented in two different ways in the model. The first way is provided by the Data-Object implementation in the model, which supports a find()-method on instances of the UrbanWeb_BaseObject class. Developers may create an UrbanWeb_BaseObject instance and populate it with properties with names, types, and values. By calling the find()-­‐method the model will inspect the object and automatically generate an SQLrequest that return all other objects with same set of properties and the same values. This is quite useful for finding objects by ID, objects of a certain type or objects that have been tagged with

some identifying context information, such as a 2D-barcode identifier or a RFID id. If the developer needs to create a fuzzy match that searches for objects within a range of their values, the model provides a query mechanism (See Figure 2). A Query contains a number of QueryItems and each QueryItem has a name, a type, a vaule (corresponding to the structure of an Urban-­‐ Web_Property object) and an operator that is applied as a filter on the properties. When a Query has been populated with Query-­‐ Items it can be used to automatically generate an SQL-request that searches for UrbanWeb_BaseObject in the database with corresponding property names and property values.

a poll associated with it, but polls can be tagged with the URL encoded in the barcode to create the link between the barcode and the poll. When the user scans a 2D barcode, the application queries the poll service for any available polls. If a poll has been linked to the barcode, it is presented in the user interface, but if no poll is found, the poll entry in the service menu is not visible. Dynamic services are more general, than static services, since arbitrary dynamic services can be linked to a physical context. Then, whenever the mobile application registers a change in the user’s context (e.g. when the user scans a TAG) it can query the UrbanWeb infrastructure for available service that are compatible with the mobile application and present the available services to the user.

5.2 Mobile Learning in Context

Figure 2: The UrbanWeb data model.

5. URBANWEB APPLICATIONS A number of different services have been built with the UrbanWeb framework. These range from purely browser-based applications to native applications for mobile phones that utilize Web services built on the infrastructure provided by UrbanWeb. In this section we discuss some of these services and how they utilize contextual information when presenting information.

5.1 Location-based social media in the City The first applications were designed as mobile, social media applications for the Aarhus city Festival1 in Denmark. We wanted to support social computing aspects and allow users to create and share information in-situ as well. To support this, a mobile phone application, the TagBlogger, was developed with the UrbanWeb framework. The application allowed users to scan 2D barcode TAGs, browse linked information, see comments by other users and leave comments on the TAGs themselves. Comments could include text, images taken with the phone, or existing images or video clips stored in the phone’s memory. Thus, this application utilized 2D-barcodes to both access location-sensitive information, but also as the anchor point for new user-generated content in the city. Another urban Web service developed for use in the Aarhus festival was a location-based poll service. Like the moblog service the poll service allowed active user participating, Instead of letting users create new content, the poll service was used to let users vote and participate in predefined polls and quizzes created by the festival secretariat. Unlike the moblog service, which was defined statically in the application, the poll service is an example of a “dynamic” service. Each 2D barcodes does not automatically have 1

http://www.aarhusfestuge.dk/en/home

Mobile Urban Dramas [12] is another type of application built on the UrbanWeb framework. Mobile Urban Dramas are interactive audio plays that let the user be the main character in a drama where the real urban environment becomes the scenography. In the play, users are equipped with mobile phones, headsets and maps, and experience a drama in the streets of a city, where they trigger different scenes of the play (audio, video, and text) through location-based technology such as GPS, 2D-barcode TAGs, or TinyTags numbers. The final example we will discuss here is, an extension to the Mobile Urban Drama HasleInteractive that combines the drama and storytelling with a mobile learning aspect. HasleInteractive is constructed, so pupils trigger part of the story by scanning 2D barcodes with their mobile phones, but they are also presented with specific assignments at each of the post they visit. This functionality required two extensions to the drama implementation: real-time session management and unobtrusive support for uploading materials during the work with the assignments. The drama is designed for groups of pupils and it is thus important to support real-time session management with-in the groups. To keep the drama synchronized across the mobile phones in a group, the inputs are synchronized with a Session Service. This is necessary to synchronize group members to the same place in the story. The system keeps track of materials produced by the pupils. At each post the groups are presented with an assignment and are asked to gather materials and take pictures of their findings. The focus in the application is on answering of assignments by producing media and not on the technical aspects of producing the media, e.g. how the camera works or how to get the materials uploaded from the phone for later use. With this in mind, the mobile application was designed with a Media Producer component that provides the interface for recording photos and videos and uploading them from the phone. When the pupils take a photo or record a video, the file is tagged with a timestamp, the group’s location, and the group number. It is then stored on the phones file system and added to an upload queue. A background process monitors the queue and uploads the files to a UrbanWeb media service on the server. This happens in the background and pupils do not have to wait for the network upload to finish and are thus not slowed down during the assignment work, but can continue right away. The media service provides a Web interface, enabling the teacher to download the materials produced by a class during the field trip. As the materials are tagged with context-information, e.g., location, creation time, and group information, the service can sort the materials, so the groups get the right materials. In this manner,

the service becomes the bridge between the on-location activities, i.e. support during the field trip, and the off-location activities that are performed after the trip, back in the classroom.

[9]

6. CONCLUSION In this paper we have discussed the design and implementation of the UrbanWeb framework for mobile, context-aware urban computing applications. UrbanWeb is built on a conceptual model for context, which defines context as an extension to the notion of Web 2.0 tagging. This model supports freeform tagging of resources with context information, in order to describe both the physical and digital context of the resources. At the same, the model supports context-awareness in the form of context matching based on various filtering mechanisms on the tagged context information. UrbanWeb provides a lightweight implementation of the conceptual model that makes it easy for developers to utilize context information in their service and to develop new services for a variety of different mobile Web clients. A number of applications have been developed with the framework. It is discusses how to present location-specific information in urban environments, how to create social media that allow user’s to browse, create, and share information that is produced in-situ, and how to aggregate multiple Web services by utilizing context information. Finally, we discuss a mobile application that utilizes context-aware capabilities in the framework to implement a Mobile Urban Dramas for both education and entertainment.

[10] [11] [12]

[13] [14] [15]

7. ACKNOWLEDGEMENTS

[16]

This work is supported by Center for Interactive Spaces and the Alexandra Institute. The UrbanWeb project is funded by the Danish Agency for Science, Technology and Innovation, project 27407-0218. We also wish to thank our colleagues and partners who have helped realize the UrbanWeb applications.

[17]

8. REFERENCES

[18]

[1] Ahern, S., et. al. 2006. Zonetag: Designing context-aware mobile media capture to increase participation. In Proc. of PICS 2006 at UbiComp 2006. [2] Anderson, K. M., Hansen, F. A., and Bouvin, N. O. 2006. Templates and queries in contextual hypermedia. In Proc. of HYPERTEXT '06 (Odense, Denmark, August 22 - 25, 2006).. ACM, New York, NY, 99-110. [3] Brown, P., Bovey, J., and Chen, X. 1997. Context-aware applications: from the laboratory to the marketplace. IEEE Personal Communications, 4(5):58–64, Oct. 1997. (doi:10.1109/ 98.626984) [4] Chen, G. and Kotz, D. 2000. A survey of context-aware mobile computing research. Technical Report TR2000-381, Dept. of Comp. Sci., Dartmouth College, Nov. 2000. [5] De Jong, T., Specht, M., and Koper, R. 2007. Contextblogger: learning by blogging in the real world. In Proc. of the ePortfolio 2007 Conf. October, 18-20, 2007, Netherlands. [6] Dey, A. K. 1998. Context-aware computing: The CyberDesk Project. In Proc. of the AAAI 1998 Spring Symp. on Intelligent Environments (AAAI Tech. Report SS-98-02), pages 51–54, Stan- ford, CA, 1998. [7] Dey, A. K. 2001. Understanding and using context. Personal and Ubiquitous Computing, 5(1):4–7, 2001. (doi:10.1007/s00779017 0019) [8] Foth, M. (Ed.) 2009. Handbook of Research on Urban Informatics: The Practice and Promise of the Real-Time City.

Hershey, PA: Information Science Reference, IGI Global. ISBN 978-1-60566-152-0 Gaonkar, S., Li, J., Choudhury, R. R., Cox, L., and Schmidt, A. 2008. Micro-Blog: sharing and querying content through mobile phones and social participation. In Proc. of MobiSys '08 (Breckenridge, CO, USA, June 17 - 20, 2008). ACM. Hansen, F. A. 2006. Ubiquitous annotation systems: technologies and challenges. In Proc. of the 17th Hypertext Conf. (Odense, Denmark, August 22 - 25). ACM Press, 121-132. Hansen, F. A., et al. 2004. Integrating the Web and the World: Contextual trails on the move. In Proc. of the 15th ACM Hypertext Conf., pages 98–107, Santa Cruz, CA, USA. Hansen, F. A., Kortbek, K. J., and Grønbæk, K. 2008. Mobile Urban Drama - Setting the Stage with Location Based Technologies. In Proc. of 1st Joint Int. Conf. on Interactive Digital Storytelling (Erfurt, Germany 26-29 November). Springer Verlag. Hansen, F.A., Bouvin, N.O. 2009. Mobile Learning in Context — Context-aware Hypermedia in the Wild, Int. Journal of Interactive Mobile Technologies, vol. 3 no. 1, pp. 6-21. Marunouchi Ubiquitous Museum, Tokio. Web page 2010: http://map.elp.or.jp/umm.html Mitchell, K. and Race, N. J. 2005. uLearn: Facilitating Ubiquitous Learning through Camera Equipped Mobile Phones. In Proc. of the IEEE int. Workshop on Wireless and Mobile Technologies in Education (November 28 - 30, 2005). WMTE. IEEE Computer Society, Washington, DC, 274-281. Mobile Web Best Practices 1.0. Basic Guidelines.W3C Recommendation 2008. Website: http://www.w3.org/TR/mobilebp/#OneWeb O’Hara, Kenton, Kindberg, Tim (2007). Understanding user engagement with barcoded signs in the ‘Coast’ locationbased experience. Journal of Location Based Services, 1(4), 256–273. doi:10.1080/17489720802183423 Paay, J., Kjeldskov, J., Christensen, A., Ibsen, A., Jensen, D., Nielsen, G., and Vutborg, R. 2008. Location-based storytelling in the urban environment. In Proc. of OZCHI '08 (Cairns, Australia, Dec. 08 - 12, 2008). vol. 287. ACM.

[19] Parry, N., Bendon, H., Boyd Davis, S., and Moar, M. 2008. Locating Drama: A Demonstration of Location-Aware Audio Drama. In Proc. of 1st Joint Int. Conf. on Interactive Digital Storytelling (Erfurt, Germany 26-29 November). Springer Verlag. [20] Ryan, N. S., Pascoe, J., and Morse, D. R. 1998. Enhanced reality fieldwork: the context-aware archaeological assistant. In Computer Applications in Archaeology, Oxford, 1998. [21] Schilit, B., Adams, N., and Want, R. 1994. Context-aware computing applications. In Proc. of the Workshop on Mobile Computing Systems and Applications, pages 85–90, Santa Cruz, CA, USA, Dec. 1994. [22] Schmidt, A., et. al. 1999. Advanced interaction in context. LNCS, 1707, 1999. [23] Semapedia.org – Hyperlink your world. Web page 2010: http://en.semapedia.org/ [24] Shklovski, I. and Chang, M. F. 2006. Guest Editors' Introduction: Urban Computing--Navigating Space and Context. Computer 39, 9 (Sep. 2006), 36-37. [25] Stenton, S. P., Hull, R., Goddi, P. M., Reid, J. E., Clayton, B. J. C., Melamed, T. J., Wee, S. 2007. "Mediascapes: ContextAware Multimedia Experiences," IEEE MultiMedia, vol. 14, no. 3, pp. 98-105, July-Sept.

Suggest Documents