<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Yahoo! Developer Network Blog</title>
<link>http://developer.yahoo.net/blog/</link>
<description></description>
<copyright>Copyright 2010</copyright>
<lastBuildDate>Thu, 15 Oct 2009 10:38:21 -0800</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.31</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>What Powers SearchMonkey?</title>
<description><![CDATA[ <p>Ever wonder how <a href="http://developer.yahoo.com/searchmonkey">SearchMonkey</a> generates all of this structured data for use in projects like <a href="http://developer.search.yahoo.com/start">Enhanced Results</a>, <a href="http://help.yahoo.com/l/us/yahoo/search/basics/basics-23.html">Object Facets</a>, <a href="http://help.yahoo.com/l/us/yahoo/search/basics/basics-23.html">Site Facets</a>, <a href="http://developer.yahoo.com/search/boss/">BOSS</a>, and ranking? Have you wondered what Yahoo envisions as "<a href="http://kara.allthingsd.com/20090519/liveblogging-the-yahoo-search-chalk-talk-kill-the-10-blue-links/">a web of concepts</a>", or how SearchMonkey is helping Yahoo! power its next generation of search experiences?  Or perhaps you were searching for "<a href="http://search.yahoo.com/search?p=rickroll%20videos">rickroll videos</a>" and reached this page by mistake.  No matter &mdash; here's almost everything you wanted to know about how we get the structured data to power SearchMonkey.</p>

<h3>A monkey standing on the shoulders of giants</h3>

<p>First is the easy answer: we get the data from our site owners! Yahoo!'s opinion is that nobody understands the content of a website more than the site owner. Through page markup (both <a href="http://rdfa.info/">RDFa</a> and <a href="http://microformats.org/">microformats</a>), <a href="http://developer.yahoo.com/searchmonkey/smguide/understand_datarss.html">structured data feeds</a>, <a href="http://developer.yahoo.com/searchmonkey/smguide/data_services.html">custom data services</a> created with the <a href="http://developer.search.yahoo.com">SearchMonkey developer tool</a>, and XSLT rules written by <a href="http://developer.yahoo.net/blog/archives/2008/10/swinging_throug.html">third party tools</a>, we'll take whatever data that site owners tell us is important about the content on their site.  Even if you're the not the site owner, you can still submit custom data services to SearchMonkey Gallery.  If approved, your extraction techniques will be applied by Yahoo Search for others to build applications upon.</p>
 
<h3>What does SearchMonkey feed data look like?</h3>

<p>To create a feed, first create an Atom feed of the URLs you want to annotate. Then within each Atom <code>&lt;entry&gt;</code>, add the metadata for the page. For example, assume you have restaurant listings already shown in Yahoo! Search, and you want to show the average review you've collected from your users.  One of the entries in your feed would look like:</p>

<pre>&lt;y:adjunct version=&quot;1.0&quot; name=&quot;local&quot; xmlns:y=&quot;http://search.yahoo.com/datarss/&quot;&gt;
  &lt;y:item rel=&quot;dc:subject&quot;&gt;
      &lt;y:type typeof=&quot;vcard:VCard commerce:Business&quot;&gt;
          &lt;y:item rel=&quot;vcard:url&quot; resource=&quot;http://local.yahoo.com/info-21328305-yahoo-incorporated-sunnyvale&quot;/&gt;
          &lt;y:item rel=&quot;review:hasReview&quot;&gt;
              &lt;y:type typeof=&quot;review:Review&quot;&gt;
                  &lt;y:meta property=&quot;review:rating&quot; datatype=&quot;xsd:decimal&quot;&gt;4.5&lt;/y:meta&gt;
                  &lt;y:meta property=&quot;review:totalRatings&quot; datatype=&quot;xsd:integer&quot;&gt;32&lt;/y:meta&gt;
              &lt;/y:type&gt;
          &lt;/y:item&gt;
      &lt;/y:type&gt;
  &lt;/y:item&gt;
&lt;/y:adjunct&gt;</pre>

<p>Which results in:</p>

<img src="http://farm3.static.flickr.com/2591/4014045969_06ac0c86cc.jpg" width="494" height="101" alt="SearchMonkey Local Enhanced Result" />

<p>It's that easy!  Create a couple million of these annotations (hopefully not by hand!), and you are ready to submit it to Site Explorer.  When Yahoo processes the feed, your results will be enhanced and appear with 4.5 stars and "32 reviews".  Users will see your search result, realize that you actually have reviews available from the page, and will go to your page to read reviews of this restaurant.  That's not just theory &mdash; our lab monkeys have proved repeatedly that <a href="http://www.ysearchblog.com/2008/08/01/yelp-yahoo-local-linkedin-searchmonkey-apps-now-default-on/">enhanced results actually increase traffic to sites</a>.</p>
 
<h3>How do I do this with XSLT?</h3>
<p>Not everybody likes building a feed. If you're XML-savvy, you can use XSLT to instruct Yahoo! how to extract the components of your page that you want to appear in your enhanced results. As a quick example, we'll create a rule for <a href="http://local.yahoo.com">Yahoo! Local</a>.  With your favorite XPATH plugin for Firefox (mine is <a href="https://addons.mozilla.org/en-US/firefox/addon/1192">XPather</a>), you can quickly identify xpaths for Yahoo! to follow and extract data from.  For example, the following xpath extracts "32 reviews":</p>

<pre>//div[@id="yls-dt-tabs"]//li[2]//em</pre>

<p>Insert that xpath into Yahoo-provided boilerplate XSLT, and we'll run that to extract the structured data from your site.  If this approach seems pretty fragile because it assumes the HTML structure will not change... you're right. Some sites seldom change their HTML, and other sites are really good about naming the important nodes with unique ids.  For those sites, XSLT rules are fairly resilient to changes in the page structure.  For other sites that have high variation in their page structure or that are constantly making sweeping changes, XSLT extraction usually doesn't end very well. Fortunately, there's yet another approach.</p>
 
<h3>But wait!  There's more!</h3>
<p>Next is the clever way to do things: it turns out that lot of the web has already been structured by the semantic web. Yahoo! already has billions of documents which have been annotated by either RDF or microformats. This semantic information provides some solid hints about the structured data on the page, which we happily use for SearchMonkey.</p>
 
<p>Annotating for the semantic web essentially involves tweaking your page markup to provide additional meaning about the elements on that page. The example below uses RDFa, but you can also provide the same information to Yahoo Search using microformats.</p>
<pre>&lt;div typeof=&quot;vcard:VCard commerce:Business&quot;
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:vcard="http://www.w3.org/2006/vcard/ns#"
     xmlns:commerce="http://search.yahoo.com/searchmonkey/commerce/"
     xmlns:review="http://purl.org/stuff/rev#"&gt;
      &lt;h1&gt;&lt;span property=&quot;vcard:fn&quot;&gt;Yahoo! Incorporated&lt;/span&gt;&lt;/h1&gt;
      &lt;span&gt;
            &lt;span&gt;User Rating: 
                  &lt;span property=&quot;review:rating&quot;&gt;4.5&lt;/span&gt; out of &lt;span property=&quot;review:maxRating&quot;&gt;5&lt;/span&gt; stars 
                  (&lt;span property=&quot;review:totalRatings&quot;&gt;32&lt;/span&gt; reviews).
            &lt;/span&gt;
      &lt;/span&gt;
&lt;/div&gt;</pre>

<p>When Yahoo sees the additional RDFa markup in the HTML, we extract the structured data complete with semantics. Your page is no longer a bag of unstructured words &mdash; Yahoo! now has information that helps us understand your page better.</p>
 
<h3>But what about the rest of the web?</h3>
<p>Finally, the answer from the big brains: magic. A lot of research has gone into "web data mining" both inside Yahoo, and at academic and corporate research institutions worldwide.  Deep inside <a href="http://research.yahoo.com">Yahoo! Research</a>, tribes of monkeys are busy creating new technologies for Yahoo to extract objects out of web pages. I wish I could provide a few examples about this magic, but there is no way that I can summarize decades of named entity recognition research in five lines or less. For a good place to get started, see <a href="http://search.yahoo.com/search?p=site%3Atrec.nist.gov+named+entity+recognition">publications on TREC</a>.
 
<h3>Any other methods that Yahoo! uses to extract structured data from web content?</h3>

<p>Pizza &mdash; lots of pizza.</p>
 
<p>Are you a site owner interested in how you can build your site to make it easier for us to extract the structured data?  We would love your participation.</p>
 
<p>Interested in being a monkey?  <a href="http://careers.yahoo.com/jsearchresults.php?sortfield=PostingDate&sortorder=desc&jcat=8&pagenumber=1">We're also hiring</a>!</p>
 
<p>Kevin Haas<br>Senior Engineering Manager, Yahoo! SearchMonkey</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2009/10/what_powers_searchmonkey.html</link>
<guid>http://developer.yahoo.net/blog/archives/2009/10/what_powers_searchmonkey.html</guid>
<category>SearchMonkey</category>
<pubDate>Thu, 15 Oct 2009 10:38:21 -0800</pubDate>
</item>
<item>
<title>Come Hack Some Vocabularies at the Yahoo! Sunnyvale VoCamp</title>
<description><![CDATA[<p>We are pleased to announce that on June 18-19, Yahoo! is sponsoring our first <a href="http://vocamp.org/wiki/VoCampSunnyvale2009">VoCamp event</a> at our <a href="http://maps.yahoo.com/map?q1=701%2B1st%2BAve%20Sunnyvale%20CA%20US&mag=5&lat=&lon=&ard=1#mvt=m&lat=37.416397&lon=-122.025055&mag=5&zoom=14&q1=701%25201st%2520Ave%2520Sunnyvale%2520CA%2520US">main campus in Sunnyvale, CA</a>.</p>

<p>What is <a href="http://vocamp.org/">VoCamp</a>? As the name indicates, VoCamp is influenced by <a href="http://barcamp.org">BarCamp</a>, although VoCamp's emphasis is tilted towards hands-on technical work and practical output. VoCamp provides a two day forum for vocabulary creation and discussions on the management of the Semantic Web. Unlike <a href="http://semweb.meetup.com/">Semantic Web meetups</a> which typically take just a few hours and focus on a single presentation, the VoCamp format is open and provides time to:
	
<ul>
	<li>talk about current issues with vocabularies and semantic interoperability</li>
	<li>work in small groups on a wide variety of problems</li>
	<li>get some real ontology hacking done</li> 
</ul>

<p>With both Yahoo! and now Google committed to supporting structured markup, it's never been a better time to come on in and help shape the future of the Semantic Web. And of course, if you have any direct feedback about how we're dealing with structured data, you'll have our ear. If you're in the Bay Area this June, please <a href="http://vocamp.org/wiki/VoCampSunnyvale2009">sign up on the VoCampSunnyvale2009 wiki page</a>. Space is limited, but we will try to expand if necessary. The event is right after <a href="http://www.semantic-conference.com/">SemTech San Jose</a>, so you won't have far to travel. Best of all, it's free!</p>

<p>Evan Goer<br/>Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2009/05/come_hack_some.html</link>
<guid>http://developer.yahoo.net/blog/archives/2009/05/come_hack_some.html</guid>
<category>events</category>
<pubDate>Thu, 14 May 2009 16:03:35 -0800</pubDate>
</item>
<item>
<title>Monkey Finds Microformats and RDF</title>
<description><![CDATA[<p>In a <a href='http://developer.yahoo.net/blog/archives/2008/06/monkey_microformat.html'>blog post</a> earlier this year, we announced that people could search for just entries with specific microformats. </p>

<p>There are 2 things we'd like to announce regarding that:</p>

<ol>
<li>We now support <a href='http://microformats.org/wiki/adr'>adr</a>, <a href='http://microformats.org/wiki/geo'>geo</a> and <a href='http://microformats.org/wiki/rel-tag'>tag</a> microformats. Yay!</li>
<li>In the name of progress, we have added an extra namespace to the IDs to make room for other types of extraction. Anyone who is using these for their microformat searches, can now find our structured data with these queries.
</li>
</ol>

<ul>
<li>
<a href='http://microformats.org/wiki/hcard'>hCard</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.hcard">searchmonkeyid:com.yahoo.page.uf.hcard</a>)
</li>
<li>
<a href='http://microformats.org/wiki/hcalendar'>hCalendar</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.hcalendar">searchmonkeyid:com.yahoo.page.uf.hcalendar</a>)
</li>
<li>
<a href='http://microformats.org/wiki/hreview'>hReview</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.hreview">searchmonkeyid:com.yahoo.page.uf.hreview</a>)
</li>
<li>
<a href='http://microformats.org/wiki/hatom'>hAtom</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.hatom">searchmonkeyid:com.yahoo.page.uf.hatom</a>)
</li>
<li>
<a href='http://microformats.org/wiki/hresume'>hResume</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.hresume">searchmonkeyid:com.yahoo.page.uf.hresume</a>)
</li>
<li>
<a href=' http://microformats.org/wiki/adr'>adr</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.adr">searchmonkeyid:com.yahoo.page.uf.adr</a>)
</li>
<li>
<a href='http://microformats.org/wiki/geo'>geo</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.geo">searchmonkeyid:com.yahoo.page.uf.geo</a>)
</li>
<li>
<a href='http://microformats.org/wiki/rel-tag'>tag</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.tag">searchmonkeyid:com.yahoo.page.uf.tag</a>)
</li>
<li>
<a href='http://gmpg.org/xfn/'>xfn</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.xfn">searchmonkeyid:com.yahoo.page.uf.xfn</a>)
</li>
<li>
<a href='http://en.wikipedia.org/wiki/RDFa'>RDFa</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.rdf.rdfa">searchmonkeyid:com.yahoo.page.rdf.rdfa</a>)
</li>
<li>
<a href='http://getsemantic.com/wiki/ERDF'>eRDF</a>
(<a href="http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.rdf.erdf">searchmonkeyid:com.yahoo.page.rdf.erdf</a>)
</li>
</ul>

<p>And as before, you can look for <a href='http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.hresume+PHP'>hResumes with PHP on them</a>, <a href='http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.uf.geo+santa+clara'>Geocoded pages involving Santa Clara</a>, or <a href='http://search.yahoo.com/search?p=searchmonkeyid%3Acom.yahoo.page.rdf.rdfa+searchmonkey'>RDFa pages related to SearchMonkey</a></p>

<p>Keep monkeying around.</p>

<p>Paul Tarjan<br />
(|): Chief Technical Monkey :(|)<br />
</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/12/monkey_finds_microformats_and_rdf.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/12/monkey_finds_microformats_and_rdf.html</guid>
<category>SearchMonkey</category>
<pubDate>Sun, 07 Dec 2008 23:41:09 -0800</pubDate>
</item>
<item>
<title>Swinging through the Jungle with Mash Maker and SearchMonkey</title>
<description><![CDATA[<p><i>Updated: Spanish and Portuguese translation of tutorials added.</i></p>

<p>One of <a href="http://developer.yahoo.com/searchmonkey">SearchMonkey</a>'s niftier features is the ability to create <a href="http://developer.yahoo.com/searchmonkey/smguide/page_tutorial.html">custom data services</a> that uses XSLT to extract structured data from a site's markup. If you don't own the site in question, this is a great way to extract meaningful information and use it to build a SearchMonkey application. Conversely, if you <em>do</em> own the site in question, an custom data extractor can help you quickly prototype your SearchMonkey application before you add structured markup (<a href="http://microformats.org">microformats</a>, <a href="http://getsemantic.com/wiki/ERDF">eRDF</a>, or <a href="http://www.w3.org/TR/rdfa-syntax/">RDFa</a>) to your site.</p> 

<p>Developers who already know <a href="http://www.w3.org/TR/xslt">XSLT</a> can write a basic extractor with little trouble &mdash; the actual XSLT code for a SearchMonkey extractor usually isn't that complicated. But XSLT is an esoteric language, and the learning curve can be steep.</p>

<p>Which brings us to <a href="http://mashmaker.intel.com/web/">Intel Mash Maker</a>, a nifty <a href="http://mashmaker.intel.com/web/download.html">browser extension</a> that enables you to <a href="http://mashmaker.intel.com/web/learnmore.html">extract structured information from disparate websites and create mashups on-the-fly</a>, without having to write any code. Among other things, Mash Maker is a user-friendly <em>creator</em> of structured information... while SearchMonkey is a large-scale <em>consumer</em> of structured information. Some sort of integration seems natural, and indeed we are proud to announce that the Mash Maker team has just added built-in support for SearchMonkey, enabling you to autogenerate the XSLT code for a SearchMonkey application with a few clicks. How does it work? Check out the tutorials below:</p>

<ul>
	<li><p><a href="http://mashmaker.intel.com/videos/tutorials/searchmonkey/customdataservices/">Creating SearchMonkey Custom Data Services with Intel Mash Maker</a>, by Lucas Massuh of Intel (video)</p></li>
	<li><p><a href="http://www.slideshare.net/post.chris/searchmonkey-mash-maker-tutorial-presentation">SearchMonkey Mash Maker Tutorial</a>, by Chris Lindsey of Yahoo!  (SlideShare presentation: <a href="http://www.slideshare.net/post.chris/searchmonkey-mash-maker-tutorial-presentation">English</a>, <a href="http://www.slideshare.net/post.chris/mash-maker-searchmonkey-tutorial-spanish-presentation/">Spanish</a>, <a href="http://www.slideshare.net/post.chris/yahoo-searchmonkey-custom-data-service-tutorial-portuguesa-presentation/">Portuguese</a>;  Scribd PDF: <a href=" http://www.scribd.com/doc/6530152/Mash-Maker-Search-Monkey-Tutorial">English</a>, <a href="http://www.scribd.com/doc/7412236/Mash-Maker-Search-Monkey-Tutorial-Spanish">Spanish</a>, <a href="http://www.scribd.com/doc/7469667/How-to-Build-a-Yahoo-SearchMonkey-App-Portuguesa">Portuguese</a>).</p></li>
</ul>

<p>Currently, this experimental support for SearchMonkey exists in the Firefox version of Mash Maker only. We're hoping to continue to work with the folks down the road at Intel to find new ways to make it easier than ever to create structured information, so try it out and let us know what you think.</p>

<p>Evan Goer<br/>Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/10/swinging_throug.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/10/swinging_throug.html</guid>
<category>SearchMonkey</category>
<pubDate>Thu, 16 Oct 2008 13:31:28 -0800</pubDate>
</item>
<item>
<title>Nodalities Magazine: Anatomy of a SearchMonkey</title>
<description><![CDATA[<p>In case you were looking for a little light reading on a Monday, our own architect <a href="http://research.yahoo.com/bouncer_user/66">Peter Mika</a> has just published an article in the latest print issue of <a href="http://www.talis.com/nodalities/">Nodalities</a>. Peter's article, titled <cite>Anatomy of a SearchMonkey</cite>, dives into the architecture and thinking behind the SearchMonkey project, and how SearchMonkey applies to semantic data on the Web. The entire magazine is available as a <a href="http://www.talis.com/nodalities/pdf/nodalities_issue4.pdf">free PDF download</a> (5 MB), so take a look and let us know what you think!</p>

<p>Evan Goer<br/>Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/09/nodalities_maga.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/09/nodalities_maga.html</guid>
<category>SearchMonkey</category>
<pubDate>Mon, 29 Sep 2008 10:51:48 -0800</pubDate>
</item>
<item>
<title>SearchMonkey Support for RDFa Enabled</title>
<description><![CDATA[<p>Yahoo! Search is now extracting <a href="http://www.w3.org/TR/xhtml-rdfa-primer/">RDFa data</a> across the World Wide Web and making this information available to the public via <a href="http://developer.yahoo.com/searchmonkey">SearchMonkey</a>. RDFa is an <a href="http://www.w3.org/TR/rdfa-syntax/">open standard for embedding structured data</a> directly in HTML. Along with our previous support for <a href="http://getsemantic.com/wiki/ERDF">eRDF</a> and a number of popular <a href="http://microformats.org">microformats</a>, SearchMonkey now supports a wide variety of popular semantic technologies.</p>

<p>What is structured data, and why is structured data good for search? Traditional search engines crawl the web and extract what metadata they can: the page title, an autogenerated summary, the file size, the MIME-type, the last-updated date, and so on. However, this sort of analysis pales in comparison to what a human being can do simply by glancing at the page. A human can look at the words "Joe's Home Page" and infer, "ah, this page probably belongs to Joe," or look at an image and infer, "ah, that's probably a picture of Joe, the owner of the page." That's easy enough for humans... but what if the search engine could pick out this info and display it directly in the search result?</p>

<p>RDFa relies on using attributes to embed structured data in XHTML. These attributes are not valid in HTML 4, but the W3C has provided an XHTML DTD to validate against. The following example illustrates a simple home page marked up with RDFa data (in bold):</p>
	
<pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
          "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:dc="http://purl.org/dc/elements/1.1/"
      xmlns:foaf="http://xmlns.com/foaf/0.1/"
      lang="en" xml:lang="en"&gt;
&lt;head&gt;
  &lt;title&gt;The Amazing Home Page of Joe Smith&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1 <b>property="dc:title"</b>&gt;Joe's Home Page&lt;/h1&gt;
  &lt;div <b>rel="foaf:maker"</b>&gt;
    &lt;h2 <b>property="foaf:name"</b>&gt;Joe Smith&lt;/h2&gt;
    &lt;div <b>rel="foaf:depiction" resource="http://joesmith.org/images/jsmith.png"</b>&gt;
      &lt;img src="/images/jsmith.png" alt="Smiling headshot of Joe" /&gt;
      &lt;p <b>property="dc:rights"</b>&gt;Creative Commons Attribution 3.0 Unported&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>

<p>In this page, the designer has explicitly stated that the image is a "<em>depiction</em> of the <em>person</em> who <em>made</em> the web page." Adding this information as RDFa can potentially benefit many applications. In the case of Yahoo!, we've designed our search index to extract and store this information.</p>

<p>RDFa support has already enabled some interesting new SearchMonkey applications. For instance, <a href="http://creativecommons.org">Creative Commons</a> has recently started to deploy RDFa across the web in the form of copyright and licensing information. Every time a Creative Commons user <a href="http://creativecommons.org/license/">selects a CC license</a>, the generated HTML badge contains <a href="http://wiki.creativecommons.org/Marking_works">RDFa markup indicating the nature of the license</a>. The <a href="http://gallery.search.yahoo.com/application?smid=kVf">Creative Commons Infobar</a> uses this data to selectively trigger on pages that declare their license using structured markup:</p>

<p><img src="http://farm4.static.flickr.com/3222/2869419185_108c679985.jpg" alt="SearchMonkey Infobar showing a Creative Commons license" /></p>

<p>To get started with RDFa:</p>
<ul>
	<li>Learn the basics with the <a href="http://www.w3.org/TR/xhtml-rdfa-primer/">W3C RDFa Primer</a></li>
	<li>Dive into the details with the full <a href="http://www.w3.org/TR/rdfa-syntax/">RDFa Specification</a></li>
	<li>Join the community at the <a href="http://rdfa.info/">RDFa homepage</a></li>
	<li>Test your structured markup skills with the <a href="http://www.w3.org/2007/08/pyRdfa/">RDFa Distiller</a></li>
	<li>Filter on RDFa in Yahoo! searches with the <a href="http://search.yahoo.com/search?p=searchmonkeyid:com.yahoo.rdf.rdfa"><code>searchmonkeyid:com.yahoo.rdf.rdfa</code> parameter</a></li>
	<li>Start displaying RDFa to millions of users with the <a href="http://developer.search.yahoo.com">SearchMonkey developer tool</a></li>
</ul>

<p>Evan Goer<br/>Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/09/searchmonkey_support_for_rdfa_enabled.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/09/searchmonkey_support_for_rdfa_enabled.html</guid>
<category>SearchMonkey</category>
<pubDate>Mon, 22 Sep 2008 14:00:06 -0800</pubDate>
</item>
<item>
<title>New SearchMonkey Enhanced Result Template Deployed</title>
<description><![CDATA[<p><a href="http://developer.yahoo.net/blog/archives/2008/07/new_searchmonke_1.html">In July</a>, we bucket tested a new template design for Enhanced Result applications. Developers do not have to take any actions to use this new redesign; all Enhanced Result applications will upgrade automatically. <strong>Important:</strong> Infobar applications will be unaffected.</p>

<p>The original SearchMonkey post contains examples of both the <a href="http://developer.yahoo.net/blog/archives/2008/07/new_searchmonke_1.html">old and the new SearchMonkey Enhanced Result templates</a>. In this posting, we'll just show examples of the new design. First, an Enhanced Result for <a href="http://www.howstuffworks.com">HowStuffWorks.com</a> that displays a result with a full abstract:</p>

<p><img src="http://farm4.static.flickr.com/3125/2863591960_f98e70b3bb.jpg"  width="500" height="112" alt="New SearchMonkey Enhanced Result (Abstract)" /></p>

<p>The first design change you'll notice is that images appear to the right, rather than the left. Our user testing has shown that moving images to the right improves the usability of the overall result. As for links, they now appear in a horizontal row, rather than as a vertical column next to the image. Not only are the deep links are more discoverable when presented separately from the image, but moving the links into a horizontal row provides more space for the summary and key/value pairs.</p>

<p>Now let's take a look at another real-world example from <a href="http://www.citysearch.com">CitySearch</a>, this one displaying a result with key/value pairs:</p>

<p><img src="http://farm4.static.flickr.com/3114/2863591932_2f050a0939.jpg" width="500" height="123" alt="Original SearchMonkey Enhanced Result (Key/Value Pair)" /></p>

<p>As in the example above, the image is shifted to the right. The key/value pairs have replaced the abstract, lying just below the deep links.</p>

<p>Careful observers will note that the key and value are now the same color &mdash; a minor change from the old template, where the keys were a lighter shade of grey. We found that keys were actually more discoverable when displayed in the same shade as the value. </p>

<p>The SearchMonkey team is confident improves performance, engagement, and discoverability across the board for users and developers. If you have feedback on the new templates, please let us know here, or <a href="http://tech.groups.yahoo.com/group/searchmonkey-developers/">leave us a comment in the SearchMonkey forum</a>.</p>

<p>Evan Goer<br/>Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/09/new_searchmonke_2.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/09/new_searchmonke_2.html</guid>
<category>SearchMonkey</category>
<pubDate>Thu, 18 Sep 2008 09:50:31 -0800</pubDate>
</item>
<item>
<title>SearchMonkey Rides with the Semantic Web Gang</title>
<description><![CDATA[<p>For those of you who are interested in learning more about how structured data fits in with SearchMonkey and Yahoo! Search strategy, please <a href="http://semanticgang.talis.com/2008/08/22/august-2008-the-semantic-web-gang-discusses-search-and-the-semantic-web/">tune in to the latest Semantic Web Gag podcast</a> to hear our very own <a href="http://www.cs.vu.nl/~pmika/">Peter Mika</a> discussing topics such as:</p>

<ul>
	<li>how SearchMonkey is helping to motivate large site owners to use semantic data</li>
	<li>the importance of shared vocabularies for application interoperability</li>
	<li>the emergence of automated tools for extracting semantic data, such as <a href="http://www.opencalais.com/about">Calais</a></li>
</ul>

<p>This podcast is available as a <a href="http://semanticgang.talis.com/2008/08/22/august-2008-the-semantic-web-gang-discusses-search-and-the-semantic-web/
">stream</a> or <a href="http://semanticgang.talis.com/podpress_trac/web/34/0/twt20080822-SemWebGang-August.mp3">MP3 download</a>. Enjoy!</p>

<p>Evan Goer<br/>
Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/08/searchmonkey_ri.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/08/searchmonkey_ri.html</guid>
<category>SearchMonkey</category>
<pubDate>Fri, 29 Aug 2008 16:01:05 -0800</pubDate>
</item>
<item>
<title>RDF, XSLT, &amp; the Monkey Make 3</title>
<description><![CDATA[<p>If you've been hanging around the YDN recently, you've probably heard a thing or two about SearchMonkey. </p>

<p>And why not? SearchMonkey is pretty darn cool.</p>

<p>It lets you enhance the appearance of search results for your favorite sites. So the next time you need to look up, say, restaurants, a SearchMonkey app can distill all of the important information, like location, price range, and rating all into one place, right there in your search results.</p>

<p>A ton of people have been tinkering with SearchMonkey <a href="http://www.ysearchblog.com/archives/000579.html">since it launched in May</a>. One of the main reasons for this (aside from how cool it is...and never mind the <a href="http://www.ysearchblog.com/archives/000583.html">$10,000 contest they held recently</a>), is how easy it is to pick up and start developing with.</p>

<p>In this article, I'll go over XSLT and RDF--two of the fundamental concepts that power SearchMonkey. If you're looking to build your first app or you've built a few and want to get more out of it, you'll definitely want to read on.</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/08/rdf_xslt_and_the_monkey_makes_3.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/08/rdf_xslt_and_the_monkey_makes_3.html</guid>
<category>SearchMonkey</category>
<pubDate>Fri, 15 Aug 2008 18:08:44 -0800</pubDate>
</item>
<item>
<title>SearchMonkey Tutorials</title>
<description><![CDATA[<p>If you've been waiting 'till now to build a <a href="http://developer.yahoo.com/searchmonkey/">SearchMonkey application</a>, you're in luck &mdash; we're pleased to announce that two intrepid SearchMonkey developers have independently created some great tutorials to help you get started.</p>

<p>First, <a href="http://webbackplane.com/mark-birbeck">Mark Birbeck of webBackplane</a> has released a <a href="http://code.google.com/p/argot-hub/w/list?q=SearchMonkey">set of SearchMonkey tutorials</a> that cover the <a href="http://code.google.com/p/argot-hub/wiki/GettingStartedDataRss">DataRSS format</a>, <a href="http://code.google.com/p/argot-hub/wiki/HowToCreateaDataRssScraper">creating a DataRSS XSLT extractor</a>, and <a href="http://code.google.com/p/argot-hub/wiki/HowToCreateASearchMonkeyPresentationApplication">creating a presentation application</a>. Mark's specific focus is on government websites and expanding the ways these websites can share information with citizens. In fact, one of the reasons Mark is so interested in SearchMonkey is that SearchMonkey apps enable people to see what's possible when you embed RDFa in your pages. Mark also points out that custom data services are an excellent way to prototype these kinds of features before you go to the trouble of changing your markup.</p>

<p>If that weren't enough, <a href="http://www.post-chris.com/">Chris Lindsey</a> of the Yahoo! Search Editorial team has posted a <a href="http://www.post-chris.com/search_monkey.html">two-part SearchMonkey tutorial series</a> on <a href="http://www.post-chris.com/SearchMonkey/building_a_custom_data_service_tutorial.pdf">How to Build a Custom Data Service</a> [PDF] and <a href="http://www.post-chris.com/SearchMonkey/building_a_custom_data_service_tutorial.pdf">How to Build a SearchMonkey app (Infobar)</a> [PDF]. These step-by-step tutorials are written with the newbie developer in mind, and cover various pitfalls that you might encounter when you're first learning how SearchMonkey works.</p>

<p>Finally, it's worth noting that a number of people have posted <a href="http://www.slideshare.net/tag/searchmonkey">SearchMonkey-related presentations on slideshare.net</a>, including <a href="http://www.wait-till-i.com/">Chris Heilmann</a>, <a href="http://neilcrosby.com/">Neil Crosby</a>, and <a href="http://www.marketersstudio.com/">David Berkowitz</a>. If <em>you've</em> got SearchMonkey tutorials or interesting apps to share, feel free to <a href="/blog/archives/2008/08/searchmonkey_tu.html#comments">let us know</a>.</p>

<p>Evan Goer<br />Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/08/searchmonkey_tu.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/08/searchmonkey_tu.html</guid>
<category>SearchMonkey</category>
<pubDate>Thu, 14 Aug 2008 16:19:49 -0800</pubDate>
</item>
<item>
<title>SearchMonkey for Site Search</title>
<description><![CDATA[<p><i>This is a <a href="http://www.ysearchblog.com/archives/000612.html">cross-posting</a> from the <a href="http://www.ysearchblog.com/">Yahoo! Search Blog</a>.</i></p>

<p>In the past few months, <a href="http://developer.yahoo.com/searchmonkey/">SearchMonkey</a> developers have told us they'd like to use Enhanced Results for site search. Yahoo! and other search engines have long had a site restrict operator (e.g. site:anysite.com) and other site search tools, but we decided to launch a new capability that lets you add a query parameter that automatically turns on the SearchMonkey Enhanced Result for the site you're searching. This is important for site owners because it makes it easier for their communities to get more complete answers when they search on <a href="http://search.yahoo.com/">Yahoo! Search</a>.</p>

<p>This new parameter will work with any app that's in the <a href="http://gallery.search.yahoo.com/">Yahoo! Search Gallery</a> as well as any official app. (To make an app official, a site owner just needs to authenticate their site using <a href="https://siteexplorer.search.yahoo.com/">Site Explorer</a> and then associate their app with their site when they make it sharable in the <a href="http://developer.search.yahoo.com/">Developer Tool</a>)</p>

<p><b>How it works</b><br />
To use this functionality, you just need to append a few parameters to a typical Yahoo! Search query string. Here's a quick example:</p>

<ul><li>Start with a standard query string:  <a href="http://search.yahoo.com/search?q=u2">http://search.yahoo.com/search?q=u2</a></li>
<li>Add the site restrict parameter:  &vs=last.fm</li>
<li>Add the SearchMonkey app ID parameter (case sensitive):  &sm=xho</li>
<li>Final result:  <a href="http://search.yahoo.com/search?q=u2&vs=last.fm&sm=xho">http://search.yahoo.com/search?q=u2&vs=last.fm&sm=xho</a></li></ul>

<p>This query string can be generated using whatever mechanism you choose, including a simple search box on your site or blog. It works with both Infobars and Enhanced Results -- as long as the app is either in the Gallery or is official. If you accidentally try a SearchMonkey app along with a site restriction that doesn't match, the results will look like a typical site-restricted search. Here are a few more examples:</p>

<p><br />
<b>Site:</b>  <a href="http://wikipedia.org/">Wikipedia</a><br />
<b>App:</b>  <a href="http://gallery.search.yahoo.com/application?smid=knb">http://gallery.search.yahoo.com/application?smid=knb</a><br />
<b>SearchMonkey for site search query:</b>  <a href="http://search.yahoo.com/search?q=george+washington&vs=wikipedia.org&sm=knb">http://search.yahoo.com/search?q=george+washington&vs=wikipedia.org&sm=knb</a><br />
<b>Try a search:</b> <br />
<form action="http://search.yahoo.com/search"> <input type="text" size="20" name="q" value="George Washington"> <input type="hidden" name="vs" value="wikipedia.org"> <input type="hidden" name="sm" value="knb"> <input type="submit" value="Search!"> </form> </p>

<p><b>Site:</b>  <a href="http://answers.yahoo.com/">Yahoo! Answers</a><br />
<b>App:</b>  <a href="http://gallery.search.yahoo.com/application?smid=ylc">http://gallery.search.yahoo.com/application?smid=ylc</a><br />
<b>SearchMonkey for site search query:</b> <a href="http://search.yahoo.com/search?q=can+pigs+fly?&vs=answers.yahoo.com&sm=ylc">http://search.yahoo.com/search?q=can+pigs+fly?&vs=answers.yahoo.com&sm=ylc</a><br />
<b>Try a search:</b> <br />
<form action="http://search.yahoo.com/search"> <input type="text" size="20" name="q" value="can pigs fly?"> <input type="hidden" name="vs" value="answers.yahoo.com"> <input type="hidden" name="sm" value="ylc"> <input type="submit" value="Search!"> </form> </p>

<p><b>Site:</b>  java.sun.com<br />
<b>App:</b>  <a href="http://gallery.search.yahoo.com/application?smid=Zq0">http://gallery.search.yahoo.com/application?smid=Zq0</a><br />
<b>SearchMonkey for site search query:</b>  <a href="http://search.yahoo.com/search?p=exception&vs=java.sun.com&sm=Zq0">http://search.yahoo.com/search?p=exception&vs=java.sun.com&sm=Zq0</a><br />
<b>Try a search:</b>  <br />
<form action="http://search.yahoo.com/search"> <input type="text" size="20" name="q" value="exception"> <input type="hidden" name="vs" value="java.sun.com"> <input type="hidden" name="sm" value="Zq0"> <input type="submit" value="Search!"> </form> </p>

<p><br />
Before we continue work on this feature, please let us know what you think below or on the <a href="http://tech.groups.yahoo.com/group/searchmonkey-developers/">Developer group</a>. We'd be particularly interested to hear what else site owners would like to be able to customize in order to make SearchMonkey a more valuable site search tool.</p>

<p><br />
The SearchMonkey team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/08/searchmonkey_fo.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/08/searchmonkey_fo.html</guid>
<category>SearchMonkey</category>
<pubDate>Fri, 08 Aug 2008 10:13:45 -0800</pubDate>
</item>
<item>
<title>Yelp, Yahoo! Local and LinkedIn SearchMonkey Apps Now Default-On</title>
<description><![CDATA[<p><i>This is a cross-posting from the <a href="http://ysearchblog.com">Yahoo! Search Blog</a>.</i></p>

<p><a href="http://www.ysearchblog.com/archives/000588.html">Last month</a> we opened up the <a href="http://gallery.search.yahoo.com/">Yahoo! Search Gallery</a> to showcase all of the useful <a href="http://developer.yahoo.com/searchmonkey/">SearchMonkey</a> applications that have been built by developers, site owners and Yahoo!.  Today, we’re turning on a few of those applications for all users. Now, the <a href="http://gallery.search.yahoo.com/application?smid=Fxe">Yelp</a>, <a href="http://gallery.search.yahoo.com/application?smid=yCl">Yahoo! Local</a> and <a href="http://gallery.search.yahoo.com/application?smid=GP4">LinkedIn</a> Enhanced Results will automatically appear in the search results, eliminating the need for users to go into the <a href="http://gallery.search.yahoo.com/">Search Gallery</a> to add them.</p>

<p>Why did we start with these applications?  Before making an application “default on” we require a few things: access to the site’s structured data through semantic markup or a data feed, a well-designed and broadly useful application, and positive user metrics.  To understand how a SearchMonkey app affects user metrics, we generally expose a small percentage of our users to a default-on experience and measure if and how it changes their usage.  We started with <a href="http://gallery.search.yahoo.com/application?smid=Fxe">Yelp</a>, <a href="http://gallery.search.yahoo.com/application?smid=GP4">LinkedIn</a>, and <a href="http://gallery.search.yahoo.com/application?smid=yCl">Yahoo! Local</a> because they were among our first partners to share structured data.  Our tests uncovered that users found these apps useful; in fact, in some cases, we saw a lift in click-through rate of as high as 15 percent.</p>

<p>In addition to testing a "default on" treatment, we also tested giving users the ability to add the LinkedIn Enhanced Result directly from the search results page. We'll continue to use this treatment as another way to promote high quality SearchMonkey apps to users.</p>

<p><a href="http://www.flickr.com/photos/ysearchblog/2719552741/" title="Click_to_Add_v2 by y.searchblog, on Flickr"><img src="http://farm3.static.flickr.com/2345/2719552741_176d7fa925.jpg" width="500" height="86" alt="Click_to_Add_v2" /></a></p>

<p>While these are the first apps to be automatically included in the search results, they will certainly not be the last. We'll continue to work with our SearchMonkey developers to increase the exposure of other high-quality applications to the search results page in the months to come (so, make sure to submit your applications to the Gallery). Making it easier to find and add SearchMonkey apps is an important step in improving and enriching the search experience for our users.</p>

<p>In addition to turning these Enhanced Results on by default, we've also added "share-with-a-friend" functionality. By clicking the envelope icon on any Enhanced Result, users can now quickly send an email to their friends to share the app.</p>

<a href="http://www.flickr.com/photos/ysearchblog/2721298356/" title="sharewithafriend3 by y.searchblog, on Flickr"><img src="http://farm4.static.flickr.com/3172/2721298356_d09fab688d.jpg" width="500" height="459" alt="sharewithafriend3" /></a></p>

<p>Let us know how these Enhanced Results are working and others you’d like to see in the comments below!</p>
 
<p>Amit Kumar <br/>
Director, Product Management<br/>
Yahoo! Search </p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/07/yelp_yahoo_loca.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/07/yelp_yahoo_loca.html</guid>
<category>SearchMonkey</category>
<pubDate>Thu, 31 Jul 2008 14:13:44 -0800</pubDate>
</item>
<item>
<title>New SearchMonkey Enhanced Result Template</title>
<description><![CDATA[<p>We are testing a new template design for Enhanced Result applications. This new template contains two key design improvements that stem directly from recent Yahoo! user research. If our tests are successful (we're exposing 5% of our traffic to this new template), we'll roll it out to all users in the coming months. Developers do not have to perform any actions to take advantage of this new redesign; all Enhanced Result applications will upgrade automatically. Infobar applications will be unaffected.</p>

<h4>Original Enhanced Result Designs (Abstract, Key/Value Pair)</h4>

<p><img src="http://farm4.static.flickr.com/3006/2677798096_3d7272f997_o.png" width="543" height="124" alt="Original SearchMonkey Enhanced Result (Abstract)" /></p>

<p><img src="http://farm4.static.flickr.com/3291/2676982909_5fb66fb99d_o.png" width="547" height="128" alt="Original SearchMonkey Enhanced Result (Key/Value Pair)" /></p>

<h4>New Enhanced Result Designs (Abstract, Key/Value Pair)</h4>

<p><img src="http://farm4.static.flickr.com/3043/2677798064_bac386a574_o.png" width="560" height="120" alt="New SearchMonkey Enhanced Result (Abstract)" /></p>

<p><img src="http://farm4.static.flickr.com/3164/2677798034_e270ef7376_o.png" width="563" height="139" alt="New SearchMonkey Enhanced Result (Key/Value Pair)" /></p>

<p>Key differences include:</p>

<ul>
	<li><p>Images appear to the right of the abstract, rather than the left. Our latest eye-tracking studies indicate that moving the image helps users selectively discover it &mdash; without disrupting their ability to scan the search result page. While we know that <a href="http://developer.yahoo.com/searchmonkey/smguide/presentation_bp.html#id384764">users do like relevant images</a>, we also know that images can increase the risk that the result resembles an advertisement. Shifting the image to the right reduces the perception of the result as an advertisement, and caused users to report noticing the images more. The new design also helps users engage the image only when they feel it is relevant.</p></li>
	<li><p>Links appear in a horizontal row, rather than as a vertical column next to the image. Research indicates that deep links are more discoverable when presented separately from the image. Additionally, moving the links into a horizontal row provides more real estate for the summary and key/value pairs.</p></li>
</ul>

<p>In a subsequent post, one of our researchers will dive into the data behind this redesign in much more detail. Meanwhile, stay tuned &mdash; we'll let you know when the new designs are about to go live!</p>

<p>Evan Goer<br/>Yahoo! SearchMonkey Team</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/07/new_searchmonke_1.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/07/new_searchmonke_1.html</guid>
<category>SearchMonkey</category>
<pubDate>Thu, 17 Jul 2008 10:49:43 -0800</pubDate>
</item>
<item>
<title>SearchMonkey In Paris!</title>
<description><![CDATA[<center><a href="http://www.flickr.com/photos/robyntippins/2672046384/" title="photo by Duzins, on Flickr"><img src="http://farm4.static.flickr.com/3145/2672046384_d51ac9ff44.jpg" width="500" height="343" alt="photo" /></a><br />Photo credit Sophie Major</center><br />

<p>Search Monkey arrived in Paris with the sound of flying toy monkeys screeching as they flew through the La Cantine café. The festive, attentive group gathered to hear about the new Yahoo! Search feature and to fling the little guys across the room.</p>

<p>La Cantine is a cross between an Internet Café and a co-op workspace. Its central Paris location provides space to collaborate, learn, share, and explore the future of technology. </p>

<center><a href="http://www.flickr.com/photos/robyntippins/2671222857/" title="photo2 by Duzins, on Flickr"><img src="http://farm4.static.flickr.com/3269/2671222857_c144db1d35_o.jpg" width="409" height="310" alt="photo2" /></a><br />Photo credit Sophie Major</center><br />

<p>The Yahoo! Developer Network and local Yahoos joined forces to explain Search Monkey; an open interface for providing enhanced search result presentations.  Participants were able to start building Search Monkey applications in small groups as well as learn about Microformats.</p>

<p><strong>Search Monkey Applications</strong></p>

<p>Search Monkey allows any developer to create enhanced presentations for a web site when it appears in Yahoo! Search. The standard result displays the page title, description, and web site address. A Search Monkey powered result could contain photographs, address, contact information, deep links to particular pages, and additional information from related pages. This makes search result pages more engaging for users. </p>

<p>Search Monkey applications do this by defining small bits of data that should fill the space. Search Monkey automatically grabs microformatted data on the page, as well as providing the standard Yahoo! Search indexed information. The programmer can also define custom data by scraping the desired page or using web services. </p>

<p>Search Monkey opportunities in France</p>

<p><strong>Museums</strong> - Provide images, titles, artist, date, and other information for their objects when they appear in search results. <br />
<strong>Traffic</strong> - Provide traffic conditions, rates, times, and tourist information when a city or train or metro route appears in the search result pages.  <br />
<strong>Restaurants</strong> - Directories could provide ratings, addresses, phone numbers, and summaries. <br />
<strong>Theater</strong> - Cinema, Theater, Opera results include times, synopsis, rating, and location information. <br />
<strong>Sports</strong> - Tour de France and other sports include player information, team scores, upcoming events, and standings.  </p>

<p>Ted Drake<br />
Web Developer - Global Finance</p>]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/07/searchmonkey_in.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/07/searchmonkey_in.html</guid>
<category>SearchMonkey</category>
<pubDate>Tue, 15 Jul 2008 10:50:08 -0800</pubDate>
</item>
<item>
<title>Twitter, SearchMonkey, and Caching</title>
<description><![CDATA[<p>Intrepid coder <a href="http://thecodemill.biz/">Bart Teeuwisse</a> has written up an <a href="http://blog.360.yahoo.com/blog-nmtCUeQzerRT5iQg31WF0v9VWB1iCQ--?cq=1&p=74">excellent technical account of creating "Tweet"</a>, a beautifully designed SearchMonkey app for <a href="http://twitter.com">Twitter</a>. From a performance standpoint, writing a Twitter SearchMonkey app is particularly challenging, as <a href="http://blog.360.yahoo.com/blog-nmtCUeQzerRT5iQg31WF0v9VWB1iCQ--?cq=1&p=74">Bart explains</a>:</p>

<blockquote>
<p>It turns out that execution speed of a SearchMonkey is key. To make the <a href="http://gallery.search.yahoo.com">SearchMonkey Gallery</a> a presentation monkey such as Tweet has to complete within a fraction of a second. Any call to fetch 3rd party takes too long to satisfy this requirement. Certainly calling Twitter's API whose fluctuating response times are all over the map.</p>

<p>Secondly, Twitter's profile API call takes a user ID, which first has to be extracted from Yahoo!'s indexed data. An additional data SearchMonkey can do that and whose output is the input to Tweet's profile feching data monkey. However, this chaining of data monkeys makes Tweet only slower.</p>
</blockquote>

<p>Fortunately, Bart hit on a really clever solution: a mashup with <a href="http://code.google.com/appengine/">Google App Engine</a>, which acts as a simple proxy cache for Twitter data, which SearchMonkey can then consume. The result (after <i>also</i> adding Bart's own <a href="http://gallery.search.yahoo.com/application?smid=vuA">FriendNet infobar app</a>):</p> 

<p><img src="http://farm3.static.flickr.com/2380/2655670495_747f6bbd12_o_d.png" alt="Example Twitter application from Bart Teeuwisse; shows profile picture, tweets, followers, and more." /></p>

<p>Not only is the caching a nifty way to smooth out the API response times, but it also helps reduce the number of (rate-limited) API calls required. <a href="http://blog.360.yahoo.com/blog-nmtCUeQzerRT5iQg31WF0v9VWB1iCQ--?cq=1&p=74">Read more about it at Bart's place</a>.</p>  ]]></description>
<link>http://developer.yahoo.net/blog/archives/2008/07/twitter_searchm_1.html</link>
<guid>http://developer.yahoo.net/blog/archives/2008/07/twitter_searchm_1.html</guid>
<category>SearchMonkey</category>
<pubDate>Thu, 10 Jul 2008 11:17:44 -0800</pubDate>
</item>


</channel>
</rss>