The approach, called Mobile Web Augmentation (MoWA), comprises an augmentation framework and a weaver for running client-side scripts (MoWA applications). Developers instantiate the framework and create, as a result, a MoWA application. Applications are installed into the MoWA weaver, a mobile browser extension, and their underlying augmentations are triggered either because the end-user manually navigated to a target page, or because it was loaded in response to a change in the context (e.g. the user position). In both cases, the weaver runs the corresponding MoWA applications, which –in general terms– modify the UI adding extra components. Such components reside in an augmentation layer and they are adaptive to the user’s context; this means that style, content, or behavior may be adapted when some context value change.
MoWA is based on the definition of sensors –observers– of context types, associating them with a set of augmentation components that will be placed over the content of a target Web page when a proper change in the observed context happens. For instance, consider a MoWA application that augments Youtube by adapting the application to changes in the noise level perceived by the phone; the volume of a video could be increased when it is being played in noisy environments and decreased in silent ones. Reusing content (from the target Web page to augment, and from some external ones) and accessing the mobile sensors is possible because the framework runs under the context of a mobile browser extension, which has access to the proper low-level APIs.
To summarize, the underlying concepts for a concrete MoWA application are An existing Web application to be augmented or adapted with mobile features. The specification of the context types that will be used for the mobile experience. These types are based on a particular mobile device capability, such as GPS geo-localization or light sensors. Context values are made available to applications through software sensors, which are either part of the MoWA framework or can be defined by the developer. For instance, the location, as a context type, can be tracked for assisting the end-user to traverse a tour’s path. The association of sensors to a particular URL (among the ones already defined for a concrete application), is to be opened and augmented when interesting events are notified by those sensors. A set of augmenters that specifically implement the augmentation layer considering the underlying application domain and the observed sensors. While validating the approach, we gathered opinions and suggestions from participants; they emphasized the need for tools for automating some of the tasks they had to perform; for example, gathering the information required the definition of the points of interest and the positioning of markers in the map. Since such tasks imply a constant repetition of code and actions, we decided to create a visual tool such that it could be used not only by developers but also by producers.
The idea of augmenting existing Web applications with context-aware features is about enabling mechanisms for retrieving context values from the environment through the device sensors so the application can adapt its content and behavior accordingly. The following scenarios are characterized, precisely, by using context information in their augmentations:
Mobile Multimedia. hundreds of Web sites containing embedded multimedia resources (such as YouTube/Vimeo videos) could be adapted in order to play those resources according to some context types, like light and noise levels.
Yellow Pages Web sites. this kind of Web sites could be improved considering the current user’s location. In this way, the results for a specific search may be enriched with a map showing how to reach some of the resulting places from the current location. The mobile experience could start a step before, considering to (auto) fill the search form considering the current user’s city.
Mobile Cinema portals. in many cities, the cinemas make it public their billboard in a common Web site. On these sites, visitors may see the available movies and their functions. We can adapt portals like Cinema City into a full mobile Web application supporting different functionality:
- Reordering movies according to the current time: the movie functions could be sorted to give a quick overview of the following functions.
- Recommending the nearest cinema for a specific movie: considering the walking time for the movie that a user wants to see, the application may recommend the best cinema to go.
- Adding a map showing the path to the cinema: when the user chooses a cinema, the application could add a map showing the path from the user location.
Tour guides represent a typical example of mobile applications; they provide people with assistance and information about a set of Points of Interest (PoI) spread in a city, museum, educational establishment, etc. They usually consider:
- a set of PoIs
- a predefined path for navigating among these PoIs
- a method for sensing the user’s current position (QR codes, GPS, etc.).
Below, we present some examples:
- Fixed indoor exhibitions in museums. Some museums use QR codes to identify each piece of their collection, and scanning them makes the mobile device access to a digital counterpart of the object. For instance, consider the codes generated by QRpedia that allow redirecting to concrete articles in Wikipedia. However, these digital counterparts of the pieces are not always linked, and the user could benefit from having assistance for touring the full or a concrete subset of the collection.
- Itinerant exhibitions, designed to be performed at the facilities of any building or open space, present collections focused on diverse kinds of artistic, historical, cultural manifestations that can be represented no matter the place. The physical points of interest in this kind of tour could be distributed, for example, in different areas of a school, and could be linked to a digital object, such as a Wikipedia article. Augmentations can be offered based on the information provided in the catalog of the tour, and also by retrieving public comments to encourage discussion and the development of a critical attitude in the visitors.
- Temporary exhibitions, where a single art gallery is in continuous change, presenting different collections of artistic works –usually for periods of less than two months–. Augmentations can also be performed over Wikipedia articles (if the exhibition does not have its own Web site), adding quotations from the authors, comments by the visitors, and touring assistance along the way.
- Outdoor tours through the most significant heritage sites in a city, like the one presented by some city halls, allow tourists to read about the best places for experience and appreciate the rich architectural history of the city. Augmentations here can be performed over each PoI Web page on the site, providing the touring assistance and also retrieving public review content through some Trip Advisor Content API.