SlideShare a Scribd company logo
1 of 59
Yahoo! Open Strategy Y!OS December 20, 2008  Jonathan LeBlanc – YDN
Y!OS Goals
Establish a Social Dimension – Profiles http://profiles.yahoo.com
Establish a Social Dimension – Small View http://my.yahoo.com
Opening Yahoo – Application platform (YAP)  http://developer.yahoo.com/dashboard
Opening Yahoo – Application Gallery http://apps.yahoo.com/myapps
[object Object]
YAP Components – Open Authentication (OAuth)  ,[object Object],[object Object],[object Object]
YAP Components – Yahoo! Markup Language (YML) http://developer.yahoo.com/yap/yml ,[object Object],[object Object],[object Object],[object Object]
YAP Components – Social APIs http://developer.yahoo.com/social/ ,[object Object],[object Object],[object Object],[object Object]
YAP Components – Caja http://code.google.com/p/google-caja ,[object Object],[object Object],[object Object],[object Object]
YAP Components – Software Development Kits (SDKs) http://developer.yahoo.com/social/sdk PHP SDK Currently Available Open and OAuth Applications ActionScript 3 SDK Currently Available Open Applications Java SDK in Development Open and OAuth Applications
YAP Components – Yahoo! Query Language (YQL) http://developer.yahoo.com/yql ,[object Object],[object Object],[object Object],[object Object]
[object Object]
YAP Applications – Open Applications ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
YAP Applications – Open Applications Creating an Open Application – Step 1
YAP Applications – Open Applications  Creating an Open Application – Step 2
YAP Applications – Open Applications  Creating an Open Application – Step 3
YAP Applications – Open Applications Creating an Open Application – Step 4
YAP Applications – Open Applications External Access Prohibited
YAP Applications – OAuth Applications ,[object Object],[object Object],[object Object],[object Object]
YAP Applications – OAuth Applications Creating an OAuth Application – Step 1
YAP Applications – OAuth Applications Creating an OAuth Application – Step 2
YAP Applications – OAuth Applications Creating an OAuth Application – Step 3
YAP Applications – OAuth Applications Creating an OAuth Application – Step 4
YAP Applications – OAuth Applications Creating an OAuth Application – Step 5
YAP Applications – OAuth Applications Creating an OAuth Application – Step 6
[object Object]
Y!OS Resources - Documentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Y!OS Resources – Tools and Galleries ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Y!OS Deep Dive December 20, 2008 Jonathan LeBlanc – YDN
[object Object]
YML – Available Tags YML Tags yml:a   yml:audio   yml:form   yml:friend-selector yml:if-env   yml:image   yml:message yml:name   yml:profile-pic   yml:pronoun yml:share  yml:swf  yml:user-badge yml:visible-to-friends  yml:visible-to-owner yml:visible-to-user    YML Lite Tags yml:a   yml:audio   yml:form   yml:if-env   yml:image   yml:name   yml:profile-pic   yml:pronoun   yml:user-badge  
YML – Syntax Rules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
YML – Sample YML Use Tab Controller
YML – Sample YML Use Tab Construction
YML – Sample YML Use Tab Styles
[object Object]
PHP SDK – 2-Legged OAuth Initialization Used For: Applications which only require access to public user data and open APIs
PHP SDK – 3-Legged OAuth Initialization ,[object Object],[object Object]
PHP SDK – User Data Manipulation
PHP SDK – Create an Update for a User
PHP SDK – Set the Status (Presence) of a User
[object Object]
YQL – Console Location: http://developer.yahoo.com/yql/console
YQL – Query Structure Projection - SELECT what FROM table - SELECT * FROM social.connections Local and Remote Filtering - SELECT what FROM table WHERE filter - SELECT * FROM social.profile WHERE guid = me Sub-selects - Joining Data - SELECT what FROM table WHERE fieldvalue IN (SELECT ...) - SELECT * FROM social.profile WHERE guid IN (SELECT guid FROM social.connections WHERE owner_guid=me) Local Paging Control - SELECT what FROM table WHERE filter LIMIT 10 OFFSET 50 - SELECT * FROM web.search WHERE query="madonna" LIMIT 3 OFFSET 10 Remove Table Size Control - SELECT what FROM table(0,500) WHERE condition - SELECT * FROM web.search(0,10) WHERE query="madonna" AND result.XXX = something
YQL – Available Tables YQL Command: SHOW tables
YQL – Table Contents YQL Command: DESC social.connections
YQL – Running a Query
YQL – Output Types
[object Object]
Caja & JavaScript – Before Cajoling
Caja & JavaScript – After Cajoling
Caja & JavaScript – What doesn’t work? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Caja & HTML – What doesn’t work? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Caja & CSS – What doesn’t work? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
Common platform issues and questions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Questions? ,[object Object]

