Building Mashups. Craig Knoblock. University of Southern California. Thanks to Rattapoom Tuchinda

Similar documents
Building Mashups. Craig Knoblock. University of Southern California. Thanks to Rattapoom Tuchinda and

Building Mashups by Example

Building Mashups by Demonstration

Proposal and Evaluation of Lightweight Mashup Tool to Create Information Portal

Building Geospatial Mashups to Visualize Information for Crisis Management. Shubham Gupta and Craig A. Knoblock University of Southern California

Usability Framework for Web Mashup Makers for Casual Users

Aspects and challenges of mashup creator design

International Journal of Advanced Computer Technology (IJACT) ISSN:

End-User Programming of Mashups with Vegemite

On the maintenance of UI-integrated mashup applications

2nd Year PhD Student, CMU. Research: mashups and end-user programming (EUP) Creator of Marmite

2009 Generic Web Services Mash-up Integrated Development Environment

One of the fundamental kinds of websites that SharePoint 2010 allows

Like It Or Not Web Applications and Mashups Will Be Hot

Google & the Cloud. GData, Mashup Editor, AppEngine. Gregor Hohpe Software Engineer Google, Inc. All rights reserved,

User-Friendly Functional Programming for Web Mashups

THE DESIGN OF BLOCK-BASED MASHUP TOOL FOR END- USERS MASHUP APPLICATIONS DEVELOPMENT

Review of Service Composition Interfaces

Curriculum Guide. ThingWorx

Creating Mashups by Direct Manipulation of Existing Web Applications

Web 2.0, Social Programming, and Mashups (What is in for me!) Social Community, Collaboration, Sharing

MAIL PLUGIN FOR IBM MASHUP CENTER

8.0 Help for End Users About Jive for SharePoint System Requirements Using Jive for SharePoint... 6

Creating Web Mapping Applications. Nikki Golding

Introduction to creating mashups using IBM Mashup Center

20. Situational Applications and Mashups

Mashlight: a Lightweight Mashup Framework for Everyone

QuanTM Architecture for Web Services

Interactive Data Integration through Smart Copy & Paste

DRACULA. CSM Turner Connor Taylor, Trevor Worth June 18th, 2015

The TELAR Mobile Mashup Platform for Nokia Internet Tablets

Introduction. A Brief Description of Our Journey

CS 160: Lecture 15. Outline. How can we Codify Design Knowledge? Motivation for Design Patterns. Design Patterns. Example from Alexander: Night Life

Web Mapping Applications with ArcGIS. Bernie Szukalski Derek Law

Shopper Guide v.3: 3/23/16

Library Mashups. Exploring new ways to deliver library data. Nicole C. Engard, Book Editor

Automating Administration with Windows PowerShell (10961)

User Interaction: jquery

PROGRAMMING WITHOUT PROGRAMMING: LEARNING MASHUPS AND WEB 2.0 IN THE INFORMATION TECHNOLOGY CLASSROOM

User-Friendly Functional Programming for Web Mashups

Human-Computer Interaction Design

Qlik Sense Desktop. Data, Discovery, Collaboration in minutes. Qlik Sense Desktop. Qlik Associative Model. Get Started for Free

We start by providing you with an overview of the key feature of the IBM BPM Process Portal.

Rob Weir, IBM 1 ODF and Web Mashups

CoMaP: A Cooperative Overlay-based Mashup Platform

Introduction to Internet Applications

Leveraging the Social Web for Situational Application Development and Business Mashups

Australian Nuclear Science & Technology Organisation. Upgrade of the ANTARES Computer Control System and our experience of EPICS.

R1 Test Case that tests this Requirement Comments Manage Users User Role Management

A Component-based Approach for Engineering Enterprise Mashups

opensap TEXT ANALYTICS WITH SAP HANA PLATFORM WEEK 1

Introduction to the Azure Portal

Open Linked Widgets Mashup Platform

Chapter. IT Infrastructure: Hardware and Software

INTRODUCTION TO COLDFUSION 8

Craig Knoblock University of Southern California. This talk is based in part on slides from Greg Barish

SharePoint 2013 End User

Coveo Platform 7.0. Atlassian Confluence V2 Connector Guide

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Practical Introduction to SharePoint 2007

2. create the workbook file

DB2 for z/os Stored Procedure support in Data Server Manager

Green Room Computer Lab Curriculum

Optimizing Information Mediators by Selectively Materializing Data. University of Southern California

Previous Webinar. Access to the video and slides:

Review of Mobile Web Application Frameworks

Slice Intelligence!

Mashup Tool for Automatic Query Generation for Data Web

WEEK 6: Interactive Medium-fi Prototype

