USC Yahoo! BOSS, YAP and YQL Overview

1,865 views

Published on

Overview of three Yahoo! Technologies. Build your Own Search Service (BOSS), Yahoo! Query Language (YQL) and the Yahoo! Application Platform (YAP) for the University of South Carolina

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,865
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
28
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • - Social, Contacts, Updates, Status APIs
  • - Social, Contacts, Updates, Status APIs
  • - Social, Contacts, Updates, Status APIs
  • - Social, Contacts, Updates, Status APIs
  • - Social, Contacts, Updates, Status APIs
  • USC Yahoo! BOSS, YAP and YQL Overview

    1. 1. Yahoo! Open Technologies Jonathan LeBlanc – Technology Evangelist Yahoo! Developer Network – Partner Integrations Blog: www.nakedtechnologist.com Twitter: jcleblanc
    2. 2. <ul><li>Build Your Own Search Service </li></ul><ul><li>( BOSS ) </li></ul>
    3. 3. <ul><li>How Do I Use It? Development and Stuff </li></ul>
    4. 4. BOSS – Requesting Data <ul><li>http://boss.yahooapis.com/ysearch/{service}/v1/ </li></ul><ul><li>{query}?appid={yourBOSSappid}&[params] </li></ul><ul><li>Params </li></ul><ul><li>• start • format </li></ul><ul><li>• count • callback </li></ul><ul><li>• lang • sites </li></ul><ul><li>• region </li></ul>
    5. 5. <ul><li>What Can I Build With This Thing? BOSS Examples in Practice </li></ul>
    6. 6. New Presentation Models
    7. 7. Client / Browser Integrations
    8. 8. New Ranking Models
    9. 9. Vertical/niche search products
    10. 10. <ul><li>Yahoo! Application Platform </li></ul><ul><li>( YAP ) </li></ul>
    11. 11. <ul><li>YAP Applications What’s a YAP Application? </li></ul>
    12. 12. <ul><li>Runs on YAP </li></ul><ul><li>Supports 2- & 3- legged OAuth </li></ul><ul><li>Supports OpenSocial 0.8 JavaScript APIs </li></ul>Open Applications
    13. 13. Open Application - Views Small View Large View
    14. 16. <ul><li>Runs off platform </li></ul><ul><li>Supports 2- & 3-legged OAuth </li></ul><ul><li>Does not contain views </li></ul><ul><li>Requires users to authenticate session </li></ul>OAuth Applications
    15. 18. <ul><li>Y!OS Components How does it work? </li></ul>
    16. 19. Y!OS Components – Open Authentication (OAuth) <ul><li>2-legged & 3-legged OAuth </li></ul><ul><li>Consumer / Shared Secret keys </li></ul><ul><li>Similar to proprietary BBAuth, but open standard </li></ul><ul><li>http://developer.yahoo.com/oauth/ </li></ul>
    17. 20. <ul><li>Allows secured access to private data </li></ul><ul><li>Whitelisted components </li></ul><ul><li>Will begin integrating into OSML </li></ul><ul><li>http://developer.yahoo.com/yap/yml </li></ul>Y!OS Components – Yahoo Markup Language (YML)
    18. 21. <ul><li>Social Directory (read) </li></ul><ul><li>Contacts (read) </li></ul><ul><li>User Status (read / write) </li></ul><ul><li>Updates (read / write) </li></ul><ul><li>http://developer.yahoo.com/social </li></ul>Y!OS Components – Social APIs
    19. 22. <ul><li>HTML / CSS / JavaScript securer </li></ul><ul><li>Enforces standards </li></ul><ul><li>Includes JSLint (http://www.jslint.com) </li></ul><ul><li>One of the first to integrate Caja </li></ul><ul><li>http://code.google.com/p/google-caja </li></ul><ul><li>http://developer.yahoo.com/yap/guide/caja-support.html </li></ul>Y!OS Components – Caja
    20. 23. Caja - IFrame Security Concerns <ul><li>IFrame Concerns </li></ul><ul><li>Drive-by downloads </li></ul><ul><li>No real content restrictions </li></ul><ul><li>Other known exploits </li></ul><ul><li>Caja Implementation </li></ul><ul><li>Blacklist all / Whitelist some model </li></ul><ul><li>Secure OpenSocial container </li></ul>
    21. 24. PHP SDK Currently Available Open and OAuth Applications ActionScript 3 SDK Currently Available Open Applications Y!OS Components – SDKs
    22. 25. <ul><li>Yahoo! Query Language (YQL) SELECT * FROM Internet </li></ul>
    23. 27. <ul><li>SELECT * FROM Internet </li></ul>
    24. 30. SELECT myColumn, myTitle FROM myTable(0, 50) WHERE myColumn = 'value' AND myTitle = 'title‘ LIMIT 3 OFFSET 10 | sort (field='myColumn') | reverse () YQL – Query Structure
    25. 31. YQL Command: SHOW tables (79 Standard / 222 with community) YQL – Available Tables <table>atom</table> <table>csv</table> <table>feed</table> <table>flickr.photos.exif</table> <table>flickr.photos.info</table> <table>flickr.photos.interestingness</table> <table>flickr.photos.recent</table> <table>flickr.photos.search</table> <table>flickr.photos.sizes</table> <table>flickr.places</table> <table>flickr.places.info</table> <table>geo.places</table> <table>geo.places.ancestors</table> <table>geo.places.belongtos</table> <table>geo.places.children</table> <table>geo.places.neighbors</table> <table>geo.places.parent</table> <table>geo.places.siblings</table> <table>geo.placetypes</table> <table>gnip.activity</table> <table>html</table> <table>json</table> <table>local.search</table> <table>microformats</table> <table>music.artist.id</table> <table>music.artist.popular</table> <table>music.artist.search</table> <table>music.artist.similar</table> <table>music.release.artist</table> <table>music.release.id</table> <table>music.release.popular</table> <table>music.release.search</table> <table>music.track.id</table> <table>music.track.popular</table> <table>music.track.search</table> <table>music.video.category</table> <table>music.video.id</table> <table>music.video.popular</table> <table>music.video.search</table> <table>music.video.similar</table> <table>mybloglog.community.find</table> <table>mybloglog.member</table> <table>mybloglog.member.contacts</table> <table>mybloglog.member.newwithcontacts</table> <table>mybloglog.member.newwithme</table> <table>mybloglog.members.find</table> <table>mybloglog.stats.find</table> <table>rss</table> <table>search.images</table> <table>search.news</table> <table>search.siteexplorer.inlinks</table> <table>search.siteexplorer.pages</table> <table>search.spelling</table> <table>search.suggest</table> <table>search.termextract</table> <table>search.web</table> <table>social.connections</table> <table>social.contacts</table> <table>social.presence</table> <table>social.profile</table> <table>social.updates</table> <table>upcoming.category</table> <table>upcoming.country</table> <table>upcoming.events</table> <table>upcoming.events.bestinplace</table> <table>upcoming.groups</table> <table>upcoming.metro</table> <table>upcoming.state</table> <table>upcoming.user</table> <table>upcoming.venue</table> <table>uritemplate</table> <table>weather.forecast</table> <table>xml</table> <table>yahoo.identity</table> <table>yap.setsmallview</table> <table>yql.admin.blockedips</table> <table>yql.admin.blockedscripts</table>
    26. 32. YQL Command: DESC social.connections YQL – Table Contents
    27. 33. YQL - Running a Query <ul><li>http://query.yahooapis.com/v1/yql?[params] </li></ul><ul><li>http://query.yahooapis.com/v1/public/yql?[params] </li></ul><ul><li>Params </li></ul><ul><li>q=[QUERY] </li></ul><ul><li>format=[xml / json] </li></ul><ul><li>callback=[function name] </li></ul><ul><li>diagnostics=[true / false] </li></ul>
    28. 34. YQL – Output Types
    29. 35. <ul><li>YQL Open Data Tables Structure the internet </li></ul>
    30. 36. YQL – Open Data Tables
    31. 37. YQL – Using an Open Data Table USE ‘{TABLE URL}’ as digg; SELECT * FROM digg WHERE topic=‘apple’;
    32. 38. <ul><li>YQL Execute Augment the Internet </li></ul>
    33. 41. <ul><li>End Result What’s this data going to do for me? </li></ul>
    34. 45. Getting Started BOSS Main Page http://developer.yahoo.com/boss Y!OS Main Page http://developer.yahoo.com/yos YQL Console http://developer.yahoo.com/yql/console Developer Forums http://developer.yahoo.com/forums
    35. 46. <ul><li>Thank You Questions? </li></ul>

    ×