SlideShare a Scribd company logo
1 of 44
Lessons learned -  Building the Yahoo! Developer Network Dan Theurer   Developer Relations Conference 2009
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],About Me
[object Object],[object Object],[object Object],[object Object],[object Object],What are we going to cover
10 min YDN Update
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Open Strategy :: Applied
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],YDN :: Open Source
[object Object],[object Object],[object Object],YDN :: Developer Tools
[object Object],[object Object],[object Object],YDN :: Data Services
YOS :: Technology Stack
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Yahoo! Query Language (YQL) -  SELECT * FROM internet
<query yahoo:count=&quot;46&quot; yahoo:created=&quot;2009-02-20T08:16:03Z&quot; yahoo:lang=&quot;en-US&quot; yahoo:updated=&quot;2009-02-20T08:16:03Z&quot; yahoo:uri=&quot;http://query.yahooapis.com/v1/yql?q=show+tables&quot;> <results> <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> … </results> </query YQL :: SHOW tables
<query yahoo:count=&quot;1&quot; yahoo:created=&quot;2009-02-21T01:41:28Z&quot; yahoo:lang=&quot;en-US&quot; yahoo:updated=&quot;2009-02-21T01:41:28Z&quot; yahoo:uri=&quot;http://query.yahooapis.com/v1/yql?q=desc+flickr.photos.search&quot;> <results> <table name=&quot;flickr.photos.search”> <request> <select usesRemoteLimit=&quot;true”> <key name=&quot;machine_tags&quot; type=&quot;xs:string&quot;/> <key name=&quot;radius_units&quot; type=&quot;xs:string&quot;/> <key name=&quot;safe_search&quot; type=&quot;xs:string&quot;/> <key name=&quot;privacy_filter&quot; type=&quot;xs:string&quot;/> <key name=&quot;contacts&quot; type=&quot;xs:string&quot;/> <key name=&quot;tags&quot; type=&quot;xs:string&quot;/> <key name=&quot;place_id&quot; type=&quot;xs:string&quot;/> <key name=&quot;text&quot; type=&quot;xs:string&quot;/> … </select> </request> </table> </results> </query> YQL :: DESC flickr.photos.search
<query yahoo:count=&quot;6&quot; yahoo:created=&quot;2009-02-21T02:09:55Z&quot; yahoo:lang=&quot;en-US&quot; yahoo:updated=&quot;2009-02-21T02:09:55Z&quot; yahoo:uri=&quot;http://query.yahooapis.com/v1/yql?q=select+*+from+flickr.photos.search+where+user_id%3D%2228569531%40N00%22+and+text%3D%22jump%22+limit+6&quot;> <results> <photo farm=&quot;4&quot; id=&quot;3154107557&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot;  owner=&quot;28569531@N00&quot; secret=&quot;6f22e677c3&quot; server=&quot;3101&quot; title=&quot;Jump - Fremont Older&quot;/> <photo farm=&quot;4&quot; id=&quot;2563123589&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;7811c91934&quot; server=&quot;3087&quot; title=&quot;Jump&quot;/> <photo farm=&quot;3&quot; id=&quot;2159479534&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;785e671cd4&quot; server=&quot;2080&quot; title=&quot;Hollywood - Jump - Dan&quot;/> <photo farm=&quot;3&quot; id=&quot;2066431773&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;c61604d090&quot; server=&quot;2208&quot; title=&quot;JUMP!&quot;/> <photo farm=&quot;2&quot; id=&quot;1304849768&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;7271c8f9b3&quot; server=&quot;1233&quot; title=&quot;Testing the suit&quot;/> <photo farm=&quot;2&quot; id=&quot;1178261094&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;3dac28807f&quot; server=&quot;1241&quot; title=&quot;Jump, jump!&quot;/> </results> </query> YQL :: SELECT * FROM flickr.photos.search WHERE user_id=&quot;28569531@N00” AND text=&quot;jump” LIMIT 6
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Developer Key / PHP SDK
<?php // Include the PHP SDK for YSP library. require_once(&quot;yosdk/lib/Yahoo.inc&quot;); // Define values for keys required for authorization define(CONSUMER_KEY,&quot;dj0yJmk9ZDNwaXdQSEZ…j&quot;); define(CONSUMER_SECRET,&quot;37fe717538e0598e6c70d4262…&quot;); // The YahooApplication class is used for two-legged authorization, which doesn't need user authorization. $two_legged_app = new YahooApplication(CONSUMER_KEY,CONSUMER_SECRET); // Create queries for Flickr $yql_request = 'select * from flickr.photos.search where user_id=&quot;28569531@N00&quot; and text=&quot;jump&quot; limit 6'; // Make the request $results = $two_legged_app->query($yql_request); $photos = $results->query->results->photo; // Build the output HTML foreach($photos as $k=>$v) { $imgs .= '<img src=&quot;http://farm' . $v->farm . '.static.flickr.com/' . $v->server . '/' . $v->id . '_' . $v->secret . '_m.jpg&quot; alt=&quot;Image' . $k . '&quot;/>' ; } echo &quot;<html><body>&quot; . $imgs . '</body></html>’; ?> YQL :: 2-legged OAuth – PHP  SDK
YQL :: 2-legged OAuth – Result
<?php // Include the PHP SDK for YSP library. require_once(&quot;yosdk/lib/Yahoo.inc&quot;); // Define values for keys required for authorization define(CONSUMER_KEY,&quot;dj0yJmk9ZDNwaXd…j&quot;); define(CONSUMER_SECRET,&quot;37fe717538e0598e6…&quot;); $session=YahooSession::requireSession(CONSUMER_KEY,CONSUMER_SECRET); // Define YQL queries for the Social Directory APIs $query = &quot;SELECT * FROM social.connections WHERE owner_guid=me LIMIT 2&quot;; $result = $session->query($query); // Build the output HTML echo(&quot;<html><body><pre><h2>Connection Data</h2>&quot; ); var_dump($result) ; echo(&quot;</pre></body></html>&quot;); ?> YQL :: 3-legged OAuth – PHP  SDK
YQL :: 3-legged OAuth – Result
What history tells us
March 2005 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
March 2006 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hackday 06 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
March 2007 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
March 2008 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Key learnings
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Learnings :: Developers are …
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Learnings :: Developers are lazy
[object Object],[object Object],[object Object],[object Object],[object Object],Learnings :: Developers are impatient
Learnings :: Content Unfiltered RSS Feeds Ruby Language Center SearchMonkey Security Best Practices Shopping API Silverlight Language Center Site Explorer API Stencils for Designers Traffic API Travel API Upcoming API Utilities API Video Search API Weather API Web Search API Widgets Yahoo! User Interface Library YAP / YOS YDN Theater Yslow Zimbra … Hadoop HotJobs API Image Search API Java Language Center JavaScript Language Center l10n & i18n Tools Live Video Broadcast Local Search API Geocoder API Traffic API Mail  API Media Player Plugin Message Boards MyBlogLog API MyWeb  API .NET Language Center News Search API oAuth OpenID PHP Language Center Pipes Python Language Center Address Book API Ajax Maps Answers API ASTRA Library Audio Search API Autos Custom API BBAuth Blog Blueprint BOSS CodeSamples ColdFusion Language Center Content Analysis API del.icio.us API Design Pattern Library Exceptional Performance Finance API Fire Eagle™ API Flash Language Center Flash Maps Flickr API GeoPlanet™ API
Learnings :: Content Unfiltered cont.
Learnings :: Content Structured
Learnings :: Content Visually Organized
[object Object],[object Object],[object Object],[object Object],Learnings :: Developers are opinionated
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Learnings :: Developers are opinionated contd
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Learnings :: Metrics
[object Object],[object Object],[object Object],[object Object],[object Object],Learnings :: Others
Four Pillars
The four critical parts of a Developer Network offer Data
The four critical parts of a Developer Network offer Data Tools
The four critical parts of a Developer Network offer Data HowTos Tools
The four critical parts of a Developer Network offer Data HowTos   Support  Communication  Tools
Key Take Aways
[object Object],[object Object],[object Object],[object Object],Take Aways
Thank You Questions? [email_address]

