Web Services and JavaScript
Using and Offering Data on the Web for All of Us
Christian Heilmann – Ajax Experience, Boston, MA, USA – September 2009
I am Chris.
Developer Evangelist
Evolving the web.
The web of data.
CMS
CMS
Tags, Comments, Connections, Embeds
Access issues.
Trust issues.
Client issues.
Liberating thoughts.
Photo of Scott Schiller
http://www.schillmania.com/projects/soundmanager2/
http://dt.in.th/2008–05–18.javascript-karaoke-lyric-scroller.html
http://www.schillmania.com/content/demos/yui-sm2/noisy-events/
New environments.
Widgets.
W3C Widgets
http://www.w3.org/TR/widgets/http://www.quirksmode.org/blog/
archives/2009/04/introduction_to.html
Air
Browser Extensions
Easingaccess.
The Yahoo Query Language, or short YQL is a unified interface language to the web.
http://developer.yahoo.com/yql/
select {what} from {source} where {conditions} | {filters}
http://query.yahooapis.com/v1/public/yql?q={query}&format={format}
For example:
select * from geo.places where text='london,uk'
Get only the where on earth ID
select woeid from geo.places where text='london,uk'
Then mix:
select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4
Then mix:
select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4
And get all the info...
select * from flickr.photos.info where photo_id in (select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4)
http://isithackday.com/hacks/cantine/index.php?loc=covent+garden
http://isithackday.com/hacks/cantine/
Then display them using frameworks...
http://isithackday.com/hacks/cantine/index.php?loc=covent+garden
Or with a few lines of code...
http://isithackday.com/hacks/ajaxexperience/flickrgeophotos.html
Learn YQL by doing
http://developer.yahoo.com/yql/console/
Is this Yahoo only?
Any data will do...
select * from
atomcsvfeedhtmljsonmicroformatsrssxml
Any data will do...
http://www.dcs.gla.ac.uk/~joy/fun/jokes/TV.html
http://isithackday.com/hacks/scraping-with-yql/
http://github.com/spullara/yql-tables/tree/master
I won the competition last week (Netbook + Mobile)
How did I do it?
Rockstar?
Lazy!
http://code.google.com/apis/ajaxlanguage/documentation/
http://github.com/codepo8/MultiTweet/tree/master
http://github.com/codepo8/MultiTweet/tree/masterhttp://www.betavine.net/bvportal/resources/widgets/research
Bring on your data...
http://developer.yahoo.com/yql/guide/yql-opentables-chapter.html
Read
or
writ
e...
http://developer.yahoo.com/yql/guide/yql-iud-statements.html
INSERT INTO bitly.shorten (login, apiKey, longUrl) VALUES ('USERNAME', 'API_KEY', 'http://yahoo.com')
And free your JavaScript!
http://developer.yahoo.com/yql/guide/yql-execute-chapter.html
★ Full REST support★ oAuth★ E4X ★ xpath★ json+xml★ crypto★ include() and
use()
Netflix oAuth example.
http://github.com/spullara/yql-tables/blob/b634ac2bd42f9b5c77564cdb0d25613c84bb320a/netflix/netflix.catalog.xml
Now go and play!
October 9 & 10 - NYC
http://icanhaz.com/yahoohacknyc
Thanks for the photos!http://www.flickr.com/photos/careytilden/115435226//
http://www.flickr.com/photos/lumachrome/2140368742/
http://www.flickr.com/photos/clevercupcakes/2384420607/
http://www.flickr.com/photos/yodelanecdotal/1253196352/
http://www.flickr.com/photos/seven13avenue/2080281038/
http://www.flickr.com/photos/tudor/2981410947/
http://www.flickr.com/photos/clspeace/162336973
http://b3ta.com
http://failblog.net
http://icanhascheezburger.com
http://theinternets
Chris5an Heilmann h7p://wait‐5ll‐i.com h7p://developer‐evangelism.com h7p://twi7er.com/codepo8
Thanks!