More Related Content

Viewers also liked

Yahoo! case study final
Yahoo! case study   finalYahoo! case study   final
Yahoo! case study final
HishamSefrah
 
~Yahoo presentation~
~Yahoo presentation~   ~Yahoo presentation~
~Yahoo presentation~
Deemag
 
Case Study Analysis Of Google
Case Study Analysis Of GoogleCase Study Analysis Of Google
Case Study Analysis Of Google
abnguyen28
 

Viewers also liked (13)

Yahoo! marketing strategy
Yahoo! marketing strategyYahoo! marketing strategy
Yahoo! marketing strategy
 
Marissa mayers case study
Marissa mayers case studyMarissa mayers case study
Marissa mayers case study
 
Yahoo! Open Strategy (Y!OS) and Government
Yahoo! Open Strategy (Y!OS) and GovernmentYahoo! Open Strategy (Y!OS) and Government
Yahoo! Open Strategy (Y!OS) and Government
 
Yahoo! Open Strategy Overview
Yahoo! Open Strategy OverviewYahoo! Open Strategy Overview
Yahoo! Open Strategy Overview
 
Yahoo powerpoint
Yahoo powerpointYahoo powerpoint
Yahoo powerpoint
 
Yahoo!
Yahoo!Yahoo!
Yahoo!
 
Yahoo! case study final
Yahoo! case study   finalYahoo! case study   final
Yahoo! case study final
 
Yahoo Strategy Analysis
Yahoo   Strategy AnalysisYahoo   Strategy Analysis
Yahoo Strategy Analysis
 
Yahoo case analysis
Yahoo case analysisYahoo case analysis
Yahoo case analysis
 
Yahoo Case Study
Yahoo Case StudyYahoo Case Study
Yahoo Case Study
 
Yahoo! case study
Yahoo! case studyYahoo! case study
Yahoo! case study
 
~Yahoo presentation~
~Yahoo presentation~   ~Yahoo presentation~
~Yahoo presentation~
 
Case Study Analysis Of Google
Case Study Analysis Of GoogleCase Study Analysis Of Google
Case Study Analysis Of Google
 

Similar to Y!OS Overview and Deep Code Dive

Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social Web
Patrick Chanezon
 

Similar to Y!OS Overview and Deep Code Dive (20)

fowa miami
fowa miamifowa miami
fowa miami
 
Future of Web Apps - Miami, FL - February 2009
Future of Web Apps - Miami, FL - February 2009Future of Web Apps - Miami, FL - February 2009
Future of Web Apps - Miami, FL - February 2009
 
USC Yahoo! BOSS, YAP and YQL Overview
USC Yahoo! BOSS, YAP and YQL OverviewUSC Yahoo! BOSS, YAP and YQL Overview
USC Yahoo! BOSS, YAP and YQL Overview
 
SEA Open Hack - YAP
SEA Open Hack - YAPSEA Open Hack - YAP
SEA Open Hack - YAP
 
Yahoo! Application Platform Technical Deep Dive
Yahoo! Application Platform Technical Deep DiveYahoo! Application Platform Technical Deep Dive
Yahoo! Application Platform Technical Deep Dive
 
YAP Overview - Startups
YAP Overview - StartupsYAP Overview - Startups
YAP Overview - Startups
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0
 
Mashup Y! widget
Mashup Y! widgetMashup Y! widget
Mashup Y! widget
 
Yahoo! Application Platform (YAP)
Yahoo! Application Platform (YAP)Yahoo! Application Platform (YAP)
Yahoo! Application Platform (YAP)
 
Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social Web
 
Build your web apps with yql and yui
Build your web apps with yql and yuiBuild your web apps with yql and yui
Build your web apps with yql and yui
 
Technical Introduction to YDN
Technical Introduction to YDNTechnical Introduction to YDN
Technical Introduction to YDN
 
Lessons Learned - Building YDN
Lessons Learned - Building YDNLessons Learned - Building YDN
Lessons Learned - Building YDN
 
WRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAirWRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAir
 
Yahoo Application Platform - Hack Day 2009
Yahoo Application Platform - Hack Day 2009Yahoo Application Platform - Hack Day 2009
Yahoo Application Platform - Hack Day 2009
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application Development
 
