Lessons Learned - Building YDN

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    8 Favorites

    Lessons Learned - Building YDN - Presentation Transcript

    1. Lessons learned - Building the Yahoo! Developer Network Dan Theurer Developer Relations Conference 2009
      • Yahoo! Developer Network
      • Joined at incubation
      • 4 years
      • Technical Evangelist
      • Manager Partner Integration
      • Hack Program
      • eBay Developer Program
      • Technical Evangelist
      About Me
      • 10 min YDN Update
      • What history tells us
      • Key learnings
      • The four pillars
      • Key takeaways
      What are we going to cover
    2. 10 min YDN Update
      • Yahoo Developer Network (YDN)
      • Open Source
      • Developer Tools
      • Data Services
      • Yahoo! Open Strategy (YOS)
      • YQL Code Samples
      Open Strategy :: Applied
      • YUI
      • Hadoop
      • Apache
      • PHP
      • Perl
      • MySQL
      YDN :: Open Source
      • YSlow
      • Pipes
      • Blueprint Mobile Widgets
      YDN :: Developer Tools
      • BOSS
      • Address Book
      • Flickr
      YDN :: Data Services
    3. YOS :: Technology Stack
      • SQL-like syntax
      • Allows you to query (SELECT), filter (WHERE) and join (IN) data across WebServices.
      • Self Describing - SHOW, DESC table
      • Public / Private Data
      • Bindings for many YDN APIs
      • Can query external structured data (USE)
      • http://developer.yahoo.com/yql
      Yahoo! Query Language (YQL) - SELECT * FROM internet
    4. <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
    5. <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
    6. <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
      • Download the SDK
        • http://developer.yahoo.com/social/sdk
      • Unzip yos_php_sdk-1.1
      • Get a Developer Key
        • http://developer.yahoo.com/dashboard
      • Start to write some code
      Developer Key / PHP SDK
    7. <?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
    8. YQL :: 2-legged OAuth – Result
    9. <?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
    10. YQL :: 3-legged OAuth – Result
    11. What history tells us
    12. March 2005
      • Developer Network launched
      • 2 people (+ 1 at Search)
      • Search API only
      • About 10 web service calls
      • Servers only on the west coast
      • Funded by Jerry
    13. March 2006
      • 20 APIs
      • YUI Libraries
      • JSON, Serialized PHP
      • 2 Developer centers
      • Servers in two colos
      • Web 2.0 & Mashups
    14. Hackday 06
      • Event:
      • Learning, Hacking, Camping
      • Numbers:
      • 350 developers came to Yahoo!
      • 4000 Pictures on Flickr (hackday06)
      • 56 hacks presented
      • Launched several APIs & BBAuth
      • One month of planning
      • Beck performed a full show
      • Winners:
      • Blogging in motion
      • Related: http://purplepedals.com/
    15. March 2007
      • Categories -> Four pillars
      • Not pretty - but functional
      • Pipes launched
      • YDN international
      • Local developer events
      • More Hackdays
    16. March 2008
      • Over 50 APIs
      • Big YOS initiative started
      • Retired less valuable of APIs
      • Incorporated a lot of video
      • Various international Hackdays
      • 2009: Will charge for BOSS
    17. Key learnings
      • Developers are lazy
      • Developers are impatient
      • Developers are opinionated
      • They look under the cover, analyze, hack.
      • Of course they are smart, innovative and driven to optimize!
      • Your success depends on that!
      Learnings :: Developers are …
      • Value => Adoption
      • Solve their problems
      • Help them be efficient
      • Standards instead of buzz words
      • Facts instead of slogans
      • Time!!!
      Learnings :: Developers are lazy
      • Capture their interest – direct it quickly
      • Fast access to high value offers
      • Easy signup
      • Quick start guide
      • Build on what they know
      Learnings :: Developers are impatient
    18. 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
    19. Learnings :: Content Unfiltered cont.
    20. Learnings :: Content Structured
    21. Learnings :: Content Visually Organized
      • Developers are connected – Online and offline
      • Your product gets discussed in public forums
      • You should be part of that discussion
      • If you don’t build a community around it, they will
      Learnings :: Developers are opinionated
      • Join developer channels to communicate (not to market)
        • Twitter, Message Boards, Blog comments, IRC
        • Slideshare
        • Del.icio.us, Flickr, Upcoming
        • The right events - Unconferences
      • Provide value, have conversations, share code
      • Be accessible, embrace feedback
      • Developers don’t respond to formal marketing!
      Learnings :: Developers are opinionated contd
      • &quot;If you can not measure it, you can not improve it.”
      • -- Lord Kelvin
      • Know your winners
      • Measure as much as you can
        • Web site stats
        • API calls
        • Forum post
        • Personal interactions - documented feedback properly
        • ...
      • Keep doing what works – Fix or retire what’s broken
      Learnings :: Metrics
      • Set expectations, communicate a roadmap / vision
      • Avoid pre-announcements
      • The macro affects the developer products
      • High appreciation of events outside of Silicon Valley
      • Coding competitions rather then car give aways
      Learnings :: Others
    22. Four Pillars
    23. The four critical parts of a Developer Network offer Data
    24. The four critical parts of a Developer Network offer Data Tools
    25. The four critical parts of a Developer Network offer Data HowTos Tools
    26. The four critical parts of a Developer Network offer Data HowTos Support Communication Tools
    27. Key Take Aways
      • Developers are lazy, impatient and opinionated
      • Traditional marketing does not work
      • However
      • Developers are willing to pay for value
      Take Aways
    28. Thank You Questions? [email_address]

    + Dan TheurerDan Theurer, 8 months ago

    custom

    1575 views, 8 favs, 1 embeds more stats

    Lessons learned from building the Yahoo! Developer more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1575
      • 1556 on SlideShare
      • 19 from embeds
    • Comments 0
    • Favorites 8
    • Downloads 70
    Most viewed embeds
    • 19 views on http://everwas.com

    more

    All embeds
    • 19 views on http://everwas.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories