+ All Categories
Home > Economy & Finance > Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Date post: 17-Aug-2014
Category:
Upload: pamela-fox
View: 18,778 times
Download: 0 times
Share this document with a friend
Description:
Presented at Open Grid Forum 2007.
Popular Tags:
48
Web 2.0 Mashups : Web 2.0 Mashups : How People Can Tap How People Can Tap into the "Grid" for into the "Grid" for Fun & Profit Fun & Profit Pamela Fox Pamela Fox USC/Google USC/Google http://www.slideshare.net/ http://www.slideshare.net/ wuzziwug/web-20-mashups-how- wuzziwug/web-20-mashups-how- people-can-tap-into-the-grid- people-can-tap-into-the-grid- for-fun-profit/ for-fun-profit/
Transcript
Page 1: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Web 2.0 Mashups : Web 2.0 Mashups : How People Can Tap How People Can Tap into the "Grid" for into the "Grid" for

Fun & ProfitFun & ProfitPamela FoxPamela FoxUSC/GoogleUSC/Google

http://www.slideshare.net/http://www.slideshare.net/wuzziwug/web-20-mashups-how-wuzziwug/web-20-mashups-how-people-can-tap-into-the-grid-for-people-can-tap-into-the-grid-for-

fun-profit/fun-profit/

Page 2: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

What’s Web2.0?What’s Web2.0? ““Web 2.0, a phrase coined by O'Reilly Media in 2004, refers to a supposed Web 2.0, a phrase coined by O'Reilly Media in 2004, refers to a supposed

second-generation of Internet-based services such as social networking second-generation of Internet-based services such as social networking sites, wikis, communication tools, and folksonomies that let people sites, wikis, communication tools, and folksonomies that let people collaborate and share information online in previously unavailable ways.” collaborate and share information online in previously unavailable ways.” - Wikipedia- Wikipedia

Page 3: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

It’s all about the user…It’s all about the user… The users define the content, rate The users define the content, rate

(“digg”) the content, review the (“digg”) the content, review the content, create the content, share content, create the content, share the contentthe content

What the user wants, the user getsWhat the user wants, the user gets The Web isn’t ruled by the relatively The Web isn’t ruled by the relatively

static “What’s cool!” directories of static “What’s cool!” directories of the early ’90s the early ’90s

Now, a website can go from 0 to Now, a website can go from 0 to thousands of hits in 1 day, if other thousands of hits in 1 day, if other users discover & share itusers discover & share it

Case in point: The Profane Game. Case in point: The Profane Game. Gadget got blogged about Sunday Gadget got blogged about Sunday morning, had 6,000 players by day’s morning, had 6,000 players by day’s end. (compared to 20 the day before)end. (compared to 20 the day before)

Page 4: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

So what’s a mashup So what’s a mashup anyway?anyway?

““A A mashupmashup is a website or application that is a website or application that combines content from more than one source combines content from more than one source into an integrated experience. Content used into an integrated experience. Content used in mashups is typically sourced from a third in mashups is typically sourced from a third party via a public interface or party via a public interface or APIAPI. Other . Other methods of sourcing content for mashups methods of sourcing content for mashups include include Web feedsWeb feeds (e.g. (e.g. RSSRSS or or AtomAtom) and ) and JavaScriptJavaScript.” – Wikipedia.” – Wikipedia

A mashup is the ultimate user-generated A mashup is the ultimate user-generated content: user likes data source A, data source content: user likes data source A, data source B, & puts them together how they like.B, & puts them together how they like.

* There are also music & video mashups.* There are also music & video mashups.

Page 5: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Some stats about me…Some stats about me… In past 3 months, I’ve entered 3 mashup contests In past 3 months, I’ve entered 3 mashup contests

and placed in all of them (1and placed in all of them (1stst/2/2ndnd/3/3rdrd) - $2000 in ) - $2000 in winnings, and a Google bean bag… not bad for 3am winnings, and a Google bean bag… not bad for 3am hacks!hacks!

On programmableweb.com, only 2 out of 217 On programmableweb.com, only 2 out of 217 developers have registered more mashups than me developers have registered more mashups than me

I now work for Google on the Web API Support team I now work for Google on the Web API Support team (and I’ve used all of their APIs except AdSense)(and I’ve used all of their APIs except AdSense)

