The UrbanWeb Framework
In its current implementation the UrbanWeb framework is implemented in PHP 5 and uses MySQL as the storage backend. The UrbanWeb data model is one of the core components in the framework and is used across all services. The model provides support for context-ware functionalities that can be used by applications:
- 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.
UrbanWeb is based on a lightweight context model. 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. This results in a very lightweight model, which supports easy prototyping and context definition on runtime.
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.
Location-based social media in the City
The UrbanWeb framework has been used as the for mobile, social media application for use during the annual Aarhus city Festival in Denmark. The applications have been developed and used from 2007 to 2010. The Aarhus Festival (http://www.aarhusfestuge.dk/) is among the largest cultural events in Scandinavia and showcases both local, national and international artists. As part of the festival a several kilometer long route called the "Red Route" was established through the center of the city to allow festival participants to experience the city, its architecture, and its activities from new angles.
2D barcode-TAGs and GPS
A number of 2D barcodes (or TAGs) were placed along the "Red Route, and the UrbanWeb applications relied on a combination of these visual tags and GPS coordinates as link anchors to location based services and existing Web resources. 2D-barcodes are two-dimensional patterns that encode a piece of text, typically an address or a URL. The 2D-barcodes can be used with camera phones that include software to decode the barcode from a scanned image. 2D-barcodes such as Semacodes or QR-codes have the advantage that they clearly visualize the link endpoint in the physical world, and when decoded, provide the link address directly.
UrbanWeb utilise in this way both TAGs and GPS to anchor information and services in the streets of the city.
Location-based Mobile Blogging
While the TAGs provide access to location-specific information, we also wanted to support social computing aspects an allow users to create and share information in-situ as well. Therefore, a mo-bile application, the TagBlogger, was developed with the Urban-Web framework. To be compatible with the largest number of different mobile phones from different manufactures, the mobile application was developed on the Java JME platform and themed to match the festival theme. The application allowed users to scan, browse the 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. A purely Web-based mobile application was also developed to give Apple iPhone and Google Android users access to the festival information. The Web application was developed as neither one of these new platforms support Java micro edition, but both include sophisticated Web browser with support for new HTML5 features such as geo-location and local storage. And the open "One Web" design of the UrbanWeb services made it easy to create support for this application.
Another urban Web service developed for user under the Aarhus festival was a location-based poll service. Like the moblog serv-ice 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. Most of the 2D barcodes along the "Red Route" had associated polls, but the secretariat also created a number of special quiz signs, inviting users to participate. Each of these signs were placed nearby statues, which had been wrapped in red opaque plastic. In the quiz the user is asked to recall the material, structure or theme of the hidden statue. The poll service is an example of a "dynamic" service. Each 2D barcodes does not automatically have 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 avail-able 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.
Mobile Urban Drama
Mobile Urban Dramas are another example of applications 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 numeric numbers. Furthermore, they may receive what appears to be SMS messages and phone calls, and encounter real life actors as part of the play that takes place along a pre-specified, possibly branching path through a cityscape or landscape.
From 2007 to 2010 six different plays with dramatically, educationally, and historically content have been developed in cooperation with a local theater “Katapult” from Århus, Denmark (http://www.katapult.dk/).
In the first production, Corridor, the user was staged as an increasingly stressed out female journalist who was assigned to make a cover story on a secret PR manager, who kept changing location.
The second project, GAMA – On the Trail of Unknown Land (hereafter "GAMA") was set up in the city of Horsens where the user was involved in a story that was related to the famous Danish explorer, Vitus Bering, who was descended from Horsens.
The third project, HasleInteractive, is an environmental thriller for outdoor school learning, where the pupils learn about biotopes by investigating nature.
Production number four, Hikuin's Vendetta, is a Viking crime mystery set in Aarhus .
The fifth production, The Battle for the Soul of Gullestrup, is an integration project, and a re-branding of a disadvantaged neighbourhood near the city of Herning.
Finally, the production The EcoPhone is developed for commercial use for a large Danish dairy company to promote the "EcoDay" in spring 2010.
Below you can see presentation videos of two of the first Mobile Urban Drama productions Corridor (2007) and Gama (2008), and an introduction to Hikuin's Vendetta (2009)
Hasle Interactive - Learning and Drama
One of the Mobile Urban Drama productions "HasleInteractive" combines drama and storytelling with a mobile learning aspect. HasleInteractive is constructed, so the 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.
The drama is designed to be used by groups of pupils and it is therefore important to support real-time session management with-in the groups. This is necessary to synchronize the story so that all group members are at the same place in the story. To keep the drama synchronized across the mobile phones in a group, a number of the inputs are synchronized with a Session Service before. This prevents “fast” pupils (or just the first one in a group that scans the tag), from hearing the story minutes in advance to the other group members and then having to wait for the others to finish.
Another important aspect of the system is to keep track of the produced materials. 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 here on the 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 has been 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 the Media Service on the server. This all happens in the background and the pupils do not have to wait for the network upload to finish and are therefore not slowed down during the assignment work, but can continue right away.
The Media Service also provides a Web interface, so the teacher can download all 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.
Below you can watch a video demonstration of pupils using the HasleInteractive system.