Base Module - Computer Essentials

DOWNLOAD PDF LEARN TO USE MICROSOFT ACCESS

UNLEASHING THE VALUE OF THE TERADATA UNIFIED DATA ARCHITECTURE WITH ALTERYX

Acceptance Test Client: Dr. Darren Lim, Assistant Professor

User guide for GEM-TREND

A DESCRIPTION-BASED HYBRID COMPOSITION METHOD OF MASHUP APPLICATIONS FOR MOBILE DEVICES

SharePoint 2013 Site Owner

IoT Mashups with the WoTKit

Lotus Notes og Sametime Bo Falkenberg IBM Software Group IBM Corporation

Table of Contents HOL-PRT-1463

PROFESSIONAL CERTIFICATES AND SHORT COURSES: MICROSOFT OFFICE. PCS.uah.edu/PDSolutions

Web 2.0 Attacks Explained

Georeferencing Tutorials and Recommended Practices

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

Google Maps Mashups WORKSHOP. Jeff Blossom, Senior GIS Specialist Center for Geographic Analysis. Harvard University gis.harvard.

Descriptions for CIS Classes (Fall 2017)

OpenScape Contact Center Multimedia. First Contact Resolution in a Multi-Channel World <insert date here>

3DC Standard Setting Application

Big Data Executive Program

Admissions & Intro to Report Editing Participants Guide

Enterprise Geographic Information Servers. Dr David Maguire Director of Products Kevin Daugherty ESRI

Semantic Integration Platform for Web Widgets Communication

Dissecting mashups and remixes

Backup everything to cloud / local storage. CloudBacko Pro. Essential steps to get started

STOP DROWNING IN DATA. START MAKING SENSE! An Introduction To SQLite Databases. (Data for this tutorial at

PRINTING GROWER FIELD MAPS OFF THE WEB

Using Development Tools to Examine Webpages

Web Programming Week 2 Semester Byron Fisher 2018

Human-Computer Interaction Design

[MS55199]: SharePoint 2016 End User Training. Audience Profile This course is intended for new and existing users of SharePoint.

Using SQL Reporting Services with isupport

Transcription:

Building Mashups Craig Knoblock University of Southern California Thanks to Rattapoom Tuchinda

What s a Mashup? A [wikipedia] a) LA crime map b) zillow.com c) Ski bonk Combined Data gives new insight / provides new services

Outline Karma Programming by demonstration approach Marmite Workflow based approach Mashmaker Browser-based approach

Outline Karma Programming by demonstration approach Marmite Workflow based approach Mashmaker Browser-based approach

Mashup Building Issues Data Retrieval Wrapper Wrapper Calibration -source modeling -cleaning Attribute Clean Attribute Clean Integration Combine Display Customize Display

Existing Approaches Goal: Create Mashups without Programming Addresses syntax issued, but users still required to understand programming concepts Yahoo s Pipes Widget Paradigm - - - Widgets (i.e., 43 for Pipes, 300+ for MS) represents an operation on the data. Locating and learning to customize widget can be time consuming Most tools focus on particular issues and ignore others. Can we come up with a framework that addresses all of the issues while still making the Mashup building process easy?

Our Integrated Approach Focus on data, not on the process Users are already familiar with data. Capture and model the Mashup building process from examples (PBD) Consolidate rather than Divide-And-Conquer Solving one issue can help solve other issues. Use one interaction platform -- a table Leverage existing database Helps with source modeling, cleaning, and data integration.

Our system: Karma Embedded Browser Table Interaction Modes

Extract {Restaurant name, address, phone, Review} Extract {Restaurant name, address, Date of Inspection, Score} Clean Clean Database {Restaurant name, address, phone, review, Date of Inspection, Score} Map

Data Retrieval: Extraction tr TBODY tr Tbody/tr[1]/td[2]/a td td td a br br 1. 2. Japon Bistro 970 E Colora.. Upscale yet affordabl.. td a br br Hokusai 8400 Wilshir. Chic elegance.. Tbody/tr*/td*/a 10

Data Retrieval: Navigation TBODY tr tr td td td td a br br 1. 2. Japon Bistro 970 E Colora.. Upscale yet affordab a br br Hokusai 8400 Wilshir. Chic elegance 11

Source Modeling (Attribute selection) Data repository Newly extracted data Japon Bistro Hokusai Sushi Sasabune restaurant name Hokusai Katana Japon Bistro LA Health Rating artist name Hokusai Renoir Address 8400.. 8439.. 927 E.. restaurant name Sushi Sasabune Sushi Roku Katana Artist Info French 90 99 95 nationality Japanese Zagat zagat Rating 27 25 23 Health Rating Possible Attribute {a a,s: a att (s) (val(a,s) V)} restaurant name (3) artist name (1)

