Providing Personalized Mashups Within the Context of Existing Web Applications Oscar Díaz, Sandy Pérez and Iñaki Paz ONEKIN Research Group University of the Basque Country San Sebastián (Spain) Dec 6th, 2007 The 8th International Conference on Web Information Systems Engineering
O. Díaz, S. Pérez & I. Paz 2 Outline Introduction MARGMASH Conclusions
O. Díaz, S. Pérez & I. Paz 3 Personalization Personalization is the process of tailoring pages to individual users’ characteristics or preferences that will be meaningful to their goals. However, it is not always easy for the designer to foresee the distinct utilization contexts and goals from where the application is accessed.
O. Díaz, S. Pérez & I. Paz 4 Personalization: a do-it-yourself approach Traditional approaches: “everything for the people, nothing by the people” difficult to foresee all circumstances Do-it-yourself approach: end users add their own content …once the application is already deployed
O. Díaz, S. Pérez & I. Paz 5 Mashup approach Mashups allow the user to combine existing data from disparate sources in innovative ways. MASHUP is the resource to be capitalized on
O. Díaz, S. Pérez & I. Paz 6 Mashup approach But frequently,… you are gathering data not just for the sake of the data itself but to help you to make some decisions.
O. Díaz, S. Pérez & I. Paz 7 Mashup approach An example A MASHUP An application Another application it would be most convenient to post the mashup data by the application where the decision is taken.
O. Díaz, S. Pérez & I. Paz 8 Mashup personalization Process whereby recurrent users –It is not useful for sporadic users can enrich –no replacement nor deletions existing applications –no new applications with additional data using a mashup approach –taking data from elsewhere
O. Díaz, S. Pérez & I. Paz 9 Outline Introduction MARGMASH Conclusions
O. Díaz, S. Pérez & I. Paz 10 Yahoo! Pipes (1) Drag modules from the panel on the left and drop them in the main panel. (2) Fill the required modules’ fields (3) Connect modules between them input output
O. Díaz, S. Pérez & I. Paz 11 MARGMASH: website + mashup Website: Any existing web application Mashup A Yahoo! pipe MARGMASH is the “+”
O. Díaz, S. Pérez & I. Paz 12 Let’s consider as a website… Pantallazo de expedia.com
O. Díaz, S. Pérez & I. Paz 13 Let’s consider the pipe … inputs output
O. Díaz, S. Pérez & I. Paz 14 MARGMASH: at runtime input output
O. Díaz, S. Pérez & I. Paz 15 MARGMASH: at building time Five main steps Navigation Page Classification Mashup Anchors Pipe Assignment Mapping Pipe Inputs
O. Díaz, S. Pérez & I. Paz 16 Navigation Lets the user to navigate to the page where a mashup needs to be posted. Which are the pages where the end user would like to post pipes?
O. Díaz, S. Pérez & I. Paz 17 Page Classification Page classification helps distinguish between pages on applications How can these pages be identified?
O. Díaz, S. Pérez & I. Paz 18 Page Classification Search Results Info. A page class is defined as the set of pages that describe the same type of information and have a similar page structure
O. Díaz, S. Pérez & I. Paz 19 Page Classification the user annotates the page by selecting some HTML elements. is identified through an absolute XPath over the DOM tree. Notice that, we are abstracting from a page-instance-based input selection to a page-class-level identification of the distinct elements on the page.
O. Díaz, S. Pérez & I. Paz 20 Mashup Anchors Where does the user want the pipes to be located? Mashup anchors play a double role. they hint for placing the mashup output. they provide some feed data for the associated mashup
O. Díaz, S. Pérez & I. Paz 21 Pipe Assignment Which pipes does the user want to be posted to a certain anchor? pipes’ identifiers pipes’ output layout pipes’ navigation mode
O. Díaz, S. Pérez & I. Paz 22 Mapping Pipe Inputs From where does the user extract the data that feed the pipes’ input? pipes’ starting feeds
O. Díaz, S. Pérez & I. Paz 23 Outline Introduction MARGMASH Conclusions
O. Díaz, S. Pérez & I. Paz 24 Conclusions Margmash: website + mashup The mashup is contextualized by delivering it within an existing website The website acts as the initial data provider for the mashup input parameters as well as the container for its output
O. Díaz, S. Pérez & I. Paz 25 Contact Oscar Díaz Sandy Pérez Iñaki Paz