Before July 2006 (8 months ago), I’d never used a Before July 2006 (8 months ago), I’d never used a Web APIWeb API

Page 6: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

How did I get started in How did I get started in Web 2.0?Web 2.0?

Or, more appropriately…Or, more appropriately…

Page 7: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

How did I not get started in How did I not get started in Web 2.0?Web 2.0?

By watching Geoffrey Fox’s SOAP By watching Geoffrey Fox’s SOAP lectures (Sorry, dad!)lectures (Sorry, dad!)

Page 8: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Why not?Why not? It could be that I’m dumb, and I’ve It could be that I’m dumb, and I’ve

entertained that idea many times, entertained that idea many times, but…but…

It could be that SOAP/ WS-* isn’t a It could be that SOAP/ WS-* isn’t a very attractive entry point for the very attractive entry point for the casual or novice usercasual or novice user

Page 9: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

What scared me about What scared me about SOAP?SOAP?

Standards, protocols, standards, Standards, protocols, standards, formatsformats

I’ve had a sequence of slides ingrained I’ve had a sequence of slides ingrained in my head since a talk I sat on by in my head since a talk I sat on by Geoffrey for USC AIST in 2004Geoffrey for USC AIST in 2004

I dug them up for you.. Let’s flip I dug them up for you.. Let’s flip through them quicklythrough them quickly

Page 10: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

A List of Web Services I• a) Core Service Architecture• XSD XML Schema (W3C Recommendation) V1.0 February

1998, V1.1 February 2004 • WSDL 1.1 Web Services Description Language Version 1.1,

(W3C note) March 2001 • WSDL 2.0 Web Services Description Language Version 2.0,

(W3C under development) March 2004 • SOAP 1.1 (W3C Note) V1.1 Note May 2000• SOAP 1.2 (W3C Recommendation) June 24 2003 • b) Service Discovery• UDDI (Broadly Supported OASIS Standard) V3 August 2003 • WS-Discovery Web services Dynamic Discovery (Microsoft,

BEA, Intel …) February 2004 • WS-IL Web Services Inspection Language, (IBM, Microsoft)

November 2001

Page 11: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

A List of Web Services II• c) Security• SAML Security Assertion Markup Language (OASIS) V1.1

May 2004 • XACML eXtensible Access Control Markup Language

(OASIS) V1.0 February 2003 • WS-Security 2004 Web Services Security: SOAP Message

Security (OASIS) Standard March 2004• WS-SecurityPolicy Web Services Security Policy (IBM,

Microsoft, RSA, Verisign) Draft December 2002• WS-Trust Web Services Trust Language (BEA, IBM,

Microsoft, RSA, Verisign …) May 2004• WS-SecureConversation Web Services Secure

Conversation Language (BEA, IBM, Microsoft, RSA, Verisign …) May 2004

• WS-Federation Web Services Federation Language (BEA, IBM, Microsoft, RSA, Verisign) July 2003

Page 12: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

A List of Web Services III• d) Messaging• WS-Addressing Web Services Addressing (BEA, IBM, Microsoft) March

2004 • WS-MessageDelivery Web Services Message Delivery (W3C

Submission by Oracle, Sun ..) April 2004 • WS-Routing Web Services Routing Protocol (Microsoft) October 2001• WS-RM Web Services Reliable Messaging (BEA, IBM, Microsoft, Tibco)

v0.992 March 2004 • WS-Reliability Web Services Reliable Messaging (OASIS Web Services

Reliable Messaging TC) March 2004• SOAP MOTM SOAP Message Transmission Optimization Mechanism

(W3C) June 2004 • e) Notification• WS-Eventing Web Services Eventing (BEA, Microsoft, TIBCO) January

2004 • WS-Notification Framework for Web Services Notification with WS-

Topics, WS-BaseNotification, and WS-BrokeredNotification (OASIS) OASIS Web Services Notification TC Set up March 2004

• JMS Java Message Service V1.1 March 2002

Page 13: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

A List of Web Services IV• f) Coordination and Workflow, Transactions and Contextualization• WS-CAF Web Services Composite Application Framework including WS-CTX,

WS-CF and WS-TXM below (OASIS Web Services Composite Application Framework TC) July 2003

• WS-CTX Web Services Context (OASIS Web Services Composite Application Framework TC) V1.0 July 2003