Web services and JavaScript
Web services and JavaScriptWeb services and JavaScript
Web services and JavaScript
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
Hack Day EU 2011 YQL
Hack Day EU 2011 YQLHack Day EU 2011 YQL
Hack Day EU 2011 YQL
 
Migrating JavaME Apps to Android
Migrating JavaME Apps to AndroidMigrating JavaME Apps to Android
Migrating JavaME Apps to Android
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Y!OS Overview and Deep Code Dive

  • 1. Yahoo! Open Strategy Y!OS December 20, 2008 Jonathan LeBlanc – YDN
  • 3. Establish a Social Dimension – Profiles http://profiles.yahoo.com
  • 4. Establish a Social Dimension – Small View http://my.yahoo.com
  • 5. Opening Yahoo – Application platform (YAP) http://developer.yahoo.com/dashboard
  • 6. Opening Yahoo – Application Gallery http://apps.yahoo.com/myapps
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. YAP Components – Software Development Kits (SDKs) http://developer.yahoo.com/social/sdk PHP SDK Currently Available Open and OAuth Applications ActionScript 3 SDK Currently Available Open Applications Java SDK in Development Open and OAuth Applications
  • 13.
  • 14.
  • 15.
  • 16. YAP Applications – Open Applications Creating an Open Application – Step 1
  • 17. YAP Applications – Open Applications Creating an Open Application – Step 2
  • 18. YAP Applications – Open Applications Creating an Open Application – Step 3
  • 19. YAP Applications – Open Applications Creating an Open Application – Step 4
  • 20. YAP Applications – Open Applications External Access Prohibited
  • 21.
  • 22. YAP Applications – OAuth Applications Creating an OAuth Application – Step 1
  • 23. YAP Applications – OAuth Applications Creating an OAuth Application – Step 2
  • 24. YAP Applications – OAuth Applications Creating an OAuth Application – Step 3
  • 25. YAP Applications – OAuth Applications Creating an OAuth Application – Step 4
  • 26. YAP Applications – OAuth Applications Creating an OAuth Application – Step 5
  • 27. YAP Applications – OAuth Applications Creating an OAuth Application – Step 6
  • 28.
  • 29.
  • 30.
  • 31. Y!OS Deep Dive December 20, 2008 Jonathan LeBlanc – YDN
  • 32.
  • 33. YML – Available Tags YML Tags yml:a   yml:audio   yml:form   yml:friend-selector yml:if-env   yml:image   yml:message yml:name   yml:profile-pic   yml:pronoun yml:share  yml:swf  yml:user-badge yml:visible-to-friends yml:visible-to-owner yml:visible-to-user    YML Lite Tags yml:a   yml:audio   yml:form   yml:if-env   yml:image   yml:name   yml:profile-pic   yml:pronoun   yml:user-badge  
  • 34.
  • 35. YML – Sample YML Use Tab Controller
  • 36. YML – Sample YML Use Tab Construction
  • 37. YML – Sample YML Use Tab Styles
  • 38.
  • 39. PHP SDK – 2-Legged OAuth Initialization Used For: Applications which only require access to public user data and open APIs
  • 40.
  • 41. PHP SDK – User Data Manipulation
  • 42. PHP SDK – Create an Update for a User
  • 43. PHP SDK – Set the Status (Presence) of a User
  • 44.
  • 45. YQL – Console Location: http://developer.yahoo.com/yql/console
  • 46. YQL – Query Structure Projection - SELECT what FROM table - SELECT * FROM social.connections Local and Remote Filtering - SELECT what FROM table WHERE filter - SELECT * FROM social.profile WHERE guid = me Sub-selects - Joining Data - SELECT what FROM table WHERE fieldvalue IN (SELECT ...) - SELECT * FROM social.profile WHERE guid IN (SELECT guid FROM social.connections WHERE owner_guid=me) Local Paging Control - SELECT what FROM table WHERE filter LIMIT 10 OFFSET 50 - SELECT * FROM web.search WHERE query="madonna" LIMIT 3 OFFSET 10 Remove Table Size Control - SELECT what FROM table(0,500) WHERE condition - SELECT * FROM web.search(0,10) WHERE query="madonna" AND result.XXX = something
  • 47. YQL – Available Tables YQL Command: SHOW tables
  • 48. YQL – Table Contents YQL Command: DESC social.connections
  • 49. YQL – Running a Query
  • 50. YQL – Output Types
  • 51.
  • 52. Caja & JavaScript – Before Cajoling
  • 53. Caja & JavaScript – After Cajoling
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.