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

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)nous sommes vivants
 
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 AllMarc Grabanski
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshellLennart Schoors
 
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 GadgetsAtlassian
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5Steven Chipman
 
The Developer Experience
The Developer Experience The Developer Experience
The Developer Experience Pamela Fox
 
Class 1 handout (2) html exercises
Class 1 handout (2) html exercisesClass 1 handout (2) html exercises
Class 1 handout (2) html exercisesErin M. Kidwell
 
Frontend for developers
Frontend for developersFrontend for developers
Frontend for developersHernan Mammana
 
Bdd training v5.2.0 - public
Bdd training   v5.2.0 - publicBdd training   v5.2.0 - public
Bdd training v5.2.0 - publicArnauld Loyer
 
Game Development Using HTML 5
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5osa_ora
 
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 PresentationSeo Indonesia
 
Advanced SEO for Web Developers
Advanced SEO for Web DevelopersAdvanced SEO for Web Developers
Advanced SEO for Web DevelopersNathan Buggia
 
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, PlatformPamela Fox
 
Enterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript DevelopersEnterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript DevelopersAndreCharland
 
Extreme APIs for a better tomorrow
Extreme APIs for a better tomorrowExtreme APIs for a better tomorrow
Extreme APIs for a better tomorrowAaron Maturen
 

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

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.0Estelle Weyl
 
Yahoo! BOSS in Bucharest
Yahoo! BOSS in BucharestYahoo! BOSS in Bucharest
Yahoo! BOSS in BucharestTed Drake
 
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 BossKorben00
 
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 DevelopersTodd Anglin
 
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-2011Peter Lubbers
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIsPamela Fox
 
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 MobileChris Toohey
 
IMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLAIMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLACharles Severance
 
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 Alfresco Software
 
Creating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsRicardo Varela
 
LinkedIn Platform at LeWeb 2010
LinkedIn Platform at LeWeb 2010LinkedIn Platform at LeWeb 2010
LinkedIn Platform at LeWeb 2010Adam Trachtenberg
 
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 DeadlinesTikal Knowledge
 
Introduction To The OpenSocial API
Introduction To The OpenSocial APIIntroduction To The OpenSocial API
Introduction To The OpenSocial APIChristopher St. John
 

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

Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 

Recently uploaded (20)

Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 

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]