• WS-CF Web Services Coordination Framework (OASIS Web Services Composite Application Framework TC) V1.0 July 2003

• WS-TXM Web Services Transaction Management (OASIS Web Services Composite Application Framework TC) V1.0 July 2003

• WS-Coordination Web Services Coordination (BEA, IBM, Microsoft) September 2003

• WS-AtomicTransaction Web Services Atomic Transaction (BEA, IBM, Microsoft) September 2003

• WS-BusinessActivity Web Services Business Activity Framework (BEA, IBM, Microsoft) January 2004

• BTP Business Transaction Protocol (OASIS) May 2002 with V1.0.9.1 May 2004

• BPEL Business Process Execution Language for Web Services (OASIS) V1.1 May 2003

• WS-Choreography (W3C) V1.0 Working Draft April 2004 • WSCI (W3C) Web Service Choreography Interface V1.0 (W3C Note from BEA,

Intalio, SAP, Sun, Yahoo) • WSCL Web Services Conversation Language (W3C Note) HP March 2002

Page 14: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

A List of Web Services V• h) Metadata and State• RDF Resource Description Framework (W3C) Set of recommendations

expanded from original February 1999 standard • DAML+OIL combining DAML (Darpa Agent Markup Language) and OIL

(Ontology Inference Layer) (W3C) Note December 2001 • OWL Web Ontology Language (W3C) Recommendation February 2004 • WS-DistributedManagement Web Services Distributed Management

Framework with MUWS and MOWS below (OASIS) • WSDM-MUWS Web Services Distributed Management: Management

Using Web Services (OASIS) V0.5 Committee Draft April 2004 • WSDM-MOWS Web Services Distributed Management: Management of

Web Services (OASIS) V0.5 Committee Draft April 2004 • WS-MetadataExchange Web Services Metadata Exchange (BEA,IBM,

Microsoft, SAP) March 2004 • WS-RF Web Services Resource Framework including WS-

ResourceProperties, WS-ResourceLifetime, WS-RenewableReferences, WS-ServiceGroup, and WS-BaseFaults (OASIS) Oasis TC set up April 2004 and V1.1 Framework March 2004

• ASAP Asynchronous Service Access Protocol (OASIS) with V1.0 working draft G June 2004

• WS-GAF Web Service Grid Application Framework (Arjuna, Newcastle University) August 2003

Page 15: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

A List of Web Services VI• g) General Service Characteristics• WS-Policy Web Services Policy Framework (BEA,

IBM, Microsoft, SAP) May 2003• WS-PolicyAssertions Web Services Policy Assertions

Language (BEA, IBM, Microsoft, SAP) May 2003 • WS-Agreement Web Services Agreement

Specification (GGF under development) May 2004• i) User Interfaces• WSRP Web Services for Remote Portlets (OASIS)

OASIS Standard August 2003 • JSR168: JSR-000168 Portlet Specification for Java

binding (Java Community Process) October 2003

Page 16: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

And thus, I repressed And thus, I repressed SOAPSOAP

It was depressing to think how little It was depressing to think how little I understood what the hell he was I understood what the hell he was talking about, so I resolved to put it talking about, so I resolved to put it out of my head until I had a good out of my head until I had a good few weeks/months/years to sort few weeks/months/years to sort through it allthrough it all

Page 17: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

And then my web2.0 awakening And then my web2.0 awakening began…began…

I was working on a survey about the similarity I was working on a survey about the similarity of video games, and wondered if I could of video games, and wondered if I could compare our human results to Amazon datacompare our human results to Amazon data

It was time to get over my fear of web It was time to get over my fear of web services...services...

I tried enlisting the help of my boyfriend, an I tried enlisting the help of my boyfriend, an employee of AWS, but he was busy codingemployee of AWS, but he was busy coding

So I sucked it up and googled how to do it-So I sucked it up and googled how to do it-

Page 18: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

And all it took was ONE And all it took was ONE URL!URL!

Putting Putting ONE URL ONE URL in the browser would in the browser would report back the similarity for a productreport back the similarity for a product

And thus I discovered the simplicity of And thus I discovered the simplicity of REST*, and the addiction beganREST*, and the addiction began

*pseudo-REST. Google it.*pseudo-REST. Google it.

Page 19: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

My first Mashup, My first Mashup, by Pamela Fox, Age by Pamela Fox, Age

2222 The The Similarity Web Similarity Web (completed (completed

a few days after discovery of the one a few days after discovery of the one URL)URL)

Wow, my little mashup sure Wow, my little mashup sure increased my site trafficincreased my site traffic

With 1 URL, Amazon had With 1 URL, Amazon had given me a simple tool that given me a simple tool that let me share a new way of let me share a new way of exploring products with exploring products with thousands of consumersthousands of consumers

Thank you, Amazon! (for Thank you, Amazon! (for the referral fees, too)the referral fees, too)

Page 20: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Let the mashup madness Let the mashup madness begin!begin!

Note: Most of these were coded at 3am or while waiting for homework to compile.

Page 21: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Why is mashing up so Why is mashing up so damn fun?damn fun?

I’ll admit - find myself daydreaming about new I’ll admit - find myself daydreaming about new mashups I can make every daymashups I can make every day

Mashing is fast, especially once you’ve done a few – Mashing is fast, especially once you’ve done a few – I’ve got enough PHP/flash/python scripts now that it I’ve got enough PHP/flash/python scripts now that it doesn’t take long to adapt them to a slightly different doesn’t take long to adapt them to a slightly different purposepurpose

Mashing is fun – you can share your mashup with the Mashing is fun – you can share your mashup with the online world (not just the geeks!), and get feedback online world (not just the geeks!), and get feedback instantlyinstantly The research community isn’t usually like that The research community isn’t usually like that - must wait - must wait

for papers to be published, research to be polished, etc., etc.for papers to be published, research to be polished, etc., etc. Because of the various mashups I’ve posted on my Because of the various mashups I’ve posted on my

blog, I’ve gotten comments from writers, linguists, blog, I’ve gotten comments from writers, linguists, game designers, businessmengame designers, businessmen

Page 22: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

So what makes mashups So what makes mashups so cool?so cool?

"We know we don't have a "We know we don't have a corner on creativity. There corner on creativity. There are are creative peoplecreative people all all around the world, around the world, hundreds of millions of hundreds of millions of them, and they are going them, and they are going to think of things to do to think of things to do with our basic platform with our basic platform that we didn't think of. So that we didn't think of. So the mashup stuff is a the mashup stuff is a wonderful way of allowing wonderful way of allowing people to find new ways of people to find new ways of applying the basic applying the basic infrastructures we're infrastructures we're propagating.” – propagating.” – VintVint Cerf Cerf (via Wikipedia)(via Wikipedia)

Diagram from http://blogs.zdnet.com/Hinchcliffe/?p=63

Page 23: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Basically…Basically… You provide the API to access the You provide the API to access the

structured information, and we find structured information, and we find new and exciting ways to use the new and exciting ways to use the information (free labor!)information (free labor!)

Ref: “Why Google Loves the Little Ref: “Why Google Loves the Little Guys”Guys”

http://www.forbes.com/technology/http://www.forbes.com/technology/2006/09/17/mashup-search-google-2006/09/17/mashup-search-google-tech-cz_qh_0918google.htmltech-cz_qh_0918google.html

Page 24: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup technologies: Mashup technologies: AJAXAJAX

AJAX: Asynchronous javascript + XMLAJAX: Asynchronous javascript + XML Before AJAX: Every time the user wanted to Before AJAX: Every time the user wanted to

interact with the server, they had to press a interact with the server, they had to press a button and reload the pagebutton and reload the page

AJAX is what allows the user to stay on one AJAX is what allows the user to stay on one page but continually see new information upon page but continually see new information upon interaction with the pageinteraction with the page

The user presses a button/changes a The user presses a button/changes a parameter, the javascript sends a request to parameter, the javascript sends a request to the server and assigns it a callback functionthe server and assigns it a callback function

Once server has returned response, callback Once server has returned response, callback function takes care of itfunction takes care of it

Page 25: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup technologies: Mashup technologies: AJAXAJAX

AJAX uses the AJAX uses the XMLHttpRequest/Microsoft.XMLHTTP objectXMLHttpRequest/Microsoft.XMLHTTP object Unfortunately IE/FF couldn’t decide on oneUnfortunately IE/FF couldn’t decide on one

Many Javascript libraries provide wrappers Many Javascript libraries provide wrappers that generalize the object to be cross-browser that generalize the object to be cross-browser compatiblecompatible

