jonathan trevor yahoo pipes

78
Jonathan Trevor [email protected]

Upload: deimos

Post on 06-May-2015

2.509 views

Category:

Technology


1 download

TRANSCRIPT

Page 2: Jonathan Trevor Yahoo Pipes

Apt near Park

How do you find an apartment near a park?

Page 3: Jonathan Trevor Yahoo Pipes

• Craigslist apartment listings

• For each apartment:

• Click on map link

• Check distance to a park on the map

• Tedious

Apt near Park

Page 4: Jonathan Trevor Yahoo Pipes

Apt near Park

• Data is available

• Craigslist apartment RSS feed

• Yahoo! Local API to find Parks

• Can do it in about 50 lines of Perl code#!/usr/bin/perl -wuse strict;use LWP::Simple;use XML::Simple;...

Page 5: Jonathan Trevor Yahoo Pipes

Apt near Park

• Basically combine feeds + web services

• Yet another custom mashup

• HousingMaps, ChicagoCrime, ...

• Would be nice if there was an easier way...

Page 6: Jonathan Trevor Yahoo Pipes

Pipes

grep -iv yahoo.com squid.log | sort | uniq -c | sort -n > top_sources.txt

• Unix Pipes for the Web

• Build useful applications from simple primitives

Page 7: Jonathan Trevor Yahoo Pipes

Pipes

• A free service that lets you remix and create data mashups using a visual editor

• No need to host, we do it for you

Yahoo! Local

Craigslist

Page 8: Jonathan Trevor Yahoo Pipes

Pipes

• A free service that lets you remix and create data mashups using a visual editor

• No need to host, we do it for you

Yahoo! Local

Craigslist

Page 9: Jonathan Trevor Yahoo Pipes

Pipes

• A free service that lets you remix and create data mashups using a visual editor

• No need to host, we do it for you

Yahoo! Local

Craigslist

Page 11: Jonathan Trevor Yahoo Pipes

Piecing things together in the cloud

Page 12: Jonathan Trevor Yahoo Pipes

Any Input

Craigslist

Your data here!

Yahoo!

Google

Ebay

Page 13: Jonathan Trevor Yahoo Pipes

Any Output

Page 14: Jonathan Trevor Yahoo Pipes

Any Output

Page 15: Jonathan Trevor Yahoo Pipes

Any Output

Page 16: Jonathan Trevor Yahoo Pipes

Any Output

Page 17: Jonathan Trevor Yahoo Pipes

Any Output

Page 18: Jonathan Trevor Yahoo Pipes

Any Output

Page 19: Jonathan Trevor Yahoo Pipes

Any Output

Page 20: Jonathan Trevor Yahoo Pipes

Any Output

Page 21: Jonathan Trevor Yahoo Pipes

Any Output

Page 22: Jonathan Trevor Yahoo Pipes

Any Output

Page 23: Jonathan Trevor Yahoo Pipes

Any Output

RSS Readers

Badges

Your app here!

HTML

Page 24: Jonathan Trevor Yahoo Pipes

Any Process

FetchYahoo! Local

Your Web Service Here!

Sort

Page 25: Jonathan Trevor Yahoo Pipes

Openness

Craigslist

Your data here!

Yahoo!

Google

Ebay

RSS Readers

Badges

Your app here!

HTML

FetchYahoo! Local

Your Web Service Here!

Sort

Page 26: Jonathan Trevor Yahoo Pipes

Examples

Page 27: Jonathan Trevor Yahoo Pipes

Hot Deals Search

• searches across many different deal hunting sites on the internet looking for the best prices. You can search for particular items or just let the pipe find the best of what's available

Page 28: Jonathan Trevor Yahoo Pipes

Fantasy Sports search

• get the edge on your friends with a single RSS feed based on searching 70 sites for fantasy sports blog articles

Page 29: Jonathan Trevor Yahoo Pipes

Geoannotated Reuters News

• takes an RSS feed from the Reuters news service, and "geocodes" each item - making it possible to show where that news item is happening on a map of the world.

Page 30: Jonathan Trevor Yahoo Pipes

Who’s Viewed My LinkedIn Profile

Page 31: Jonathan Trevor Yahoo Pipes

Kiva Loans by Location

• gets a list of the micro-loans people have been making through the Kiva site, and shows the amazing variety of people and places that these loan are helping out.

Page 32: Jonathan Trevor Yahoo Pipes