Data Cleaning: using existing values Data repository Newly extracted data Japon Bistro Hokusai Sushi Sasabune Sushi Roka restaurant name Hokusai Katana Japon Bistro LA Health Rating 8400.. 8439.. 927 E.. restaurant name Address Zagat zagat Rating 90 99 95 Health Rating restaurant name Sushi Sasabune 27 Sushi Roku 25 Katana 23

Data Cleaning: using predefined rules 28 Reviews 28 Subset Rule: (s 1 s 2..s k ) (d 1 d 2 d t ) (k <= t) s i {d 1,d 2,,d t } d i d j... Predefined Rules

Data Integration Based on [tuchinda 2007]

Data Integration (cont.) restaurant name Data repository LA Health Rating Address.. Health Rating Hokusai 8400.. 90 Katana 8439..... 99 Japon Bistro 927 E.. 95 restaurant name Zagat zagat Rating {a} R = possible new attribute selection for row i. Sushi Sasabune 27 {x} = Set intersection({a}) over all the value rows. {v} = val(a,s) where a {x} s is any source where att(s) {x} {} Sushi Roku Katana 25 23

Map Generation

Related Work Building Blocks Programming by Demonstration [Cypher 1993, Lau 2001] Simile [Huynh 2005] Potter s Wheel [Raman 2001] Building Queries by Demonstration [Tuchinda 2007] Data Extraction Simile, Dapper, D.Mix [Hartman 2007], OpenKapow Widget Approach Yahoo s Pipes, Microsoft s Popfly, IBM s QED Wiki, Bungee Labs, Proto Software, Marmite [Wong 2007] Misc. Intel s Mashmaker [Ennals 2007] Google MyMap

Evaluation: Average 3.32x 2.22x 0.67x 4.16x 6.49x Dapper/Pipes Karma 19

Discussion Contribution: An approach to build Mashups by combining four common information integration techniques into a unified framework. Data extraction Source modeling Data Cleaning Data Integration

Karma Video

Outline Karma Programming by demonstration approach Marmite Workflow based approach Mashmaker Browser-based approach

Marmite Widget/Workflow approach similar to Yahoo s Pipes and Microsoft s Popfly Firefox extensions The interface is divided into three sections Widget selection Workflow Intermediate results Based on the talk from http://www.cs.cmu.edu/~jasonh/presentations/chi2007-marmite.pdf

1 2 3

Marmite Approach Based on Apple Automator One of a few that design the system by doing user studies prior implementation Showing intermediate result Suggestion for the next operators

6 People 2 novices 2 people who know how to use spreadsheet 2 programmers 4 Tasks Marmite Evaluation Retrieve a set of addresses and geocode an address Search and filter out events further than a week away Compile a list of events from two event services and plot them on a map. Recreate the map from housingmaps website

Marmite Result 3 (1 spreadsheet, 2 programmers) complete the 4 tasks in one hour. Novice did not finish all the tasks. The biggest problem for them is understanding data flow Confusion about the input/output concept Did not understand that the data flow and the spreadsheet result are linked.

Marmite Video

Outline Karma Programming by demonstration approach Marmite Workflow based approach Mashmaker Browser-based approach

Intel Mashmaker Multi-tier user Naïve users Expert users Experts do all the dirty works to customize the integration between sources. Naïve users browse web pages normally If the page that the user is viewing contain an existing wrapper or predefined integration, the user can get those information by pressing a button

Intel Mashmaker: Design Program as you browse view Mashup creation as an extension of the normal web browsing habits Direct manipulation work on data without having to think about abstract concepts such as programs Pay as you go Principles Unskilled users should be able to gain some benefit with very little effort Experts should be able to do more advanced stuff

Intel Mashmaker: Features Look at Dapper to see if the wrapper for a particular site exist Direct manipulation of data through operations such as map, fold, and filter User can interact with Mashmaker at a number of different levels depending on the skill

Intel Mashmaker: Users Basic: know nothing Normal: Occasionally expand the widget panel to edit form parameters Skilled: Connecting sources Semi-Expert: Extract data from new sites Expert: Write complex expression directly in Mash-Maker s core language Gurus: Teach Mashmaker to understand the content of the new website.

Mashmaker Video

Conclusion Tradeoffs in each approach Karma Pro: end-to-end approach based on a programming by demonstration paradigm Con: May not work on all web sites Marmite Pro: Easy integration of capabilities Con: Dataflow model is difficult for users to understand Mashmaker Pro: Browser-based integration Con: Requires an expert to add new functionality