Yahoo! BOSS in Bucharest

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

    Favorites, Groups & Events

    Yahoo! BOSS in Bucharest - Presentation Transcript

    1. BOSS Power
      • Ted DRAKE
      • Yahoo! France
      • Bucharest, Romania 6-7/11/2008
    2. Brief intro
      • I joined Yahoo! in 2005 to work on the first major mash up in web 2.0: Yahoo! Tech
      • I have worked on Answers, Finance, Canadian Finance, Global Finance, Platforms, Accessibility Stakeholders Group, IE7 Task Force, and International Yahoo! Developer Network.
      • I studied fine arts, not computer science.
    3. BOSS Basics Exactly the same as other search APIs Only completely different!
    4. BOSS Basics
      • Free
      • No rate limit
      • Freedom
      Mash Change the ranking Change the design Keep Yahoo! a secret Cache and store results Use Google APIs Cross check with Digg News, Web, Image, Spelling suggestions Grab user info from Facebook Flickr Images Creative Commons search
    5. HACK!
    6. Search as Engine
      • Yahoo! Tech: product category and name used to generate various modules via search on different APIs. (implied query)
      • Yahoo! News: Full coverage pages are driven entirely by a search interface (defined query)
    7. What is the most important part of your application?
      • The results display?
      • The text ads?
      • The rounded borders?
      • The smooth animations?
      • The perfect URL?
      THE QUERY STRING!!!
    8. The Query
      • Tells you what the user is looking for
      • Generates related topics
      • Powers secondary APIs
      • Can be generated by a search box, URL, tags,or keyword extraction from the page.
      • The Query is your BFF!
    9. BOSS Details
      • REST or SOAP based API. (examples are REST)
      • XML or JSON output
      • Web, News, Image, and Spelling Suggestion services
      • I18N ready (language, region, UTF-8)
      • Recognizes most search filters from Yahoo! and Google (backdoor hacks)
    10. Site Specific Results
      • Search only one site: /ysearch/web/v1/golf +site:vw.com ?
      • Search from a select group of sites: /ysearch/web/v1/golf? sites=vw.com,vwtrendsweb.com,performancevwmag.com,caranddriver.com
    11. Tag or Title Filters
      • Use the inurl: filter to simulate tag search: /ysearch/web/v1/ inurl:golf ?
      • Use the intitle: filter to filter by results with query in title /ysearch/web/v1/ intitle:golf ?
    12. Get Related Sites
      • You can find sites related to each result by triggering secondary queries. /ysearch/web/v1/ related: http://www.caranddriver.com/car/2006-models/2006-golf.html ?
    13. BOSS Key Terms
      • Each result will have the categories Yahoo has assigned to the page.
      • The categories are listed in order of relevance.
      • Official Partners can get more details about the relevance.
      • /web/v1/scirocco?format=xml& view=keyterms
    14. What this allows?
      • Each result can have related searches
      • Create an array of all related tags and display the most common at the top of the page (this is what powers the search suggestions on Yahoo! Search)
      • Use these quality tags for secondary APIs
    15. What it looks like <keyterms> <terms> <term>Bucharest</term> <term>city</term> <term>Romanian</term> <term>population</term> <term>Romania</term> <term>architecture</term> <term>city centre</term> <term>clubs</term> </terms> </keyterms>
    16. BOSS Mashup Framework
      • Perl based framework to mash BOSS API with secondary web services and proprietary data
      • “Easy” to hookup to Google APP Engine (I could never get past the Google signup procedure)
      • Powers the infamous YUIL (4 hour search) project.
    17. Lessons Learned
      • Don’t forget to declare UTF-8 encoding on the page: <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8 &quot;>
    18. Let PHP do the messy work BOSS requires url encoding of the request. Use the http_build_query() function $qrystrarray = array( 'sites' => $Site, 'appid' => $Appid, 'format' => 'xml', 'start' => $start, 'count' => '15');$qryString = http_build_query($qrystrarray);
    19. Users are Evil
      • Don’t open your site to Cross Site Scripting.
      • Never trust your users.
      • Never display unfiltered User Generated Content!
      • This includes query params generated by radio buttons and checkboxes!
    20. Tips for Safety
      • encode your Query when creating page title, pagination links, “You searched for...” $niceQuery = htmlentities($_REQUEST['query']); $safeQuery = urlencode($_REQUEST['query']);
      • Is $_REQUEST[‘page’] a digit?
      • Use two letter language descriptions, i.e. en, fr, ro. Test the string length of $_REQUEST[‘lang’]
      • Always test your incoming variables.
    21. Extra Goodies
      • Use Pipes.Yahoo.Com to handle your web service mashups. It handles multi-curl, caching, and returns XML, JSON, or PHP array
      • Get around any BOSS limitations by using YQL – REST Post, more queries, etc.
    22. Questions?
      • http://last-child.com
      • http://v3ggie.com
      • http://insiderfood.com
      • http:// developer.yahoo.com /search/boss
      • [email_address]
    SlideShare Zeitgeist 2009

    + 7mary47mary4 Nominate

    custom

    841 views, 0 favs, 0 embeds more stats

    This presentation was given to some brilliant stude more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 841
      • 841 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 4
    Most viewed embeds

    more

    All embeds

    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