Keywords

1 Introduction

Web contents are daily growing in size and diversity, and it is increasingly likely that much of the information we need for achieving any of our daily activities is already available somewhere on the Web, although not always part of the same information source. Several approaches have addressed the need of consuming and offering the user with content or services from different sources in order to achieve their personal goals; Mashups [2] can integrate both of them in a new application that reuses existing information for accomplishing a new purpose that the original context did not contemplate; Personal Information Management (PIM) systems [3] allow the user to collect information objects for further making them available in a personal information space for performing specific operations; Web Augmentation [1] enhances existing Web pages according to the user’s requirements, by adding or adapting specialized behaviour, styles or content. Each of the mentioned applications and techniques empower users with the capability of interacting with existing content, but they work isolated, thus making it difficult to have a complete Personal Web experience. Even worst, a concrete application might lack some desirable feature that makes it possible the integration with another application. E.g. it could be designed to consume just static or dynamic, structured or unstructured data; to empower the end users or just to support developers; to provide sharing mechanisms for individual information objects or the whole information space; to conceive the stored data as application independent, or making it hard to externally consume it in a straightforward way (often inconceivable for end users); to consider Reactive Web [5] capabilities; to consume content from multiple sources; to augment a Web page with such information.

The Personal Web, as explained in [4], is intended to “empower ME, as a common internet user of generally limited technical skills, the autonomy and ease of control in assembling and aggregating integrate-able web elements across the web for a particular sphere of context of my concern”. This promises to completely change the user experience in the WWW, because it claims him as the axis of such extensive space.

In this light, we present Web Objects Ambient (WOA), a platform for achieving full interactive Personal Web experiences by reusing existing Web content and improving them with specialized behaviour artefacts, enabling diverse modes and contexts of interaction with such information objects under a common environment.

2 The Web Objects Ambient

In order to guarantee complete Personal Web experiences, it is not only desirable that the multiple features of the aforementioned applications to be provided by a single integrated platform, but also that the created information objects could be reusable in diverse contexts and consumed from an application-independent storage. We implemented our platform by extending the Firefox browser capabilities, which provided us high-level permissions to access the file system, to create custom browser user interfaces, to clone objects into diverse contexts and to manipulate the Web with almost no restrictions (e.g. no same-origin policy). But despite technical issues, it is mainly required that the experience could be produced by the same person who knows, in detail, the business logic and data needs to meet; the end user himself. To do so, we empowered him with the capability of composing his own information space, a common environment where personal information objects “live” and can be enhanced with specialized behaviour. We refer such objects as Concepts, and they are instantiated from Concept Templates (CT). To define a CT, the user should navigate to the Web page containing the content of his interest and enable the WOA Collectors by clicking a toolbar button. When this option is enabled, all the behaviour of the opened documents in the browser are prevented, the DOM elements matching the mouse pointer position are highlighted, and a special context menu is added to the UI description of the browser, where diverse mechanisms for content extraction will be displayed. Then, as shown in step (1) of Fig. 1, he can collect Web content into the WOA by right clicking the highlighted DOM element. This event makes WOA to ask a set of specialized data Collectors to analyse the DOM element, to look for properties of their interest and to render an item in the context menu, if applicable. Such properties depends on the type of data such extractor supports; the aim is to provide the user with some auto-completed data in the materialization process. E.g. processing the itemtype attribute of a microformatted element, to suggest the user certain tag for his template; this facilitates him the cognitive process of abstracting the representations and choosing a proper tag matching a semantic class of our ontology. Once the user clicks on a context menu item, a form opens in the sidebar for defining the values for the template, as shown in step (2). Some of them are transparent to the user (as the URL or the XPath), other are automatically filled by the Collector in charge (as the tag), and the remaining ones should be filled by the user himself. Once the template is saved, the user can see its thumbnail in the sidebar and, by right clicking on its configuration icon (the gear at top-right), he can access a contextual menu with some options for accessing the template edition, the concept instances view, some general purpose template (class) messages, and the template removal, as seen in step (3).

Fig. 1.
figure 1

Materializing and interacting with WOA information objects

Once a concept template has been created, it could happen that the retrieved instances are not presented in a single DOM, because there is a navigation bar or a search engine in the original site. As shown in marker (a) of Fig. 1, the end user can configure a WOA search engine, so he can browse and interact with all the instances provided by the site. Back to structuration, the user should also collect and materialize Properties in the same way he did with Concepts; the only difference is he should click the second menu item in step (1) of Fig. 1, and he will see an extra combo in step (2) for associating the Property Template to any existing CT. When the user define all the templates he requires, their instances are available in the ambient but he might not be able to interact with them yet. When a CT is created, it is automatically associated with a Decorator [6], which will wrap and provide every one of its concept instances with specialized behaviour for meeting a concrete purpose. Decorators have defined a set of keywords and a set of semantic classes, and their values are used for matching a Concept with the most specific available Decorator. If there is no specific decorator for a certain tag, it applies the one devoted to general purposes. Every Decorator has a set of selectable and configurable messages, and such configuration consists in a series of parameters matching a property. If their names do not match, it is necessary that the user links them from the Decorator configuration. Decorators can be changed, and so their messages and parameters. This could be accessed by the CT’s context menu, by choosing “Functionality” as shown in marker (b) of the figure. Finally, when templates are created and decorators are configured for properly working with such templates, it is possible to interact with the concept instance’s messages through the WOA Viewer (c), in-situ augmentations (d) (provided by specialized decorators), or domain-specific WOA applications; by importing a regular Web application that uses the WOA API for accessing the collected concepts and decorators (e).

WOA also considers a second user role; a developer, in charge of extending and providing end users with new Collectors, Decorators and Applications. But for the sake of simplicity and space, in this work we just addressed end-user support details.

3 Conclusion and Further Work

In this paper we introduced WOA, a platform supporting a novel approach for enabling end users to create a diverse range of Personal Web experiences, by abstracting, structuring and enhancing existing Web content. We fully implemented such common ambient and a set of specialized artefacts to demonstrate the feasibility of the approach. Now, we are extending the platform in order to support new extraction mechanisms and to provide the end users with a broader spectrum of specific functionality for their objects. We are also working on the implementation of an end user tool for empowering them with the capability of producing their own applications, and we are designing the first experiment of the approach, focused on end users. For more details about WOA and demo videos, please visit the Web site of our project.