View
8.118
Download
1
Embed Size (px)
DESCRIPTION
My presentation at the Ajax Experience in Boston about JavaScript in different environments than browsers.
Citation preview
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!