A basic AJAX example using GMaps API:A basic AJAX example using GMaps API:GDownloadUrl("data.xml", function(data, responseCode) { GDownloadUrl("data.xml", function(data, responseCode) {

var xml = GXml.parse(data); var xml = GXml.parse(data); var markers = var markers = xml.documentElement.getElementsByTagName("marker"); xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) for (var i = 0; i < markers.length; i++) { { var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); parseFloat(markers[i].getAttribute("lng"))); map.addOverlay(new GMarker(point)); } }); map.addOverlay(new GMarker(point)); } });

Page 26: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup technologies: Mashup technologies: AJAXAJAX

Users like AJAX-y pages because it feels fast to not Users like AJAX-y pages because it feels fast to not reload the page, but it can be problematic as it reload the page, but it can be problematic as it doesn’t have built in history/bookmark-abilitydoesn’t have built in history/bookmark-ability

Perfect for dynamic customization of search results, etc.Perfect for dynamic customization of search results, etc. As long as there’s some portion of the page the As long as there’s some portion of the page the

user’s interested in, it’s OK for other parts to be user’s interested in, it’s OK for other parts to be loadingloading

The term AJAX is also used incorrectly to describe The term AJAX is also used incorrectly to describe nifty visual effects commonly used on web2.0 sites nifty visual effects commonly used on web2.0 sites (actually just DHTML, as there’s no XML involved)(actually just DHTML, as there’s no XML involved)

Ubiquity of the ajax loading gif: Ubiquity of the ajax loading gif: http://www.ajaxload.info/http://www.ajaxload.info/

Page 27: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup technologies: Mashup technologies: JSONJSON

JSON: JavaScript Object NotationJSON: JavaScript Object Notation Solves the cross-site scripting restriction Solves the cross-site scripting restriction

inherent in AJAXinherent in AJAX JavaScript can’t make requests that aren’t on JavaScript can’t make requests that aren’t on

its own serverits own server Script includes *can* reference javascripts on Script includes *can* reference javascripts on

other servers, and those javascripts can inject other servers, and those javascripts can inject variables/functions into the website that it can variables/functions into the website that it can then usethen use

So mashups can be completely client-side ! (but So mashups can be completely client-side ! (but usually always involve server-side processing)usually always involve server-side processing)

Page 28: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup technologies: Mashup technologies: JSONJSON

JSON is similar to XML in it’s hierarchical structure, but doesn’t require any JSON is similar to XML in it’s hierarchical structure, but doesn’t require any non-native Javascript functionality as it actually is an injected JavaScript objectnon-native Javascript functionality as it actually is an injected JavaScript object

A basic JSON example:A basic JSON example:

<script> <script> function listEntries(root) { function listEntries(root) {

var feed = root.feed;var feed = root.feed;var entries = feed.entry || []; var entries = feed.entry || []; for (var i = 0; i < feed.entry.length; ++i) { for (var i = 0; i < feed.entry.length; ++i) { var entry = feed.entry[i]; var entry = feed.entry[i]; var title = entry.title.$t; var title = entry.title.$t; var content = entry.content.$t; var content = entry.content.$t; var link = entry.link[0].href; var link = entry.link[0].href; html.push('<li>','<a target="_blank" href="', link, '" >', title, '</a>','</li>'); html.push('<li>','<a target="_blank" href="', link, '" >', title, '</a>','</li>'); } } document.getElementById("agenda").innerHTML = html.join(""); document.getElementById("agenda").innerHTML = html.join(""); } } </script> </script>

<script src="http://uscgamepipeinterviews.blogspot.com/feeds/posts/default?alt=json-in-<script src="http://uscgamepipeinterviews.blogspot.com/feeds/posts/default?alt=json-in-script&callback=listEntries"> </script>script&callback=listEntries"> </script>

Page 29: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup Technologies: PHP, Ruby, Mashup Technologies: PHP, Ruby, Python, PerlPython, Perl

Many web-friendly scripting languages are Many web-friendly scripting languages are used for interacting with web servicesused for interacting with web services

Even better are the languages that natively Even better are the languages that natively interact with mySQL databases (e.g. PHP, interact with mySQL databases (e.g. PHP, ruby)ruby)

Often-times developers build wrappers over Often-times developers build wrappers over web APIs in the scripting language to make web APIs in the scripting language to make them even easier to usethem even easier to use