Yahoo! Buzz Image Search

Page 33: Jonathan Trevor Yahoo Pipes

Craigslist house lookup with static Yahoo map

Page 34: Jonathan Trevor Yahoo Pipes

Yahoo Finance Stock Quote Watch List Feed

Page 35: Jonathan Trevor Yahoo Pipes

Contact's Favorite's

Page 36: Jonathan Trevor Yahoo Pipes

Yahoo Unanswered Questions

• finds those questions in the Y! answers site that don't currently have an answer - so you can show how smart you are and answer those tricky questions.

Page 37: Jonathan Trevor Yahoo Pipes

Babbler by Max Case

• Translates IM messages in Second Life

Page 38: Jonathan Trevor Yahoo Pipes

LastTube

• uses content from Last.fm and YouTube. You can watch Youtube’s content based on your Recently Listened Tracks scrobbled to Last.fm.

Page 39: Jonathan Trevor Yahoo Pipes

Advantages to developers(why use an online service to do this?)

• Leveraging large infrastructure

• Faster access to network resources

• Faster access to network services

• System-wide knowledge

• Leverage inter-organizational agreements

• Easy to “string” together with other services

• Easy to use (REST-style URLs)

Page 40: Jonathan Trevor Yahoo Pipes

Network services

• On Y! network services (fast)

• Geocoding, Local, Search ...

• Shortcuts, Term Extraction, Translation

• developer.yahoo.com

• Off Y!

• Google, AWS, Dapper etc

Page 41: Jonathan Trevor Yahoo Pipes

Run / Get the data• Each Pipe gets its own “hosted” page

• Use the REST-style URLs to get the data

Page 42: Jonathan Trevor Yahoo Pipes

Run / Get the data• Each Pipe gets its own “hosted” page

• Use the REST-style URLs to get the data

Page 43: Jonathan Trevor Yahoo Pipes

Edit REST-style queries

http://pipes.yahoo.com/pipes/pipe.run?_id=1mrlkB232xGjJDdwXqIxGw&_render=json&location=palo+alto%2C+ca&mindist=2&what=parks&_callback=foofunction

The ID of the Pipe

Page 44: Jonathan Trevor Yahoo Pipes

http://pipes.yahoo.com/pipes/pipe.run?_id=1mrlkB232xGjJDdwXqIxGw&_render=json&location=palo+alto%2C+ca&mindist=2&what=parks&_callback=foofunction

Edit REST-style queries

The format of the output (rss, json, kml, ical, csv)

Page 45: Jonathan Trevor Yahoo Pipes

http://pipes.yahoo.com/pipes/pipe.run?_id=1mrlkB232xGjJDdwXqIxGw&_render=json&location=palo+alto%2C+ca&mindist=2&what=parks&_callback=foofunction

Edit REST-style queries

The per Pipe user customizable parameters

Page 46: Jonathan Trevor Yahoo Pipes

http://pipes.yahoo.com/pipes/pipe.run?_id=1mrlkB232xGjJDdwXqIxGw&_render=json&location=palo+alto%2C+ca&mindist=2&what=parks&_callback=foofunction

Edit REST-style queries

Optional JSON callback function

Page 47: Jonathan Trevor Yahoo Pipes

Disadvantages(Why not to use an online service?)

• Away from data

• personal (desktop)

• organizational (intranet)

• Security and trust

Page 48: Jonathan Trevor Yahoo Pipes

Design and Implementation

Page 49: Jonathan Trevor Yahoo Pipes

• The top 10% of the web 2.0 pyramid

• Coders, re-mixers, bloggers

• Assume prior knowledge

• Concepts... loops, data types

• End-users benefit indirectly

Target Users

Page 50: Jonathan Trevor Yahoo Pipes

Architecture

DatabaseEngine

Web Site/API

Browser Editor

Sources

Your applicationYour client

Page 51: Jonathan Trevor Yahoo Pipes

Editor

• Edits Pipe definitions

• Heavy lifting performed by Engine

• Rivals a desktop experience

• Almost everything is now possible in a browser

Page 52: Jonathan Trevor Yahoo Pipes

• Instant “ON”, no plugins

• “download this” gets in the way

• Data flow applications are well suited to visual programming

• Learn and propagate by “View Source” and “Clone”

Editor Design

Page 53: Jonathan Trevor Yahoo Pipes

Engine

• Executes Pipes

• Pipes are defined by a simple definition format

