<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>scriptedlife &#187; admin</title>
	<atom:link href="http://scriptedlife.com/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://scriptedlife.com</link>
	<description>The online home of A. Hattemer</description>
	<lastBuildDate>Tue, 13 Jul 2010 17:58:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Nexus One + Android 2.2 &#8220;Review&#8221;</title>
		<link>http://scriptedlife.com/nexus-one-android-2-2-review</link>
		<comments>http://scriptedlife.com/nexus-one-android-2-2-review#comments</comments>
		<pubDate>Tue, 13 Jul 2010 17:46:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[gadgets]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=259</guid>
		<description><![CDATA[I have had a Nexus One on T-Mobile in New York City for 1 week now. Although long-term problems may not have had a chance to crop up yet, I am so excited I decided to post a &#8220;review&#8221; (in quotes because it&#8217;s really just gonna be a profession of love more than anything). The [...]]]></description>
			<content:encoded><![CDATA[<p>	<em>I have had a Nexus One on T-Mobile in New York City for 1 week now. Although long-term problems may not have had a chance to crop up yet, I am so excited I decided to post a &#8220;review&#8221; (in quotes because it&#8217;s really just gonna be a profession of love more than anything).</em></p>
<p><a href="http://scriptedlife.com/wp-content/uploads/2010/07/nexus_one.jpg"><img class="aligncenter size-medium wp-image-263" title="Nexus One" src="http://scriptedlife.com/wp-content/uploads/2010/07/nexus_one-350x286.jpg" alt="The Nexus One with Android 2.2" width="350" height="286" /></a></p>
<h2>The Phone</h2>
<p>I have fat thumbs, and worried about having a phone without a keyboard.  Let me assure you that I haven&#8217;t for a minute regretted getting a touch-screen only phone. Why?</p>
<ol>
<li>VOICE CONTROL EVERYTHING! &#8211; The onscreen keyboard has a mic function that actually works! Anytime you have to enter text you can just talk naturally to the phone and it gets it correct about 90% of the time!</li>
<li>WIDESCREEN LAYOUT! &#8211; Flip the phone on its side and type with two thumbs for longer emails, it works like a charm! Very responsive touchscreen.</li>
</ol>
<p>Other notes on the phone: The form factor is beautifully simple.  My only complaints are ones that have been repeated across the web: The touchscreen-only buttons are a little awkward, I feel like I have to press slightly above the button to get it.  The nub is not necessary, unless you have some game or app that requires it.</p>
<p>Battery Life: I am typing this review on a netbook in a cafe.  The crappy wifi in the cafe was down, so IM USING MY PHONE AS A WIRELESS ROUTER AND MODEM!  We&#8217;ll see if I get through the whole review, but the battery life is better than the G1, but as with all smartphones, definitely dependent on how much functionality you use. UPDATE: Battery life didn&#8217;t change noticeably in the time it took to write this &#8220;review.&#8221;</p>
<h2>The Software</h2>
<p>Android 2.2 or &#8220;Froyo&#8221; is amazing.  I have used an IPod Touch before, and have checked out the new IPhone, so I understand iOS is quite nice. But, the mind-blowing thing about the Android OS is how quickly it keeps on getting better and better!  Like I mentioned earlier, I am using Mobile WIFI Hotspot functionality new to Android 2.2, I just checked out some processing.js HTML5 Apps that ran fine in the browser, I took a photo of a restaurant&#8217;s menu with Google Goggles and it saved the contact details to my contacts.  THIS PHONE IS THE FUTURE!</p>
<p>Only complaints with the software: Google Voice integration isnt seamless, I am still tweaking all the settings so that I dont end up with multiple copies of every voicemail and text.  THAT IS IT!</p>
<p>Thank You Android team, you have finally created a smartphone that is a tool and not a distraction or accessory.</p>
<h2>The Carrier</h2>
<p>Oh. And the icing on the cake: UNLIMITED DATA, FOR CHEAPER THAN THE IPHONE! <a href="http://www.billshrink.com/blog/9032/iphone-4g-vs-evo-4g/" target="_blank">This graphic</a> gives you the best comparison. For $375 less per year, I get unlimited data.  My connection speed is a reasonable 3.6mbps download, 1.2 mbps up. (For perspective, DSL maxes out at 10mbps, and rarely hits that.)</p>
]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/nexus-one-android-2-2-review/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Feynman for the soul</title>
		<link>http://scriptedlife.com/some-feynman-for-the-soul</link>
		<comments>http://scriptedlife.com/some-feynman-for-the-soul#comments</comments>
		<pubDate>Thu, 28 Jan 2010 00:58:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[Feynman]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/some-feynman-for-the-soul</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/zeCHiUe1et0&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/zeCHiUe1et0&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/some-feynman-for-the-soul/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The grandparents of your future robot overlords</title>
		<link>http://scriptedlife.com/videos-of-future-robot-overlords</link>
		<comments>http://scriptedlife.com/videos-of-future-robot-overlords#comments</comments>
		<pubDate>Mon, 19 Oct 2009 23:48:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/the-grandparents-of-your-future-robot-overlords</guid>
		<description><![CDATA[Just in case you had forgotten that your grandkids will be docile servants to a sentient class of robots, here are some videos to remind you: Here we have a factory robot sorting pancakes, and eliminating jobs: These next two may seem useless, until you throw a hedgetrimmer and a samurai sword into the mix: [...]]]></description>
			<content:encoded><![CDATA[<p>Just in case you had forgotten that your grandkids will be docile servants to a sentient class of robots, here are some videos to remind you:</p>
<p>Here we have a factory robot sorting pancakes, and eliminating jobs:<br />
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/wg8YYuLLoM0&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wg8YYuLLoM0&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p>
<p>These next two may seem useless, until you throw a hedgetrimmer and a samurai sword into the mix:</p>
<p>Here a robot bobbles ping poll balls faster than you can actually see:<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/bfdHY26E2jc&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bfdHY26E2jc&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Here a robot does some crazy impressive maneuvering around Fanta cans, we get the point, it&#8217;s well coordinated.<br />
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/SOESSCXGhFo&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/SOESSCXGhFo&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p>
<p>Robot crushes a car into tiny pieces<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/YZDngpTmpzQ&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YZDngpTmpzQ&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>And to wrap it all up, this last guy actually flies around a crowded room automatically, and maps it out in 3d.<br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="288" id="viddlerplayer-2044f95a"><param name="movie" value="http://www.viddler.com/simple/2044f95a/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="flashvars" value="autoplay=f" /><embed src="http://www.viddler.com/simple/2044f95a/" width="437" height="288" type="application/x-shockwave-flash" allowScriptAccess="always" flashvars="autoplay=f" allowFullScreen="true" name="viddlerplayer-2044f95a" ></embed></object> </p>
]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/videos-of-future-robot-overlords/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlightStats.com Mobile User Experience Problem</title>
		<link>http://scriptedlife.com/flightstats-not-satisfied-with-google-love-gets-greedy</link>
		<comments>http://scriptedlife.com/flightstats-not-satisfied-with-google-love-gets-greedy#comments</comments>
		<pubDate>Fri, 03 Apr 2009 00:32:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=179</guid>
		<description><![CDATA[Some time ago FlightStats.com got the magical and much coveted Internet Cloak of Invincibility: Google decided to make her search results more R0X0r, and now lists FlightStats as #1 for every Flight Status search on Google. Unfortunately, when searching for flight statuses from a modern mobile phone such as an Iphone or G1 Google Phone, [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.flightstats.com"><img class="size-full wp-image-180" title="FlightStats Gets Greedy" src="http://scriptedlife.com/wp-content/uploads/2009/04/flightstats_smartass.gif" alt="FlightStats not satisfied with Google Love" width="259" height="94" /></a>
<p>Some time ago FlightStats.com got the magical and much coveted Internet Cloak of Invincibility: Google decided to make her search results more R0X0r, and now lists FlightStats as #1 for every Flight Status search on Google.</p>
<div id="attachment_181" class="wp-caption aligncenter" style="width: 360px"><a href="http://scriptedlife.com/wp-content/uploads/2009/04/flightstats_google_results.png"><img class="size-medium wp-image-181" title="Google Flight Status Search Result" src="http://scriptedlife.com/wp-content/uploads/2009/04/flightstats_google_results-350x138.png" alt="FlightStats.com's Special Google Result" width="350" height="138" /></a><p class="wp-caption-text">FlightStats.com&#39;s Special Google Result</p></div>
<p>Unfortunately, when searching for flight statuses from a modern mobile phone such as an Iphone or G1 Google Phone, the user experience goes out the window.</p>
<p>Try searching for a flight status on your mobile phone (the flight has to be in progress, so you may have to try a couple of times to get the special result), once you click through to FlightStats.com, how many pages of Ads do you have to go through? <strong><span style="text-decoration: line-through;">SEVEN. SEVEN PAGES OF ADS.</span> Thanks to Scott&#8217;s quick response, the number of pages has now been reduced to 4-6 pages.</strong></p>
<ol>
<li>Mobile Homepage &#8211; <em>You click the result and are redirected to the mobile homepage</em></li>
<li>&#8220;Choose how you want to check your flight&#8221; page</li>
<li>&#8220;Enter the Airline code and Flight #&#8221; page</li>
<li>&#8220;Didn&#8217;t know the obscure Airline code? No problem just read through some more ads and select one here&#8221; page</li>
<li><span style="text-decoration: line-through;">&#8220;Re-Enter the Airline Code and Flight #&#8221; page </span>-<strong><em>FIXED!</em></strong></li>
<li>&#8220;This flight has multiple segments! Choose which segment you are interested in while you read more ads&#8221; page</li>
<li>&#8220;Oh hey, here&#8217;s that flight status you searched for <strong>5-7 pages ago</strong>!&#8221; page</li>
</ol>
<p>This is not quite in keeping with Google&#8217;s &#8220;Send users right to the content&#8221; manifesto.</p>
<p>Google,  (I&#8217;m speaking to the living breathing entity, as he/she <img src='http://scriptedlife.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  will be the first one to read this), please, I implore you, throw your weight around with these guys, and if they dont budge why not direct your firehose at <a href="http://www.google.com/search?q=related%3Aflightstats.com&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a" target="_blank">another equally deserving site.</a></p>
<p><strong>UPDATE 04-09-2009 &#8211; </strong>Scott, from Flightstats.com, was nice enough to include some feedback and insights on this mobile redirect problem, below in the comments.  Its always good to know a company is interested in user feedback on the web.</p>
]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/flightstats-not-satisfied-with-google-love-gets-greedy/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Chrome Plugin/Extension Support: The Baconizer!</title>
		<link>http://scriptedlife.com/google-chrome-plugin-extension-support-the-baconizer</link>
		<comments>http://scriptedlife.com/google-chrome-plugin-extension-support-the-baconizer#comments</comments>
		<pubDate>Wed, 18 Mar 2009 20:34:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=168</guid>
		<description><![CDATA[Google Chrome, Google&#8217;s quick and open foray into the browser world,  is quickly becoming more than just &#8220;the prettiest browser.&#8221; The Chrome team recently released a little program that allows anyone to pick the &#8220;channel&#8221; of Chrome they would like to use: Regular, Beta, or Developer. Developer has lots of subtle new features, one of [...]]]></description>
			<content:encoded><![CDATA[<p>Google Chrome, Google&#8217;s quick and open foray into the browser world,  is quickly becoming more than just &#8220;the prettiest browser.&#8221;  The Chrome team recently released a little program that allows anyone to pick the &#8220;channel&#8221; of Chrome they would like to use: Regular, Beta, or Developer. Developer has lots of subtle new features, one of which allows for rudimentary Extensions, helpful add-ons that many Firefox users say they cannot do without.</p>
<div id="attachment_176" class="wp-caption aligncenter" style="width: 360px"><a href="http://scriptedlife.com/wp-content/uploads/2009/03/bacon1.png"><img class="size-medium wp-image-176" title="Google Chrome Baconizer Extension" src="http://scriptedlife.com/wp-content/uploads/2009/03/bacon1-350x254.png" alt="BACON BACON BACON" width="350" height="254" /></a><p class="wp-caption-text">BACON BACON BACON</p></div>
<p>Given the internet&#8217;s recent love affair with bacon, I <span style="text-decoration: line-through;">whipped</span> fried up this crispy little extension that ADDS BACON TO GOOGLE!!!  Most helpful was Matt Cutts&#8217; Blog entry on <a title="Write Chrome Extensions" href="http://www.mattcutts.com/blog/write-chrome-extension/" target="_blank">Adding Extensions to Chrome</a>. Then the helpful, albeit sparse <a title="Google Chrome Extensions HowTo" href="http://dev.chromium.org/developers/design-documents/extensions/howto" target="_blank">official Chrome help page here</a> got me through the rest of the way, with some additional <a title="Add and Remove Javascript Elements" href="http://www.dustindiaz.com/add-remove-elements-reprise/" target="_blank">javascript help here</a>.</p>
<p><strong>Step 1:</strong> Learn how to <a href="http://dev.chromium.org/getting-involved/dev-channel" target="_blank">switch your installation of Chrome over to the Developer Channel</a> <strong></strong></p>
<p><strong>Step 2:</strong> Read through the <a href="http://dev.chromium.org/developers/design-documents/extensions/howto" target="_blank">official HowTo here.</a> <strong></strong></p>
<p><strong>Step 3: </strong>For the <em>manifest.json </em>file in your Extension&#8217;s folder, I just have this:  <span id="more-168"></span></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span>
  <span style="color: #3366CC;">&quot;format_version&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;00123456789ABCDEF0123456789ABCDEF0123456&quot;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;version&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;1.0&quot;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Baconizer&quot;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;description&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Rich, crispy bacon at your fingertips!&quot;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;content_scripts&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #3366CC;">&quot;matches&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;http://www.google.com/*&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;baconize.js&quot;</span><span style="color: #009900;">&#93;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>And then for the Javascript file, I have a file in the extensions folder named <em>baconize.js</em> with the following code:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">      <span style="color: #003366; font-weight: bold;">var</span> Dom <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
        get<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span> el <span style="color: #339933;">===</span> <span style="color: #3366CC;">'string'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">return</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">return</span> el<span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        add<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #003366; font-weight: bold;">var</span> el <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          document.<span style="color: #660066;">body</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        remove<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #003366; font-weight: bold;">var</span> el <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          el.<span style="color: #660066;">parentNode</span>.<span style="color: #660066;">removeChild</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
      <span style="color: #003366; font-weight: bold;">var</span> Event <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
        add<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>el<span style="color: #339933;">,</span> type<span style="color: #339933;">,</span> fn<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              Dom.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#40;</span>type<span style="color: #339933;">,</span> fn<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">attachEvent</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>el<span style="color: #339933;">,</span> type<span style="color: #339933;">,</span> fn<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              <span style="color: #003366; font-weight: bold;">var</span> f <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                fn.<span style="color: #660066;">call</span><span style="color: #009900;">&#40;</span>Dom.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> window.<span style="color: #660066;">event</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
              Dom.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attachEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'on'</span> <span style="color: #339933;">+</span> type<span style="color: #339933;">,</span> f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
      Event.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>window<span style="color: #339933;">,</span> <span style="color: #3366CC;">'load'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> btn <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		btn.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'BACONIZE!'</span><span style="color: #339933;">;</span>
		btn.<span style="color: #660066;">style</span>.<span style="color: #660066;">backgroundColor</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;#EE8080&quot;</span><span style="color: #339933;">;</span>
		btn.<span style="color: #660066;">style</span>.<span style="color: #660066;">top</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;0px&quot;</span><span style="color: #339933;">;</span>
		btn.<span style="color: #660066;">style</span>.<span style="color: #660066;">right</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;0px&quot;</span><span style="color: #339933;">;</span>
		btn.<span style="color: #660066;">style</span>.<span style="color: #660066;">position</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;absolute&quot;</span><span style="color: #339933;">;</span>
		btn.<span style="color: #660066;">style</span>.<span style="color: #660066;">zIndex</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;2&quot;</span>
		Dom.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>btn<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        Event.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>btn<span style="color: #339933;">,</span> <span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #003366; font-weight: bold;">var</span> el <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'img'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          el.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'http://bacolicious.s3.amazonaws.com/bacon.png'</span><span style="color: #339933;">;</span>
		  el.<span style="color: #660066;">style</span>.<span style="color: #660066;">position</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;absolute&quot;</span><span style="color: #339933;">;</span>
		  el.<span style="color: #660066;">style</span>.<span style="color: #660066;">top</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;20%&quot;</span><span style="color: #339933;">;</span>
		  el.<span style="color: #660066;">style</span>.<span style="color: #660066;">right</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;20%&quot;</span><span style="color: #339933;">;</span>
		  el.<span style="color: #660066;">style</span>.<span style="color: #660066;">zindex</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #339933;">;</span>
          Dom.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          Event.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>el<span style="color: #339933;">,</span> <span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            Dom.<span style="color: #660066;">remove</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Step 4:</strong> Once you have the two files, simply Right-Click on your Chrome shortcut, and add this text to the end of the <strong>Target</strong> field: <em> &#8211;enable-extensions &#8211;load-extension=&#8221;c:\myextension&#8221;</em> (where myextension is the path to the extensions folder)  <strong></strong></p>
<p><strong>Badabing. Google BACON STYLE!!!!!</strong></p>
<p>Credit for the saliva-inducing Bacon image goes to <a href="http://bacolicio.us">http://bacolicio.us</a>, go there now to baconify any website!</p>
]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/google-chrome-plugin-extension-support-the-baconizer/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Auto-Seek to a point in Youtube Video based on Highlighted Transcript</title>
		<link>http://scriptedlife.com/autoseek-embedded-youtube-video-with-highlighted-text</link>
		<comments>http://scriptedlife.com/autoseek-embedded-youtube-video-with-highlighted-text#comments</comments>
		<pubDate>Wed, 11 Mar 2009 08:41:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=158</guid>
		<description><![CDATA[[inline] var text = ""; var processing = 1; function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("myytplayer"); processing = 0; } function tryactive(e) { if(processing == 0) { getActiveText(e); } } function getActiveText(e) { processing = 1; // Sets text MSIE or Netscape active // text based on browser, puts text in form var selObj; if (window.getSelection) [...]]]></description>
			<content:encoded><![CDATA[[inline]
<script type="text/javascript" src="http://scriptedlife.com/data/youtube.js"></script>
<script src="http://swfobject.googlecode.com/svn/tags/rc3/swfobject/src/swfobject.js" type="text/javascript"></script>
<script LANGUAGE="JavaScript">
var text = "";
var processing = 1;

function onYouTubePlayerReady(playerId) {
      ytplayer = document.getElementById("myytplayer");
	  processing = 0;
    }

function tryactive(e) {
	if(processing == 0) {
		getActiveText(e);
	}
}
function getActiveText(e) {
	processing = 1;
	// Sets text MSIE or Netscape active 
	// text based on browser, puts text in form
	var selObj;
	if (window.getSelection)
    {
        selObj = window.getSelection();
             }
    else if (document.getSelection)
    {
        selObj = document.getSelection();
            }
    else if (document.selection)
    {
        selObj = document.selection.createRange().text;
    }
	text = selObj.toString();
	if(text.length>10) {
		if(text.indexOf('\n')>0) {
			text = text.substring(0,(text.indexOf('\n')-1));
		}
		if(text.length>20) {
			text = text.substring(0,20);
		}
		var posbeg = searchtext.indexOf(text);
		if(posbeg>0) {
		var findC = 0;
		var found = 0;
		while(posbeg>pos[findC]) {
			findC++;
		}
		findC--;
		//This is where we "Guess" at where the video should seek to between the two nearest subtitle points
		var time = links[findC] + Math.round(((posbeg-pos[findC])/(pos[findC+1]-pos[findC]))*(links[findC+1]-links[findC]));
		ytplayer.seekTo(time, true);
		ytplayer.playVideo();
		}
	}
	processing = 0;
	return true;
}
document.onmouseup = tryactive;
if (!document.all) document.captureEvents(Event.MOUSEUP);
//  End -->
</script>
    <script type="text/javascript">
      // <![CDATA[

      // allowScriptAccess must be set to allow the Javascript from one 
      // domain to access the swf on the youtube domain
      var params = { allowScriptAccess: "always", bgcolor: "#cccccc" };
      // this sets the id of the object or embed tag to 'myytplayer'.
      // You then use this id to access the swf and make calls to the player's API
      var atts = { id: "myytplayer" };
      swfobject.embedSWF("http://www.youtube.com/v/Cm9onOGTgeM&amp;border=0&amp;enablejsapi=1&amp;playerapiid=ytplayer",
                         "ytapiplayer", "425", "344", "8", null, null, params, atts);
      //]]&gt;
    </script>
[/inline]
<p>The following Example and video demonstrates a cool functionality that is possible when you combine Youtube's embeddable transcripts, and "Auto-Seek" capabilities.  This is best described in the source article: <a href="http://www.mattcutts.com/blog/clickable-youtube-transcript">Clickable Transcript of my Canonical Links Element Talk</a> by Matt Cutts.  The example below uses this <a href="http://javascript.internet.com/page-details/highlighted-text.html">javascript function here</a>, and the <a href="http://code.google.com/apis/youtube/js_api_reference.html">Youtube Javascript API here</a>, along with some frankensteined-together arrays of data made from Matt Cutt's data, to automatically seek to the point in the Youtube video that corresponds to the text you have highlighted.</p>

<p><strong><span style="color: red;">Try highlighting some of the text <u>below the video</u>, it might take a second for the Youtube Video to load the first couple highlights you make, but it should speed up eventually.</span></strong></p>
<p><em>note: you must highlight at least 10 characters of text to queue the video, if you are very careful, you might be able to confuse the page by highlighting text that occurs more than once in the transcript.</em></p>
<div id="ytapiplayer">You need Flash player 8+ and JavaScript enabled to view this video.</div>

<p>Hi everybody. Welcome back to another video. We’re doing this thing where when we speak at a conference and we talk about something substantial, not just questions and answers, we talk through our presentation later and put it up so people can follow along, watch the slides, and hopefully learn a little bit. So today I wanted to talk about the canonical link element. And that’s something that Google, Yahoo!, and Microsoft all announced that they will support in the future at SMX West. So, the date that we had this announcement was February 12, 2009, and the funny thing about it is that Charles Darwin was born exactly 200 years ago that day.</p>
<span id="more-158"></span>
<p>So I started out with a slide where I made a corny joke and I said, whether you think the web was intelligently designed by Tim Berners-Lee, or whether you think the web needs to evolve, either way this is an open standard which helps people improve the web. And so we sort of said, what is a big problem that faces people today, webmasters, SEOs, site owners on the web? And it’s pretty clear that duplicate content is one of the things that people care about the most. So what is duplicate content? Well, I’ve got a slide here where I show I think eight different URLs, you know every single one of these URLs could return completely different content. In practice, we as humans whenever we look at www.example.com or just regular example.com or /index or home.asp, we think of it as the same page. And in practice, it usually is the same page. So technically it doesn’t have to be, but almost always web servers will return the same content for like these eight different versions of the URL. So, that can cause a lot of problems in search engines if rather than having your backlinks all go to one page, instead it’s split between a www and a non-www version. And it’s a really big headache. How do people solve this?</p>

<p>How do people fix this? Well, it turns out, and I’ll dwell on this slide for just a few minutes, there are a lot of ways to fix it. So, some people have joked that this canonical link element is kind of like, you know, Spackle that fixes over the appearance of all the cracks in the wall. And the fact is there are a lot of ways that you can fix things first and foremost, from the beginning, upstream where you don’t need to fix it downstream later on. There was a really funny quote by Jill Whalen at the conference where she said, “Developers keep SEOs in business.” Right? And so whether you’re a developer or an SEO there are some best practices that can make things a little bit easier for your system so that you don’t have to worry about this issue of duplicate content at all. So, one is to try to make sure that your URLs are standardized, Microsoft sometimes calls them normalized, in essence there’s only one way to get to the content. If your content management system always generates consistent URLs, and they’re completely uniform, and you don’t have to worry about having eight different versions in the first place, that just saves you a lot of trouble. You don’t have to worry about the issue coming up at all. So one way to do that is to fix your content management system or your software so that you only generate these URLs in a very consistent way. Another thing to do is to think about your site. Suppose you have www.example.com and non-www, just plain old example.com. Well if you link to www sometimes and non-www sometimes, it’s natural that search engines might get a little bit confused. So linking consistently, saying okay, my homepage is going to be www.example.com/. Nothing else, that’s it. And then making sure that all of your internal linking is consistent, that alone can make a really big difference, so that you don’t end up with two, three, four copies of each page.</p>

<p>If you do have, you know, home.asp or index.html, you can rewrite such that all those other URLs are 301 redirects to a single URL. So, it’s great if you can fix it at the beginning, it’s great if you can link consistently so the issue never comes up, but if duplicate URLs do occur, then you can use a 301, a permanent redirect as we refer to it, to sort of standardize and glom together all of those URLs. And search engines will follow that 301 redirect, and typically group them all together. Google also does a couple of extra things that some search engines don’t do. So, in our Webmaster Tools, our webmaster console, which is totally free, doesn’t cost anything at all, you can specify, for example my site is mattcutts.com, you can specify if you prefer www.mattcutts.com or non-www, so just mattcutts.com. That’s a very easy setting, and that solves a lot of duplicate content issues right there. And a little-known fact, not everybody realizes this, is that whenever you submit your URLs in what we call a Sitemap, which is another standard that’s supported by many major search engines, and it’s a very simple file, it can be as simple as a list of URLs, we take that list of URLs that you submit, and we say to ourselves, oh, if we see a URL in that list, and then we see another version of it that’s not in the list, we will prefer URLs in the list that you gave us. So we sort of use it to break ties whenever you submit URLs from a Sitemap. So there’s at least a couple ways that you can give Google hints that try to help out with duplicate content.</p>

<p>But, that said, there will probably always be duplicate content issues that you can’t fix. So, just to run through a few example ones. Sometimes, you can’t generate a permanent or 301 redirect. For example, at my old school account, cs.unc.edu, I don’t run the web server there. So I’d have to open a ticket or drop an email to the people that administer that system and say hey, can you add a 301 redirect from this page to that page. A lot of free hosts, you might not be able to generate a 301 redirect. And you can’t help how people link to you. So for example, you know, even if you link consistently to just the www version of your website, some other people might link to the non-www version. And you can’t really control that at all. Uppercase versus lowercase paths. Microsoft IIS will support showing pages whether you link to home.asp capitalized or lowercase, and sometimes even mixed case. And so if people link to different versions that are uppercase and lowercase mixed, that can cause some issues. Session IDs are another really big factor. So I have seen, at least in some search search engines, a site with a one-page privacy policy. And that privacy policy was indexed three thousand times, each time with a different session ID, because the privacy policy was slightly different each time.</p>

<p>So, you know, session IDs in general if you can avoid them are great. But sometimes you as the search engine optimizer or the person who is responsible for the site can’t get rid of them entirely. Tracking codes, you know, if you’re buying ads. Analytics, you know the UTM parameter, landing pages where they have to be different landing pages for different ads, those are the sort of things that you sometimes can’t get rid of. And if you run an e-commerce site, suppose you have different products. You might have sort by descending price or sort by ascending price, and sometimes you need to have different facets, different views of your data, and conceptually it’s really the same thing, it’s just a different way to slice and dice it.</p>

<p>Finally, there’s breadcrumbs. So breadcrumbs are how did I get to this page? Am I coming to this red tent example via tents, or am I coming to it via colors, or did I come to it because I was interested in accessories? How did I land on this page? Even Google’s own webmaster help documentation sometimes has a CTX parameter that says here’s how we got to this page. And that day, it was kind of funny, the Queen had just launched a new website: royal.gov.uk. And so I wish the Queen the best, I want her to live long, and I wish the British monarchy the best, however, someone at the Telegraph, telegraph.co.uk, had done an SEO audit of this site, and they had found duplicate content issues. So you can see right here, just slash, royal.gov.uk/Home.aspx, and then at the very bottom I almost made a ransom note style where I mixed uppercase and lowercase. And the royal website returned the same page for all three of those URLs. So that was just a very simple example to illustrate that anybody can have these sorts of issues.</p>

<p>So what’s the answer? Lets, you know, I’ve buried the lead enough, how do people solve this particular problem? Well, assuming you can’t solve it any other way, and absolutely I encourage you to try to fix it upstream, to try to link consistently. This not something that you should just say, oh, now all my problems are solved, I don’t have to worry about anything else. But, if you can’t solve your problems in other ways, there’s a very simple element, link element, where you can say my canonical, and that’s a long word that means you know, my preferred, or the primary, or the clean, the pretty version of the URL that I want to use, is not this ugly URL with a tracking code or a session ID, it’s this pretty URL right over here. And all you have to do is in the head element of this document say you know what, even though this has a weird session ID, the pretty version, the canonical version of this URL, is over here. And that’s literally all it is. It’s a very simple open standard. It’s one simple element that you add to the head of your document. Some interesting little tidbits. This is the director’s cut so you get a little bit of extra info. Is this a tag?</p>

<p>Well, it’s kind of, the technical name I believe is “element.” But we’re all friends here, nobody’s going to abuse you or you know make fun of you if you call it a canonical link tag versus a canonical link element. People often speak about meta tags, right? And so meta tags are things that go in the head of the document as well. And so, if a meta tag has a value that is a hyperlink, I think the most correct thing is not for it to be meta, but for it to be called “link.” And so that’s why you see link rel=”canonical” href= and the value. So now you know the official name, but nobody’s going to care if you just call it the canonical link tag. One thing that’s kind of interesting about this tag, let’s just talk about a few high-order bits.</p>

<p>We don’t promise we’re going to abide by this 100%. Right? You know, if we see a webmaster and they’ve accidentally shot themselves in the foot, you know maybe they’ve created an infinite loop, and it’s very easy to create an infinite loop, we reserve the right to do what we think is best. At least at Google, we are going to treat this as a very strong hint. So unless we see some weird corner case or something where you’re probably hurting your own site, we probably would expect to respect this tag. So I think that in most cases, it will work quite well. But we do have to reserve the final, sort of bottom-line ability to say no, we don’t think this is what’s best for the users.</p>

<p>Again, if you can fix it yourself upstream, that’s much better. So look at all the other alternatives, the other choices before you use this tag. Don’t just say, oh, I can just slap everything with a canonical link tag and boom, I’m done. If you’re a regular user, just like a mom-and-pop and you use WordPress or you use some shopping cart software, it’s probably best not to just roll up your sleeves and go digging into it and trying to fix it all yourself, at least not quite yet. Wait a little while, because I think plugins will come out, people are talking about hey, is WordPress able to add this to the core software, so maybe you don’t even need a plugin? So if you’re just a regular user and you wait a few months, things should be fine. You know it’s a brand-new element, so there’s time for you to sit down and cautiously deliberate and say okay, what kinds of duplicate content do I have, how can I fix it? Take a little bit of time. Don’t just jump right in and start, oh I’m going to point everywhere, I’m going to do everything. There’s enough time where this will be supported so you can plan ahead a little bit. And as always, if we see people abusing it, we do reserve the right to change how we treat the tag, or to not respect the tag. There is a nice way that we try to prevent abuse. We allow things within the same domain, but we don’t allow things to cross domains. So with 301s, there’s always been this notion of can I hijack a site by doing weird 301s, and can I steal the reputation of some other site? And at least right now, this element is not really subject to that because you can only use it within the same domain. Now a natural question right after that, is well, what about subdomains? Can I, you know, do things across different hostnames?</p>

<p>And the answer is yes, you can. So, I was talking to Tony Hsieh from Zappos, and they were talking about duplicate content. And they have a server called zeta.zappos.com, which is sort of their staging software and might be the next version. And they were saying, well, can I send my canonicalness, can I splat it from zeta.zappos.com to www.zappos.com? And the answer is yes, you absolutely can. Can you use it from https and send that to http? Totally, works great for that. It’s on the same domain, so it’s no problem at all, at least within Google to use it for that purpose. And then what’s the difference between this and a 301 or a permanent redirect? There’s really not that much, other than this is restricted to one domain. So 301s can cross domains; this is all within the same domain.</p>

<p>In fact, whenever I think about it, the mental model that I have is that this is essentially like a little mini 301 redirect that you can generate with this link element. So, you know, if you think about how Google handles 301s, that’s probably a pretty good guess of how we’ll handle this particular element. So, a few more questions, since you’ve got the time, you’re watching the video. Do the page have to be identical? Bit for bit identical? No, they do not. Think again about this case where you have a catalog page and you can sort by increasing price or decreasing price, those are conceptually pretty close to the same page. So if you want to say map this to the same URL, and don’t worry about the sort by parameter, you’re more than welcome to do that. They should be similar. You know, if we see, this is the only thing I can think of where there could be abuse, is if you’ve got a cartoon page over here, and you’ve got something that’s completely irrelevent to cartoons over here and you try to combine them together. And you’re not really gaining any advantage because you had PageRank on this page and on that page. So it really doesn’t make sense to combine them, but we do recommend that you use them for similar pages. They don’t have to be identical, but they should be similar.</p>

<p>A few sort of niggly bits. How about relative URLs versus absolute URLs? The answer to that is you can use either one. We recommend absolute URLs. And there’s a very simple reason. When you have relative URLs, you can move a URL and everything stays the same relative to that URL. So essentially, you know the homepage can say /images or images. And that will move it relative to that particular page. But it’s better to have an absolute URL because this is a powerful tool, and you really want to say this URL goes to exactly this URL. So you want to specify that. Whereas if it’s relative, if you mess it up here, then you might mess it up somewhere else as well. Can you follow a chain of canonical tags, or canonical elements, just like you can follow a chain of 301 redirects? Yes, but again I don’t recommmend that, because if you have a big site and you have a big chain of 301 redirects, it’s easy for something to break. So, it’s similar, something can break and you don’t intend to have the consequences that you wanted to, so what I would recommend is absolute URLs, and going from the old URL to the new URL, one hop and that’s all you do. It’s just simpler that way, and you know you want to play it safe. You don’t want to accidentally shoot yourself in the foot. So what are some ways you can shoot yourself in the foot? Well, what if you say my canonical is over here, and that’s a 404 page? Right, the page might not exist. What if you had an infinite loop? This is canonical. No, this is canonical. And we’ve all seen those happen, you know, what is the Civil War? Look up the War Between the States. What is the War Between the States? Look up the Civil War. You know, and now you have to put the dictionary down and your head hurts. So try to avoid infinite loops.</p>

<p>What if I point to a URL that hasn’t been crawled? You know, we’ll try to crawl that URL, but that corner case, what if I told in the webmaster console, oh yeah, everything should be www.example.com, but then you specify your canonicals as non-www, or without the www. So you can do all these sorts of things to almost shoot yourself in the foot, and the answer is we will try to handle all of these corner cases in a reasonable way. The slide has some Ghostbusters because there’s the old saying, “Don’t cross the streams,” right? So think about this, take some time, don’t just throw canonical tags on willy-nilly on your site, you know, try to plan it out a little bit so that you don’t run into these corner cases. So we’re getting towards the end of the presentation. I just really wanted to send a shout out to Joachim, who is the Google engineer who really did all the implementation, all the heavy lifting on this. Made sure that it worked very nicely within a 301, and thought about all the corner cases. So, for example, someone said, well what if I have a canonical, and I point to myself? Does that work? Yep, that works fine. What if I have a canonical and my href is empty? Well, it turns out that parses as an error, which turns out to point to itself. So all this stuff still works because Joachim did a really good design, but again, try to make sure that it’s all absolute URLs and everything’s specified well. Also, I’d love to send a shout out to Greg Grothaus. It turns out when you dig into this, a lot of people have proposed similar ideas. I saw at least one post out on the general web after we’d started exploring this that said, hey, why don’t you do this kind of a proposal? But Greg was really one of the people who sparked the discussion at Google, who really pushed for it and had a great idea, and so I sort of think of him as at least within Google, he really got the ball rolling and really sparked the wave of work on this, so I really appreciate that. And of course all the people, you know, from Maile and Wysz and Adam and Riona who have worked on the messaging and reached out to different people. At Yahoo!, Priyank, and a ton of people at Microsoft, Nathan Buggia and a bunch of other people as well. My hope is that lots of search engines will support this. So, Yahoo! and Microsoft have announced that they will support it, let’s keep our fingers crossed for Ask, I’d love for them to join in as well. Wikia, so Artur at Wikia had emailed us and sort of asked about doing canonical tags anyway. And so it was really great that they could test it out while we were trying it out ourselves. And then a ton of webmasters who always give us this sort of feedback on what they’d like to see.</p>

<p>On this last slide, I just list a bunch of resources, so Google, Yahoo!, and Microsoft all did blog posts about it. There’s an official Help Center documentation page. And, what we saw was, as people would come and have duplicate content questions, Joost had come and sort of asked about an interesting corner case, we just said, hey, you know what? We’ve got this thing coming out that might help with this. And so it was a very nice way to just do a sort of very quiet beta test and see how well it worked. So, Joost happened to email just a few days before we were ready to announce support, and so we gave him a heads-up about the possibility of this, and he turned around plugins not just for WordPress, but also for Magento, which is an e-commerce shopping software, and Drupal, which is another open-source content management system, which I think the White House just rolled out using Drupal. So really appreciate the work that he’s done as well. And in general, you know, be careful, be cautious, plan out how you want to use this tag. But we don’t intend to make any money off of it, we think it’s just good for the web, I’ll lead to less duplicate content. It’s an open standard, so any search engine that crawls the web can use this information to help, you know, make the web more relevant and increase the relevancy of their search results. And now you know as much as the audience knows when they attended SMX West. Thanks very much for listening, and talk to you soon.</p>]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/autoseek-embedded-youtube-video-with-highlighted-text/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blip.fm Project: Top 30 Blip.fm Users by Number of Props</title>
		<link>http://scriptedlife.com/top-30-blipfm-users</link>
		<comments>http://scriptedlife.com/top-30-blipfm-users#comments</comments>
		<pubDate>Mon, 02 Mar 2009 13:51:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=148</guid>
		<description><![CDATA[I started to gather up a bunch of data from the "Twitter for music" service Blip.fm. All the music in the micro column of this website comes from my blip.fm account here. Blip is a music service that allows you to create a live playlist of songs that are shared and saved. You can find [...]]]></description>
			<content:encoded><![CDATA[I started to gather up a bunch of data from the "Twitter for music" service <strong><a href="http://blip.fm">Blip.fm</a></strong>.  All the music in the micro column of this website comes from <a href="http://blip.fm/qomop">my blip.fm account here.</a> Blip is a music service that allows you to create a live playlist of songs that are shared and saved. You can find other members with similar tastes and follow their music as well.

<div class="wp-caption aligncenter" style="width: 250px"><a href="http://blip.fm/"><img title="Blip.fm Screenshot" src="http://farm4.static.flickr.com/3112/2808415240_c0760e9bbb_m.jpg" alt="Blip.fm" width="240" height="200" /></a><p class="wp-caption-text">Blip.fm</p></div>

[from <a href="http://www.flickr.com/photos/joegarde/2808415240/">Flickr</a>]
<table id="table_results" class="data" border="0">
<thead>
<tr>
<th>username</th>
<th>props</th>
<th>blips</th>
<th>listeners</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><a href="http://blip.fm/GR8FL">GR8FL</a></td>
<td class="nowrap" align="right">11915</td>
<td class="nowrap" align="right">8013</td>
<td class="nowrap" align="right">5337</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/adbert">adbert</a></td>
<td class="nowrap" align="right">11784</td>
<td class="nowrap" align="right">10366</td>
<td class="nowrap" align="right">7743</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/abarbosa">abarbosa</a></td>
<td class="nowrap" align="right">9425</td>
<td class="nowrap" align="right">3312</td>
<td class="nowrap" align="right">3841</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/ladypn">ladypn</a></td>
<td class="nowrap" align="right">9246</td>
<td class="nowrap" align="right">8623</td>
<td class="nowrap" align="right">4381</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/by_starla">by_starla</a></td>
<td class="nowrap" align="right">9245</td>
<td class="nowrap" align="right">9863</td>
<td class="nowrap" align="right">6984</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/Diordan">Diordan</a></td>
<td class="nowrap" align="right">8430</td>
<td class="nowrap" align="right">6704</td>
<td class="nowrap" align="right">6391</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/threebears">threebears</a></td>
<td class="nowrap" align="right">8302</td>
<td class="nowrap" align="right">7860</td>
<td class="nowrap" align="right">9236</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/melodyofyourlife">melodyofyourlife</a></td>
<td class="nowrap" align="right">7945</td>
<td class="nowrap" align="right">6648</td>
<td class="nowrap" align="right">9532</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/santamistura">santamistura</a></td>
<td class="nowrap" align="right">7239</td>
<td class="nowrap" align="right">5437</td>
<td class="nowrap" align="right">4747</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/patita">patita</a></td>
<td class="nowrap" align="right">7129</td>
<td class="nowrap" align="right">4799</td>
<td class="nowrap" align="right">3613</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/mammara">mammara</a></td>
<td class="nowrap" align="right">6882</td>
<td class="nowrap" align="right">10029</td>
<td class="nowrap" align="right">9194</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/gigia">gigia</a></td>
<td class="nowrap" align="right">6847</td>
<td class="nowrap" align="right">6749</td>
<td class="nowrap" align="right">7061</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/briangreene">briangreene</a></td>
<td class="nowrap" align="right">6708</td>
<td class="nowrap" align="right">7700</td>
<td class="nowrap" align="right">11442</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/formalhaut">formalhaut</a></td>
<td class="nowrap" align="right">6623</td>
<td class="nowrap" align="right">8120</td>
<td class="nowrap" align="right">9194</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/evablue">evablue</a></td>
<td class="nowrap" align="right">6400</td>
<td class="nowrap" align="right">6997</td>
<td class="nowrap" align="right">8276</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/luiz_com_z">luiz_com_z</a></td>
<td class="nowrap" align="right">6327</td>
<td class="nowrap" align="right">6804</td>
<td class="nowrap" align="right">3808</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/tubilino">tubilino</a></td>
<td class="nowrap" align="right">5893</td>
<td class="nowrap" align="right">4685</td>
<td class="nowrap" align="right">2616</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/daretoeatapeach">daretoeatapeach</a></td>
<td class="nowrap" align="right">5829</td>
<td class="nowrap" align="right">5487</td>
<td class="nowrap" align="right">8691</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/davidwatts1978">davidwatts1978</a></td>
<td class="nowrap" align="right">5612</td>
<td class="nowrap" align="right">5940</td>
<td class="nowrap" align="right">8663</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/antenaweb">antenaweb</a></td>
<td class="nowrap" align="right">5206</td>
<td class="nowrap" align="right">5217</td>
<td class="nowrap" align="right">5446</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/sheryonstone">sheryonstone</a></td>
<td class="nowrap" align="right">5131</td>
<td class="nowrap" align="right">3923</td>
<td class="nowrap" align="right">2621</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/bendrix">bendrix</a></td>
<td class="nowrap" align="right">4969</td>
<td class="nowrap" align="right">2737</td>
<td class="nowrap" align="right">2920</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/Aluciel">Aluciel</a></td>
<td class="nowrap" align="right">4937</td>
<td class="nowrap" align="right">5670</td>
<td class="nowrap" align="right">3940</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/Aluciel">Aluciel</a></td>
<td class="nowrap" align="right">4937</td>
<td class="nowrap" align="right">5670</td>
<td class="nowrap" align="right">3940</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/calamari">calamari</a></td>
<td class="nowrap" align="right">4923</td>
<td class="nowrap" align="right">2837</td>
<td class="nowrap" align="right">9561</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/DownLow">DownLow</a></td>
<td class="nowrap" align="right">4902</td>
<td class="nowrap" align="right">3248</td>
<td class="nowrap" align="right">5332</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/SevenTenths">SevenTenths</a></td>
<td class="nowrap" align="right">4721</td>
<td class="nowrap" align="right">4327</td>
<td class="nowrap" align="right">2404</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/Figgywithit">Figgywithit</a></td>
<td class="nowrap" align="right">4715</td>
<td class="nowrap" align="right">4276</td>
<td class="nowrap" align="right">3686</td>
</tr>
<tr class="odd">
<td><a href="http://blip.fm/driczz">driczz</a></td>
<td class="nowrap" align="right">4580</td>
<td class="nowrap" align="right">3949</td>
<td class="nowrap" align="right">5755</td>
</tr>
<tr class="even">
<td><a href="http://blip.fm/clarkowitz">clarkowitz</a></td>
<td class="nowrap" align="right">4440</td>
<td class="nowrap" align="right">4825</td>
<td class="nowrap" align="right">10940</td>
</tr>
</tbody></table>]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/top-30-blipfm-users/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Digg Users: The Daily Telegraph is NOT a Legit News Source</title>
		<link>http://scriptedlife.com/digg-daily-telegraph-not-legit-news-source</link>
		<comments>http://scriptedlife.com/digg-daily-telegraph-not-legit-news-source#comments</comments>
		<pubDate>Mon, 02 Mar 2009 10:54:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[digg]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=140</guid>
		<description><![CDATA[Disclaimer: For anyone who doesn't regularly visit digg.com, this post will be meaningless, instead of reading it, go read digg.com, it's great. Digg users have a love affair with two particular "Newspapers", the Daily Telegraph, and the Daily Mail. This really bothers me. Here is some of the stellar "journalism" these "Newspapers" have featured recently: [...]]]></description>
			<content:encoded><![CDATA[<em><strong>Disclaimer:</strong> For anyone who doesn't regularly visit digg.com, this post will be meaningless, instead of reading it, go read <a href="http://digg.com">digg.com</a>, it's great.</em>

Digg users have a love affair with two particular "Newspapers", the Daily Telegraph, and the Daily Mail. This <em>really</em> bothers me.  Here is some of the stellar "journalism" these "Newspapers" have featured recently:
<ul>
	<li>"<span class="offsite ct-offbeat">Man pulls out 13 of his own teeth with pliers</span><span class="offsite ct-offbeat"> " - Daily Mail</span></li>
	<li><span class="dggMenuItem">"</span><span class="offsite ct-lifestyle">How we became powerless to stop the huge growth in lap-dance</span><span class="dggMenuItem">" - Daily Mail</span></li>
	<li><span class="dggMenuItem">"</span><span class="offsite ct-offbeat">Woman fails driving test 771 times</span><span class="dggMenuItem">" - Daily Telegraph</span></li>
	<li><span class="dggMenuItem">"</span><span class="offsite ct-lifestyle">3,000 Year Old Egyptian Vase Left in Garden For 20 Years</span><span class="dggMenuItem">" - Daily Telegraph</span></li>
</ul>
<span class="dggMenuItem">This crap is the journalistic equivalent of obnoxious banner ads, because they are created <strong>purely</strong> for the purpose of soliciting clicks, and inflating these tabloid's advertising revenue.  Hmm, content created to attract dumb people and sell more ads, that reminds me of another publishing model, <strong>TABLOIDS</strong>. </span>

<span class="dggMenuItem">Digg users otherwise seem to pride themselves on being an enlightened, albeit homogenous demographic.  How can we be supporting this tabloid crap?!</span>

<span class="dggMenuItem">I think, because the Telegraph and Daily Mail were designed to look like legit newspapers online, American Digg users don't understand that they are actually just crap tabloids. <strong>For definitive proof that these are tabloids, see below.</strong></span>

<span class="dggMenuItem"><strong><a href="http://qomop.com/wp-content/uploads/2009/02/daily_mail_is_a_tabloid.jpg"><img class="aligncenter size-full wp-image-5" title="Daily Mail NYTimes Comparison" src="http://qomop.com/wp-content/uploads/2009/02/daily_mail_is_a_tabloid.jpg" alt="Daily Mail NYTimes Comparison" width="400" height="900" /></a></strong></span>

<span class="dggMenuItem">In the next post I'll show you how you can rid your Digg.com of this scourge!
</span>]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/digg-daily-telegraph-not-legit-news-source/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Hang in there Jack&#8221; not quite hangin at all.</title>
		<link>http://scriptedlife.com/hang-in-there-jack</link>
		<comments>http://scriptedlife.com/hang-in-there-jack#comments</comments>
		<pubDate>Mon, 02 Feb 2009 02:30:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=136</guid>
		<description><![CDATA[UPDATE: Its back up! Now Jack is even on twitter, looks like BK isnt the only fast food thats down with technology. Normally I am a huuuge fan of all things Jack in the Box, their delicious spicy Jalapenos, AKA "spicy-jals", are the stuff dreams are made of.  BUT, if they dont get their stuff [...]]]></description>
			<content:encoded><![CDATA[<strong>UPDATE:</strong> <a href="http://www.hangintherejack.com">Its back up!</a> Now Jack is even on twitter, looks like BK isnt the only fast food thats down with technology.

Normally I am a huuuge fan of all things Jack in the Box, their delicious spicy Jalapenos, AKA "spicy-jals", are the stuff dreams are made of.  BUT, if they dont get their stuff together soon, their Superbowl ad may be all for nothing.

<div class="wp-caption aligncenter" style="width: 190px"><img title="Hang in there Jack" src="http://whatthecrap.files.wordpress.com/2007/05/180px-jack-in-the-box-ceo.gif" alt="Hang in there Jack!" width="180" height="253" /><p class="wp-caption-text">Hang in there Jack!</p></div>

They just aired one of those direct-response type "mystery-ad-story" campaigns titled  Hang in there Jack, where Jack gets smacked by a bus mid-commercial.  The problem is, they direct people to a website that doesnt work!!

The commercial directs people to <a href="http://www.hangintherejack.com">www.hangintherejack.com</a>, which isn't loading!!!!

Lets hope they change that soon, before our five minute attention spans are directed elsewhere!]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/hang-in-there-jack/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Visionary User Experience &#8211; First Despised, then Accepted</title>
		<link>http://scriptedlife.com/visionary-user-experience</link>
		<comments>http://scriptedlife.com/visionary-user-experience#comments</comments>
		<pubDate>Thu, 11 Dec 2008 09:12:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scriptedlife.com/?p=122</guid>
		<description><![CDATA[The web is changing the way we live and interact, blah blah blah. The future is now, and holy *&#38;$# it is awesome. The web really is changing and innovating at a breakneck pace, and often times it evolves faster than the cautious consumer is willing to change their habits. Below are a few examples [...]]]></description>
			<content:encoded><![CDATA[The web is changing the way we live and interact, blah blah blah. The future is now, and holy *&amp;$# it is awesome.

<div id="attachment_133" class="wp-caption aligncenter" style="width: 406px"><img class="size-full wp-image-133" title="pimp_an_some_floozies" src="http://scriptedlife.com/wp-content/uploads/2008/12/pimp_an_some_floozies.jpg" alt="FUTURE FTW!" width="396" height="260" /><p class="wp-caption-text">FUTURE FTW!</p></div>

The web really is changing and innovating at a breakneck pace, and often times it evolves faster than the cautious consumer is willing to change their habits.  Below are a few examples of big changes to popular Web Services that were first hated, then accepted as the norm, and even loved!

<strong>1. Facebook Newsfeed</strong>
When Facebook first previewed its new layout, including a revolutionary new "News Feed" that would alert you to changes and updates made by each of your friends, all in one place, it was HATED.

<img class="aligncenter size-full wp-image-123" title="newsfeed" src="http://scriptedlife.com/wp-content/uploads/2008/12/newsfeed.gif" alt="" width="400" height="246" />

Hundreds of thousands of facebook "traditionalists" showed their disdain by creating and joining "WTF I HATE THE NEW FACEBOOK", and "GET RID OF TEH STALKER-FEED" groups in Facebook.  But Facebook persisted, and now <em>everything</em> on Facebook revolves around this feature, and Facebook certainly hasn't lost any of its appeal.

<img class="aligncenter size-full wp-image-125" title="facebook_traffic" src="http://scriptedlife.com/wp-content/uploads/2008/12/facebook_traffic.jpg" alt="" width="442" height="167" />

Today, the feature has sparked a new industry, and has become so ingrained in youth culture that people have used it as a <em>form of storytelling.</em> "Social Media Aggregators" such as <a href="http://www.friendfeed.com">Friendfeed</a>, have made a business out of creating "News Feeds" for users activities across multiple sites.

<img class="aligncenter size-full wp-image-124" title="friendfeed" src="http://scriptedlife.com/wp-content/uploads/2008/12/friendfeed.jpg" alt="" width="450" height="328" />

People have even recreated the <a href="http://2.media.collegehumor.com/collegehumor/ch6/c/0/collegehumor.c18ef8cc9ccc9a6e4435b8f01b002c6d.jpg">Genesis Story</a> as a Facebook News Feed.

<strong>2. Gmail Targeted Advertising</strong>

Just the idea of an email client from the same wunder-company that indexed the web was enough to get most geeks excited.  But, when word got out that Google would be "reading our emails" and serving us targeted ads based on what they say, privacy advocates and regular users alike were up in arms.  Most of the anger came out of ignorance, as non-tech savvy people found it hard to understand that computer programs would be scanning the emails, and humans would never see it.  But nevertheless, it generated a great deal of press and debate, and certainly kept concerned users away.

<img class="aligncenter size-full wp-image-126" title="gmail_spying" src="http://scriptedlife.com/wp-content/uploads/2008/12/gmail_spying.jpg" alt="" width="386" height="199" />

But after the market had time to get comfortable with this new HAL-9000 advertising system, its unobtrusive display, frequent usefullness, and rare humor made it a welcome alternative to other email systems giant blinking banner ads.  Gmail places targeted text ads that are often directly useful to a users immediate needs. (example below)

<img class="aligncenter size-full wp-image-127" title="gmail_useful_ad" src="http://scriptedlife.com/wp-content/uploads/2008/12/gmail_useful_ad.gif" alt="" width="450" height="122" />

Also, when you purchase an item online, and the retailer might include a UPS tracking number. Voila! A link to the UPS page tracking your package shows up in the sidebar!

On the humor side, <a href="http://www.mcsweeneys.net/links/lists/6WilliamCallahan.html">this author has a funny list of Ads</a> that Gmail served over a year in his life.

<strong>3. Google Search-Wiki</strong>
Google recently made a famously rare change to its search results by adding "all these #$(*@ing buttons" as some disgruntled users have described it.

<img class="aligncenter size-full wp-image-128" title="google_searchwiki" src="http://scriptedlife.com/wp-content/uploads/2008/12/google_searchwiki.gif" alt="" width="450" height="255" />

These #$%*ing buttons allow users to move search results around, comment on results, and even add and remove search results from a page. The changes users make are only shown when they are logged in, and they arent applied to other peoples results, but comments on results are shown publicly.

So far comments are mostly just test comments and spam, or confused Iranians, as the SearchWiki for Yahoo Mail below illustrates:
<img class="aligncenter size-full wp-image-129" title="Funny SearchWiki Posting for Yahoo Mail" src="http://scriptedlife.com/wp-content/uploads/2008/12/google_searchwiki_yahoomail.gif" alt="" width="450" height="218" />

Many people are wondering: What is the point?

Good question my friend, but to that, I answer: Be Patient, let it grow on you, see what happens. This has the potential to yet again change the way we use the web.]]></content:encoded>
			<wfw:commentRss>http://scriptedlife.com/visionary-user-experience/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
