Find, Mix and Show using y ahoo ces to buildservi aware web geo products. Christian Heilmann – YDNDeveloper Evening, Madrid, Spain – September 2009
Today I am going to introduce to you three Yahoo products that answer three developer ques>ons.
How do I make my content findable in a geographical context? (and why that maFers)
How can I easily get informa>on from different resources and mix them?
How can I display content in a predictable manner across all the browsers?
First up: why geographical data maFers.
quite cut it.Searching by text doesn’t http://www.flickr.com/photos/ainet/869942883/
Disambigua>ng can be tough, which is why we built us a system for it.
Free Text Places URL References
First we take Manhattan, and then we take Berlin.
Calling Placemaker http://wherein.yahooapis.com/v1/document documentContent=First+we+take +Manhattan+and+then+we+take+Berlin. documentType=text/plain appid=my_appid
Parameters appid - nothing happens without it! inputLanguagedocumentURL fr-CA,de-DE... url to analyze outputType documentTypexml or RSS MIME type of doc documentContent autoDisambiguate textto analyse remove duplicates documentTitle focusWoeid additionaltitle filter around a woeid
First we take Manhattan, and then we take Berlin.
First we take Manhattan, and then we take Berlin.
Working with Placemaker results
Places
References
Using this you can build cool liFle apps.
Yahoo News Maphttp://isithackday.com/hacks/placemaker/map.php
Geo this! (Greasemonkey)http://icanhaz.com/geothis
GeoMaker Collaboration http://icant.co.uk/geomaker/
GeoMaker API http://icant.co.uk/geomaker/api.php
JS Placemaker http://icant.co.uk/jsplacemaker/
Annoying things
50,000 bytes
The broken web
POST vs. GET
!JSON
Places vs. References
How can you fix all this?
YQL to fix the web.
Connec>ng places and references
YQL open table for GET and JSON
Good news, everyone!
YQL can help you with any data on the web.
The web of data.
CMS
CMS Tags, Comments, Connections, Embeds
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 wheretext='london,uk'
Get only the where on earth IDselect woeid from geo.places where text='london,uk'
Then mix: select id from flickr.photos.search where woe_idin (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') andlicense=4
And get all the info... select * fromflickr.photos.info where photo_id in (select id fromflickr.photos.search where woe_id in (select woeid from geo.placeswhere text='london,uk') and license=4)
Display the results in a few lines...http://isithackday.com/hacks/cantine/ index.php?loc=covent+gardenhttp://isithackday.com/hacks/ajaxexperience/flickrgeophotos.html
Learn YQL by doinghttp://developer.yahoo.com/yql/console/
Any data will do... atom csv feed select * fromhtml json microformats rss xml
Any data will do...http://www.dcs.gla.ac.uk/~joy/fun/jokes/TV.html
Another thing... select server,secret,farm,id,urls.url,location, title,owner,description from flickr.photos.infowhere photo_id in ( select id from flickr.photos.search wherewoe_id in ( select match.place.woeId from geo.placemaker wheredocumentContent in ( select div from html whereurl="http://wait-till-i.com" andxpath="//*[@id='content']" ) anddocumentType="text/html" ) and license=4 )
What the widget packager is for the mobile, YUI is for the web.
The web is a total mess!
In order to work with the web you need to clean it up and make it predictable.
Build a CSS layout that workshttp://developer.yahoo.com/yui/grids/builder/
Use already exis>ng widgetshttp://isithackday.com/hacks/cantine/ index.php?loc=covent+gardenhttp://isithackday.com/hacks/cantine/
The elevator li^ pitch YUI is the system that Yahoo uses to build its web sites. It is constantly tested to work for the largest amount of users, free, open source and covers everything from design paFerns to out‐of‐the‐box widgets. It is modular and you can use only what you need. You can either host it yourself or get it from a network of distributed servers.
Christian Heilmann http://wait-till-i.comhttp://developer-evangelism.com http://twitter.com/codepo8
This slideshow was converted by Easy Slideshare.
The original slides can be found on Slideshare.
Slide content copyright by cheilmann