More Related Content

What's hot

Getting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial GadgetsGetting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial Gadgets
Atlassian
 
Class 1 handout (2) html exercises
Class 1 handout (2) html exercisesClass 1 handout (2) html exercises
Class 1 handout (2) html exercises
Erin M. Kidwell
 
Advanced SEO for Web Developers
Advanced SEO for Web DevelopersAdvanced SEO for Web Developers
Advanced SEO for Web Developers
Nathan Buggia
 

What's hot (20)

courts circuits : l'innovation dans le luxe 'mon idendité de luxe" (partie 3)
courts circuits : l'innovation dans le luxe 'mon idendité de luxe" (partie 3)courts circuits : l'innovation dans le luxe 'mon idendité de luxe" (partie 3)
courts circuits : l'innovation dans le luxe 'mon idendité de luxe" (partie 3)
 
Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for All
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshell
 
Getting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial GadgetsGetting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial Gadgets
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5
 
The Developer Experience
The Developer Experience The Developer Experience
The Developer Experience
 
Class 1 handout (2) html exercises
Class 1 handout (2) html exercisesClass 1 handout (2) html exercises
Class 1 handout (2) html exercises
 
Frontend for developers
Frontend for developersFrontend for developers
Frontend for developers
 
Wordpress & HTML5 by Rob Larsen
Wordpress & HTML5 by Rob LarsenWordpress & HTML5 by Rob Larsen
Wordpress & HTML5 by Rob Larsen
 
Bdd training v5.2.0 - public
Bdd training   v5.2.0 - publicBdd training   v5.2.0 - public
Bdd training v5.2.0 - public
 
BDD training v5.0.1
BDD training  v5.0.1BDD training  v5.0.1
BDD training v5.0.1
 
Looking into HTML5
Looking into HTML5Looking into HTML5
Looking into HTML5
 
Game Development Using HTML 5
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5
 
Getting More Traffic From Search Advanced Seo For Developers Presentation
Getting More Traffic From Search  Advanced Seo For Developers PresentationGetting More Traffic From Search  Advanced Seo For Developers Presentation
Getting More Traffic From Search Advanced Seo For Developers Presentation
 
Advanced SEO for Web Developers
Advanced SEO for Web DevelopersAdvanced SEO for Web Developers
Advanced SEO for Web Developers
 
Google Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformGoogle Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, Platform
 
Android networking-2
Android networking-2Android networking-2
Android networking-2
 
Enterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript DevelopersEnterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript Developers
 
Mobile themes, QR codes, and shortURLs
Mobile themes, QR codes, and shortURLsMobile themes, QR codes, and shortURLs
Mobile themes, QR codes, and shortURLs
 
Extreme APIs for a better tomorrow
Extreme APIs for a better tomorrowExtreme APIs for a better tomorrow
Extreme APIs for a better tomorrow
 

Viewers also liked (8)

PHP - Introduction to PHP Functions
PHP -  Introduction to PHP FunctionsPHP -  Introduction to PHP Functions
PHP - Introduction to PHP Functions
 
Loops PHP 04
Loops PHP 04Loops PHP 04
Loops PHP 04
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Implementing DDD Concepts in PHP
Implementing DDD Concepts in PHPImplementing DDD Concepts in PHP
Implementing DDD Concepts in PHP
 
PHP - Introduction to PHP
PHP -  Introduction to PHPPHP -  Introduction to PHP
PHP - Introduction to PHP
 
01 Php Introduction
01 Php Introduction01 Php Introduction
01 Php Introduction
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 

Similar to Lessons Learned - Building YDN

Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011
Peter Lubbers
 

Similar to Lessons Learned - Building YDN (20)

Technical Introduction to YDN
Technical Introduction to YDNTechnical Introduction to YDN
Technical Introduction to YDN
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 
Yahoo for the Masses
Yahoo for the MassesYahoo for the Masses
Yahoo for the Masses
 
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
 
Yahoo! BOSS in Bucharest
Yahoo! BOSS in BucharestYahoo! BOSS in Bucharest
Yahoo! BOSS in Bucharest
 
Yahoo BOSS Presentation London Open Hack Day Talk Boss
Yahoo BOSS Presentation London Open Hack Day Talk   BossYahoo BOSS Presentation London Open Hack Day Talk   Boss
Yahoo BOSS Presentation London Open Hack Day Talk Boss
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
 
Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIs
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
IBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for MobileIBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for Mobile
 