E.g. I just created a Python wrapper for the E.g. I just created a Python wrapper for the Google Spreadsheets APIGoogle Spreadsheets API

Page 30: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

The flow of a mashup: Google The flow of a mashup: Google GadgetGadget

Gadgets are mini-apps that are easy to share &embed Gadgets are mini-apps that are easy to share &embed Gadgets are often used to provide quick views of information Gadgets are often used to provide quick views of information

from other sitesfrom other sites WordHunter Xtreme, diagrammed below, won “Most Addictive” WordHunter Xtreme, diagrammed below, won “Most Addictive”

in Google Gadget University Awardsin Google Gadget University Awards

Page 31: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

The flow of a mashup: The flow of a mashup: Google MapGoogle Map

MashPlanet is a mashup of MashPlanet is a mashup of map mashups (say that map mashups (say that 10x fast)10x fast)

The Web2.0 is seeing an The Web2.0 is seeing an explosion of geo-tagged explosion of geo-tagged data and maps (we can data and maps (we can visualize data as more visualize data as more than just a list now!)than just a list now!)

Google Maps API is the Google Maps API is the most used of all web APIs most used of all web APIs currentlycurrently

Google Maps API Google Google Maps API Google group has 17822 members group has 17822 members & gets average 150 & gets average 150 messages/day – majority of messages/day – majority of these are answered within these are answered within a few hours (and not a few hours (and not usually by Google usually by Google employees)employees) Why? JavaScript may Why? JavaScript may

not be the cleanest not be the cleanest language, but its client-language, but its client-side and that makes it side and that makes it easy for others to easy for others to debugdebug

Page 32: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

The Mashup/Web2.0 The Mashup/Web2.0 CommunityCommunity

Generally, everyone’s happy & quick to link up with Generally, everyone’s happy & quick to link up with everyone else (networking never does anyone any harm)everyone else (networking never does anyone any harm)

We’re all in it together philosophy. API providers in constant We’re all in it together philosophy. API providers in constant interaction with their users. It can only make it better.interaction with their users. It can only make it better.

Conferences:Conferences: Mashup Camp: The unconference for the uncomputer Mashup Camp: The unconference for the uncomputer