• Parallelizes as much of the execution as possible

• Not limited to RSS, supports many common web addressable formats

• but...

Page 54: Jonathan Trevor Yahoo Pipes

Web addressable data

• is very malformed

• can be slow

• needs considerate access

• can be untrustworthy

• can be inaccessible from “here” (behind firewall etc)

Page 55: Jonathan Trevor Yahoo Pipes

Data in the Engine• is “cleaned” (and repaired) into UTF-8

• is cached for

• performance

• playing well with others

• several HTTP proxy layers

• serve stale and force caching

• is “sanitized”

Page 56: Jonathan Trevor Yahoo Pipes

A year in the wild(20+ releases, 250k+ Pipes later)

Page 57: Jonathan Trevor Yahoo Pipes

What’s popular

Page 58: Jonathan Trevor Yahoo Pipes

What’s popular

Page 59: Jonathan Trevor Yahoo Pipes

What’s popular

Page 60: Jonathan Trevor Yahoo Pipes

What’s popular

Page 61: Jonathan Trevor Yahoo Pipes

Typical Pipes/mashups

• Four types of mashup

• Feed aggregation with filtering

• Two-source mashups

• Data transformation and geocoding

• Complex mashups using REST APIs

• Geocoding remains a “mashup” favorite

Page 62: Jonathan Trevor Yahoo Pipes

Reasons for adoption

• Lower barrier to use

• Graphical editor made it quick to write Pipes, attracted non-developers

• “View Source” for learning/tweaking

• Wide array of data input formats and data output formats enabled Pipes to become a useful “component” in a larger ecology

• Web 2.0 responsiveness to community

Page 63: Jonathan Trevor Yahoo Pipes

Inaccessible data

• Lots of requests for more rich and personal data

• Text documents, word documents, mail, Excel spreadsheets

• Workarounds (to some) emerged

• Online spreadsheets, calendars (gcal) with private RSS feeds and so on

Page 64: Jonathan Trevor Yahoo Pipes

Power...

• We started by only supporting RSS

• high-level building blocks and operations

• good for common tasks and novice users

• We listened to our user’s desires

Page 65: Jonathan Trevor Yahoo Pipes

...vs Complexity • Added sources for parsing JSON, XML,

CSV, ICAL ...

• Added modules that could do more and be combined in many ways

• At the cost of simplicity

• Harder to explain, use, compose

• Stretching the capabilities of a visual development environment

Page 66: Jonathan Trevor Yahoo Pipes

Unexpected breadth

• Experts who want to exploit the service

• Non-programers with much simpler needs

• In Pipes

• Its easy to make useful data in the cloud

• Its not easy enough to use it after

• Users like things in one place

Page 67: Jonathan Trevor Yahoo Pipes

Making it easy to use

• Many Pipes provide data that’s useful while mobile

• Geosensitive information

• Time sensitive decisions

• Letting the cloud do the work allows rich thin clients (in addition to thick heavy ones)

• enable novice...expert developers to create (simple) mobile applications that give the right information at the right time

Page 68: Jonathan Trevor Yahoo Pipes

Doing the mobile mash

Page 69: Jonathan Trevor Yahoo Pipes

Doing the mobile mash

Page 70: Jonathan Trevor Yahoo Pipes

Making it easy to use

• Badges are frequently requested

• Despite other solutions

• Initially three variants visualizing common types of data in Pipes

• Geo - map badge

• Flickr/Images - image badge

• Aggregators, transformers - list badge

Coming (very) soon!

Page 71: Jonathan Trevor Yahoo Pipes

Badges

Page 72: Jonathan Trevor Yahoo Pipes
Page 73: Jonathan Trevor Yahoo Pipes

Badges

Page 74: Jonathan Trevor Yahoo Pipes

Badges

Page 75: Jonathan Trevor Yahoo Pipes

Badges

Page 76: Jonathan Trevor Yahoo Pipes

Conclusion 1/2

• Provides powerful data functions to any client

• Consumes data from many services

• Common data formats means any part of the cloud can become the input

• Dapper, AWS, Google spreadsheets

• ...or take the output

• 1/3 Google mashups are powered by Pipes

Page 77: Jonathan Trevor Yahoo Pipes

Conclusion 2/2

• (Some) outstanding technical issues

• Common authentication API

• Inter-service common rate limiting scheme

• Bridges to local data / dbs

Page 78: Jonathan Trevor Yahoo Pipes

Q&A