SearchMonkey
SearchMonkeySearchMonkey
SearchMonkey
 
IMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLAIMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLA
 
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
 
YQL talk at OHD Jakarta
YQL talk at OHD JakartaYQL talk at OHD Jakarta
YQL talk at OHD Jakarta
 
Creating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile Widgets
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
LinkedIn Platform at LeWeb 2010
LinkedIn Platform at LeWeb 2010LinkedIn Platform at LeWeb 2010
LinkedIn Platform at LeWeb 2010
 
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesJBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
 
Introduction To The OpenSocial API
Introduction To The OpenSocial APIIntroduction To The OpenSocial API
Introduction To The OpenSocial API
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 

Lessons Learned - Building YDN

  • 1. Lessons learned - Building the Yahoo! Developer Network Dan Theurer Developer Relations Conference 2009
  • 2.
  • 3.
  • 4. 10 min YDN Update
  • 5.
  • 6.
  • 7.
  • 8.
  • 10.
  • 11. <query yahoo:count=&quot;46&quot; yahoo:created=&quot;2009-02-20T08:16:03Z&quot; yahoo:lang=&quot;en-US&quot; yahoo:updated=&quot;2009-02-20T08:16:03Z&quot; yahoo:uri=&quot;http://query.yahooapis.com/v1/yql?q=show+tables&quot;> <results> <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> … </results> </query YQL :: SHOW tables
  • 12. <query yahoo:count=&quot;1&quot; yahoo:created=&quot;2009-02-21T01:41:28Z&quot; yahoo:lang=&quot;en-US&quot; yahoo:updated=&quot;2009-02-21T01:41:28Z&quot; yahoo:uri=&quot;http://query.yahooapis.com/v1/yql?q=desc+flickr.photos.search&quot;> <results> <table name=&quot;flickr.photos.search”> <request> <select usesRemoteLimit=&quot;true”> <key name=&quot;machine_tags&quot; type=&quot;xs:string&quot;/> <key name=&quot;radius_units&quot; type=&quot;xs:string&quot;/> <key name=&quot;safe_search&quot; type=&quot;xs:string&quot;/> <key name=&quot;privacy_filter&quot; type=&quot;xs:string&quot;/> <key name=&quot;contacts&quot; type=&quot;xs:string&quot;/> <key name=&quot;tags&quot; type=&quot;xs:string&quot;/> <key name=&quot;place_id&quot; type=&quot;xs:string&quot;/> <key name=&quot;text&quot; type=&quot;xs:string&quot;/> … </select> </request> </table> </results> </query> YQL :: DESC flickr.photos.search
  • 13. <query yahoo:count=&quot;6&quot; yahoo:created=&quot;2009-02-21T02:09:55Z&quot; yahoo:lang=&quot;en-US&quot; yahoo:updated=&quot;2009-02-21T02:09:55Z&quot; yahoo:uri=&quot;http://query.yahooapis.com/v1/yql?q=select+*+from+flickr.photos.search+where+user_id%3D%2228569531%40N00%22+and+text%3D%22jump%22+limit+6&quot;> <results> <photo farm=&quot;4&quot; id=&quot;3154107557&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;6f22e677c3&quot; server=&quot;3101&quot; title=&quot;Jump - Fremont Older&quot;/> <photo farm=&quot;4&quot; id=&quot;2563123589&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;7811c91934&quot; server=&quot;3087&quot; title=&quot;Jump&quot;/> <photo farm=&quot;3&quot; id=&quot;2159479534&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;785e671cd4&quot; server=&quot;2080&quot; title=&quot;Hollywood - Jump - Dan&quot;/> <photo farm=&quot;3&quot; id=&quot;2066431773&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;c61604d090&quot; server=&quot;2208&quot; title=&quot;JUMP!&quot;/> <photo farm=&quot;2&quot; id=&quot;1304849768&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;7271c8f9b3&quot; server=&quot;1233&quot; title=&quot;Testing the suit&quot;/> <photo farm=&quot;2&quot; id=&quot;1178261094&quot; isfamily=&quot;0&quot; isfriend=&quot;0&quot; ispublic=&quot;1&quot; owner=&quot;28569531@N00&quot; secret=&quot;3dac28807f&quot; server=&quot;1241&quot; title=&quot;Jump, jump!&quot;/> </results> </query> YQL :: SELECT * FROM flickr.photos.search WHERE user_id=&quot;28569531@N00” AND text=&quot;jump” LIMIT 6
  • 14.
  • 15. <?php // Include the PHP SDK for YSP library. require_once(&quot;yosdk/lib/Yahoo.inc&quot;); // Define values for keys required for authorization define(CONSUMER_KEY,&quot;dj0yJmk9ZDNwaXdQSEZ…j&quot;); define(CONSUMER_SECRET,&quot;37fe717538e0598e6c70d4262…&quot;); // The YahooApplication class is used for two-legged authorization, which doesn't need user authorization. $two_legged_app = new YahooApplication(CONSUMER_KEY,CONSUMER_SECRET); // Create queries for Flickr $yql_request = 'select * from flickr.photos.search where user_id=&quot;28569531@N00&quot; and text=&quot;jump&quot; limit 6'; // Make the request $results = $two_legged_app->query($yql_request); $photos = $results->query->results->photo; // Build the output HTML foreach($photos as $k=>$v) { $imgs .= '<img src=&quot;http://farm' . $v->farm . '.static.flickr.com/' . $v->server . '/' . $v->id . '_' . $v->secret . '_m.jpg&quot; alt=&quot;Image' . $k . '&quot;/>' ; } echo &quot;<html><body>&quot; . $imgs . '</body></html>’; ?> YQL :: 2-legged OAuth – PHP SDK
  • 16. YQL :: 2-legged OAuth – Result
  • 17. <?php // Include the PHP SDK for YSP library. require_once(&quot;yosdk/lib/Yahoo.inc&quot;); // Define values for keys required for authorization define(CONSUMER_KEY,&quot;dj0yJmk9ZDNwaXd…j&quot;); define(CONSUMER_SECRET,&quot;37fe717538e0598e6…&quot;); $session=YahooSession::requireSession(CONSUMER_KEY,CONSUMER_SECRET); // Define YQL queries for the Social Directory APIs $query = &quot;SELECT * FROM social.connections WHERE owner_guid=me LIMIT 2&quot;; $result = $session->query($query); // Build the output HTML echo(&quot;<html><body><pre><h2>Connection Data</h2>&quot; ); var_dump($result) ; echo(&quot;</pre></body></html>&quot;); ?> YQL :: 3-legged OAuth – PHP SDK
  • 18. YQL :: 3-legged OAuth – Result
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 26.
  • 27.
  • 28.
  • 29. Learnings :: Content Unfiltered RSS Feeds Ruby Language Center SearchMonkey Security Best Practices Shopping API Silverlight Language Center Site Explorer API Stencils for Designers Traffic API Travel API Upcoming API Utilities API Video Search API Weather API Web Search API Widgets Yahoo! User Interface Library YAP / YOS YDN Theater Yslow Zimbra … Hadoop HotJobs API Image Search API Java Language Center JavaScript Language Center l10n & i18n Tools Live Video Broadcast Local Search API Geocoder API Traffic API Mail API Media Player Plugin Message Boards MyBlogLog API MyWeb API .NET Language Center News Search API oAuth OpenID PHP Language Center Pipes Python Language Center Address Book API Ajax Maps Answers API ASTRA Library Audio Search API Autos Custom API BBAuth Blog Blueprint BOSS CodeSamples ColdFusion Language Center Content Analysis API del.icio.us API Design Pattern Library Exceptional Performance Finance API Fire Eagle™ API Flash Language Center Flash Maps Flickr API GeoPlanet™ API
  • 30. Learnings :: Content Unfiltered cont.
  • 31. Learnings :: Content Structured
  • 32. Learnings :: Content Visually Organized
  • 33.
  • 34.
  • 35.
  • 36.
  • 38. The four critical parts of a Developer Network offer Data
  • 39. The four critical parts of a Developer Network offer Data Tools
  • 40. The four critical parts of a Developer Network offer Data HowTos Tools
  • 41. The four critical parts of a Developer Network offer Data HowTos Support Communication Tools
  • 43.
  • 44. Thank You Questions? [email_address]