((http://www.mashupcamp.com/)http://www.mashupcamp.com/) BarCamp, Where2.0, etc.BarCamp, Where2.0, etc.

Directories:Directories: http://www.programmableweb.com (THE directory)http://www.programmableweb.com (THE directory) http://www.emilychang.com/go/ehub/http://www.emilychang.com/go/ehub/

Blogs:Blogs: http://web2.wsj2.com/ (Web2.0, great diagrams/analyses)http://web2.wsj2.com/ (Web2.0, great diagrams/analyses) http://www.mashable.com/ (Social networking)http://www.mashable.com/ (Social networking) http://www.readwriteweb.com (Products/debates)http://www.readwriteweb.com (Products/debates) http://www.techcrunch.com (Startups)http://www.techcrunch.com (Startups)

Page 33: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup TypesMashup Types There ~1500 mashups registered on There ~1500 mashups registered on

programmableweb.com, but most have the programmableweb.com, but most have the same purpose: helping web-surfers same purpose: helping web-surfers discover and sift through information in discover and sift through information in new and useful waysnew and useful ways

The web’s always been about sharing The web’s always been about sharing information, and it still is.information, and it still is.

Some basic types: aggregators, search Some basic types: aggregators, search aggregators, visualizers, mobile, maps, aggregators, visualizers, mobile, maps, gamesgames

Page 34: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup type: Mashup type: AggregatorsAggregators

Combine feeds/info from various related websites Combine feeds/info from various related websites into one site.into one site.

More info + less clicks = happier websurferMore info + less clicks = happier websurfer

Examples: Examples: http://www.originalsignal.comhttp://www.originalsignal.com, , http://doggdot.us, http://reader.google.comhttp://doggdot.us, http://reader.google.com

Page 35: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup Types: Search/search Mashup Types: Search/search aggregatorsaggregators

Search: Let you search an API’s dataSearch: Let you search an API’s data Search aggregators: Let you search once, Search aggregators: Let you search once,

find info from many search engines/APIs at find info from many search engines/APIs at once.once.

Examples: Examples: http://pulpsite.net/zontube/http://pulpsite.net/zontube/, , http://imagine-it.org/google/musicmashhttp://imagine-it.org/google/musicmash.htm.htm

Page 36: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup Types: VisualizersMashup Types: Visualizers Visualizers: Take related data and visualize in a new Visualizers: Take related data and visualize in a new

and meaningful way (e.g. clouds, maps)and meaningful way (e.g. clouds, maps)

Examples: Examples: http://imagine-it.org/amazong/vissimweb.htmhttp://imagine-it.org/amazong/vissimweb.htm, , http://www.coverpop.comhttp://www.coverpop.com, , http://mathias.cianci.free.fr/http://mathias.cianci.free.fr/

Page 37: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup Types: Maps/EarthMashup Types: Maps/Earth Take data with geo info from other sources Take data with geo info from other sources

(including users!) and plot on map (including users!) and plot on map Geographical info could be latitude/longitude, Geographical info could be latitude/longitude,

could just be an address, city or place name as could just be an address, city or place name as geocoding APIs are quite commongeocoding APIs are quite common

Examples: Examples: http://www.81nassau.com/apnews/http://www.81nassau.com/apnews/, , http://www.bikely.comhttp://www.bikely.com, , http://imagine-it.org/mashplanet/http://imagine-it.org/mashplanet/

Page 38: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup Types: MobileMashup Types: Mobile Take online data from APIs/feeds and put in Take online data from APIs/feeds and put in

mobile-friendly formatmobile-friendly format Increasingly needed as many fancy web2.0 Increasingly needed as many fancy web2.0

websites just won’t work on cell phones (AJAX) websites just won’t work on cell phones (AJAX) but people still want their information, and but people still want their information, and quick!quick!

Examples: http://www.411sync.com/cgi-bin/search_api?Examples: http://www.411sync.com/cgi-bin/search_api?query=mydigg+txttester, query=mydigg+txttester, http://www.411sync.com/cgi-bin/search_api?query=daily, http://www.411sync.com/cgi-bin/search_api?query=daily, http://www.frucall.comhttp://www.frucall.com

Page 39: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup Types: GamesMashup Types: Games Make players guess more data about a web Make players guess more data about a web

object (photo, friend, map clue)object (photo, friend, map clue) My personal favorite type My personal favorite type

Examples here: Examples here: http://imagine-it.org/flickr/PhotoMunchrs.html, http://imagine-it.org/flickr/PhotoMunchrs.html, http://imagine-it.org/google/wordhunter.htm, http://imagine-http://imagine-it.org/google/wordhunter.htm, http://imagine-it.org/flickr/flicktionary.htm, http://www.facebook.comit.org/flickr/flicktionary.htm, http://www.facebook.com

Page 40: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Mashup Types: Other!Mashup Types: Other! Obligatory slide to say that there Obligatory slide to say that there

are other types of mashupsare other types of mashups Also easy way to talk about my Also easy way to talk about my

work with ClearForest Semantic work with ClearForest Semantic Web ServicesWeb Services

Newsmakers of the Day: Newsmakers of the Day: Sends news articles from CNN to be Sends news articles from CNN to be

analyzed by ClearForestanalyzed by ClearForest Retrieves entity names, finds the Retrieves entity names, finds the

most relatively popular entities of most relatively popular entities of the daythe day

Displays them as a daily calendar Displays them as a daily calendar itemitem

Motivates me to read the news!Motivates me to read the news! Won 3Won 3rdrd place in their contest place in their contest Most contest entries did similar Most contest entries did similar

thing: navigate news by entity, not thing: navigate news by entity, not titletitle

Page 41: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

The Future of MashingThe Future of Mashing Currently mashing up is for the Currently mashing up is for the

programmers and the people-not-afraid-to-programmers and the people-not-afraid-to-try-programming, but that’s changingtry-programming, but that’s changing

Visual development environments let non-Visual development environments let non-techies connect APIs together, style the techies connect APIs together, style the output, and embed in various formatsoutput, and embed in various formats

It’s not fair for techies to have all the It’s not fair for techies to have all the mashing fun!mashing fun!

E.g. OpenKapow.comE.g. OpenKapow.com

Page 42: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

The APIs Making it The APIs Making it HappenHappen

Let’s give a hand to all Let’s give a hand to all the Web APIs letting the Web APIs letting mashups happenmashups happen

Programmableweb.com Programmableweb.com is a site tracking is a site tracking mashups and APIsmashups and APIs

363 registered Web 363 registered Web APIsAPIs

Page 43: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

APIs per Protocol APIs per Protocol DistributionDistribution

REST SOAP XML-RPC REST,XML-RPC

REST,XML-RPC,

SOAP

REST,SOAP

JS Other

google google mapsmaps

netvibesnetvibes

live.comlive.com

virtual virtual earthearth

google google searchsearchamazon S3amazon S3

amazon amazon ECSECS

flickrflickrebayebayyoutubeyoutube

411sync411syncdel.icio.usdel.icio.us

yahoo! searchyahoo! searchyahoo! geocodingyahoo! geocoding

technoratitechnoratiyahoo! imagesyahoo! imagestrynttrynt

yahoo! localyahoo! local

- Analysis of the API protocols offered vs. mashup count on programmableweb.com

Page 44: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

What, no API available?What, no API available? Then make one!Then make one! Feed dapper.com example pages from the site Feed dapper.com example pages from the site

you’d like to screen-scrape, select the page you’d like to screen-scrape, select the page elements you’re interested in, and presto – elements you’re interested in, and presto – You’ve got a custom API! You’ve got a custom API!

Note: may be illegal to screen-scrape data from Note: may be illegal to screen-scrape data from some sites. Oops. some sites. Oops.

Page 45: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Suggestions for (current/would-be) API Suggestions for (current/would-be) API ProvidersProviders

Provide a REST API or Javascript API, depending Provide a REST API or Javascript API, depending on what’s more appropriate for your API, to on what’s more appropriate for your API, to attract casual usersattract casual users

Continue providing SOAP API for other usersContinue providing SOAP API for other users = Best of both worlds! = Best of both worlds!

Quote from user trying to use ClearForest SOAP Quote from user trying to use ClearForest SOAP API when first released:API when first released: ““How about a REST interface or at least a simpler web How about a REST interface or at least a simpler web

interface with a GET or POST form (minus the frames). interface with a GET or POST form (minus the frames). This would be a preferable option for many mashup This would be a preferable option for many mashup environments, compared to SOAP.”environments, compared to SOAP.”

ClearForest offered a REST API within the week.ClearForest offered a REST API within the week.

Page 46: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Web API Providers: What’s in it for Web API Providers: What’s in it for you? you?

Free testers – people will try the craziest Free testers – people will try the craziest things with your API, and let you know things with your API, and let you know when it goes wrongwhen it goes wrong

Free documentation – people write up Free documentation – people write up examples, tutorials, explanationsexamples, tutorials, explanations

Free publicity – people use your Free publicity – people use your lightweight API, companies pay attention, lightweight API, companies pay attention, offer to buy enterprise version accountoffer to buy enterprise version account

Free support community – people help Free support community – people help other people with your APIother people with your API

Free add-ons – people like your API, but Free add-ons – people like your API, but find it’s lacking – no problem, they write find it’s lacking – no problem, they write libraries of plug-ins for itlibraries of plug-ins for it

Page 47: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

API Providers: Watch API Providers: Watch out…out…

Web APIs rely on one very important thing: Web APIs rely on one very important thing: the Web.the Web.

If your server goes down and your Web API If your server goes down and your Web API is inaccessible, anyone using your API is is inaccessible, anyone using your API is out of luck/likely to switch.out of luck/likely to switch.

Or… if your API becomes more popular Or… if your API becomes more popular than your wildest dreams, you may than your wildest dreams, you may discover you/your server can’t handle the discover you/your server can’t handle the famefame

Be ready to scale and to be on-call.Be ready to scale and to be on-call.

Page 48: Web 2.0 & Mashups: How People can Tap into the "Grid" for Fun & Profit

Interested? Want to Interested? Want to learn more?learn more?

Take the Web2.0 Awareness test:Take the Web2.0 Awareness test: http://www.schillmania.com/random/humour/http://www.schillmania.com/random/humour/

web20awareness/web20awareness/ Dad failed!! (Only visited myspace.com… Dad failed!! (Only visited myspace.com…

hmm…)hmm…) Start browsing, looking, discovering. Start browsing, looking, discovering.

Try not to get addicted… or do!Try not to get addicted… or do!


Recommended