<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Ryan Greenberg</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/" />
    <link rel="self" type="application/atom+xml" href="http://ryangreenberg.com/atom.xml" />
    <id>tag:ryangreenberg.com,2005-08-04://1</id>
    <updated>2012-01-24T21:30:32Z</updated>
    <subtitle>I do stuff and write about it here.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.31-en</generator>




<entry>
    <title>FBI seizes MegaUpload, loses opportunity</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2012/01/megaupload.php" />
    <id>tag:ryangreenberg.com,2012://1.464</id>

    <published>2012-01-24T07:24:17Z</published>
    <updated>2012-01-24T21:30:32Z</updated>

    <summary>The significance of a website seized by law enforcement is heightened in light of the controversial SOPA and PIPA legislation currently being considered in Congress. Given the high stakes--the open exchange of information in a free society, government interference with the Internet--I feel compelled to let the people at the FBI know what I think.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
        <category term="Commentary" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>Last week the FBI <a href="http://boingboing.net/2012/01/20/megaupload-raided-founder-arr.html">seized the file exchange site</a> MegaUpload through a court order. Previously, users could exchange files too large to email through the service. Now visitors to the site see this message:</p>

<div class="photo highlight no-border">
<a href="http://ryangreenberg.com/files/2012/megaupload/megaupload.png" title=""><img src="http://ryangreenberg.com/files/2012/megaupload/megaupload_thumb.png" alt="Screenshot of FBI notice at MegaUpload.com"></a>
</div>

<p>The significance of a website seized by law enforcement is heightened in light of the controversial SOPA and PIPA legislation currently being considered in Congress. Given the high stakes&#8212;the open exchange of information in a free society, government interference with the Internet&#8212;I feel compelled to let the people at the FBI know what I think.</p>

<p>Guys, this is embarrassing. Really amateur hour. Seriously, look at this again:</p>

<div class="photo highlight">
<a href="http://ryangreenberg.com/files/2012/megaupload/banner.jpeg" title=""><img src="http://ryangreenberg.com/files/2012/megaupload/banner_thumb.jpg" alt="Close-up of FBI takedown notice"></a>
</div>

<p>Where have I seen a better looking image? I mean, other than every movie ever made that shows a computer screen?</p>

<p>I don&#8217;t even know where to start. Fine, the seals. Any one of these seals by itself is like starting the drive from your own five-yard line. The three together is handing the ball to the other team and carrying them into the end zone. You&#8217;re not into football metaphors? OK, a seal crammed full of text like &#8220;National Intellectual Rights Coordination Center&#8221; is the design equivalent of dividing by zero. 
All three is taking the limit of bad design as it approaches zero and it evaluates to negative infinity. Math isn&#8217;t your thing? No sweat&#8212;what I said doesn&#8217;t make sense anyway. The point is, the seals are ugly.</p>

<p>But they&#8217;re your logos, you say? I feel badly saying this, but they look like someone just slapped them together at 4PM on Friday after a lunchtime happy hour. Take the right one. It says, &#8220;Protection is our trademark.&#8221; I&#8217;m not a IP genius, but it seems to me like if protection really is your trademark, and you want people to take it seriously, you need to use that symbol. Like &#8220;Protection is our trademark&#8482;&#8221; or maybe &#8220;PROTECTION&#8482;&#8221;. But since you&#8217;re not actually selling anything or engaging in trade, maybe it would be more accurate to say that protection is your <a href="http://en.wikipedia.org/wiki/Service_mark">service mark</a>. You don&#8217;t see that little SM enough.</p>

<p>As if the seals weren&#8217;t texty enough already, someone put &#8220;FBI ANTI-PIRACY WARNING&#8221; on top of the middle one. Is that part of the seal? Operating under the dubious assumption that there&#8217;s any design merit to this logo in the first place, the last thing you want to do is cover up your logo. Can you imagine Nike labeling clothes with its swoosh but then covering half of it up with &#8220;GARMENT CARE INSTRUCTIONS&#8221;?</p>

<p>Who picked the color scheme for the background? Had this person eaten a hot dog recently? That&#8217;s the only way I can figure it out. You can&#8217;t even read the complete word &#8220;seized&#8221; once in this tiled background.</p>

<p>The cited list of alleged crimes at the bottom is a nice touch, but, guys, what are we doing with the typography here? A big block of bold, italic, centered text. I read the first line and I think, &#8220;This is heavy stuff&#8212;they&#8217;re being changed with Conspiracy to Commit&#8221; and then I get confused until I realize that it&#8217;s Conspiracy to Commit … Copyright Infringement (18 U.S.C. &sect; 371). I know how to continue reading on the next line, but you&#8217;re taking some serious liberties with awkward line breaks.</p>

<p>Let&#8217;s check out the source of the page:</p>

<pre><code>&lt;html&gt;
&lt;title&gt;NOTICE&lt;/title&gt;
&lt;body&gt;
&lt;img src="banner.jpg"/&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>

<p>No JavaScript. No AJAX. No CSS. Not even any tables. The image doesn&#8217;t have ALT tags. Maybe you&#8217;re not worried about Google indexing this page, or visually impaired people being able to read it, but I hope you realize you are just flushing the last 8 years of the Internet down the toilet. Interestingly, you went with the trailing slash that closes empty elements in XHTML but the DOCTYPE is…nothing. Whatever&#8212;this stuff is for nerds.</p>

<p>What we need to focus on is what a colossal missed opportunity this is for you. MegaUpload is down and the notice on the site is getting tons of exposure and when you go there it&#8217;s like you&#8217;re stuck watching the beginning of a movie forever, or at least that&#8217;s what it seems like for those people who paid for the movie and have to watch the FBI reminder to pay for the movie.</p>

<p>You must plan these operations, right? I mean, it&#8217;s not like you just randomly seize private property on a whim. This is a failure of project management. You can&#8217;t just bring in a designer at the last minute and expect them to polish your design turd. This is your chance to shine. Go wild. Animation, maybe a Matrix-style flow of numbers in the background. Ominous type. Here are some ideas:</p>

<ul>
<li>The user goes to MegaUpload. The site looks normal. Suddenly, the eagles from your logos swoop in and the cool one with the arrows in its feet starts attacking the site while the other one hangs a banner over it that says &#8220;Seized by the FBI&#8221; and then jail bars drop down over the entire site.</li>
<li>The user goes to MegaUpload. The screen is filled with static like an old television. Then it looks like the screen is flipping through different TV channels. They&#8217;re all static. Finally, you get to a channel with a retro-looking message: &#8220;Seized by the FBI&#8221;. The retro part here probably plays to your design strengths.</li>
<li>The user goes to MegaUpload. The site is covered with sheets of brushed aluminum that look very heavy duty. Etched into the aluminum is the message: &#8220;Seized by the FBI&#8221;.</li>
<li>The user goes to MegaUpload. It says &#8220;HTTP Error 460&#8221; (this doesn&#8217;t exist&#8212;you would be making it up): &#8220;Seized by the FBI&#8221;.</li>
<li>The user goes to MegaUpload. A video of Rick Astley singing <a href="http://www.youtube.com/watch?v=oHg5SJYRHA0">&#8220;Never Going To Give You Up&#8221;</a> starts playing. When the video finishes, it fades out and is replaced by the text &#8220;Seized by the FBI&#8221;.</li>
<li>The user goes to MegaUpload. Suddenly, a S.W.A.T truck drives onto the screen. Fighter jets fly overhead. Missiles, bombs&#8212;BOOM&#8212;the screen explodes. DOM elements lie in a heap at the bottom of the screen. Smokes rises from the ashes and all of a sudden you realize it&#8217;s forming words: &#8220;Seized by the F.B.I.&#8221;</li>
</ul>

<p>There are probably jQuery plugins that do all these effects already and you could use those as framework to build on. So dust off your copy of Photoshop. Use the mosaic filter. Add some lens flares. Watch <em>Sneakers</em> and <em>Hackers</em> and <em>The Net</em> and <em>The Matrix</em> and <em>Tron</em> and <em>WarGames</em>. Stay away from Papyrus. Then go and take down MegaUpload and put up something amazing. This is your moment: seize it.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Seen through the lens</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2011/09/seen-through-the-lens.php" />
    <id>tag:ryangreenberg.com,2011://1.463</id>

    <published>2011-09-14T04:11:20Z</published>
    <updated>2011-09-14T04:11:22Z</updated>

    <summary>I took this photo of a red panda at the San Diego zoo last month. Notice anything funny about it?</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>I took this photo of a red panda at the San Diego zoo last month. Notice anything funny about it?</p>

<div class="photo highlight">
<a href="http://www.flickr.com/photos/ryangreenberg/6116860866/"><img src="http://farm7.static.flickr.com/6192/6116860866_949f513b28.jpg" width="500" height="333" alt="Red Panda at San Diego Zoo"></a>
</div>

<p>Every person looking at the panda, this photographer included, is seeing it through the lens of a camera. Or on a smartphone LCD screen. It makes you wonder why we are so intent on capturing a moment for posterity that we may never have really seen in person.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Best of Chile</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2011/07/best_of_chile.php" />
    <id>tag:ryangreenberg.com,2011://1.462</id>

    <published>2011-07-04T19:07:52Z</published>
    <updated>2011-07-06T03:23:51Z</updated>

    <summary>Whenever I hear about someone visiting Chile I want to dispense all of the peculiar observations and advice that I accumulated in the years that I was there, so I thought I might as well collect those links in one place.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>So you know how some musicians won&#8217;t have any new good songs in awhile and then they&#8217;ll release a greatest hits album just to cash in? Anyway, no reason.</p>

<p>Last week yet another friend told me he&#8217;s traveling to Chile, news that makes me simultaneously jealous but excited that he&#8217;ll get to experience one of my favorite places. Whenever I hear about someone visiting Chile I want to dispense all of the peculiar observations and advice&#8212;much of which is probably now outdated&#8212;that I accumulated in the years that I was there. I&#8217;ve written a bunch of one-off emails with shameless linking to my blog, so I thought I might as well collect those links here.</p>

<h3>Destinations</h3>

<p>Owing to the country&#8217;s slim figure, traveling in Chile is mostly movement along a single axis: north or south. Busses run up and down the country in three classes, normal, semi-cama, and cama, with increasing prices and degrees of seat recline-ability. I wasn&#8217;t living in Chile to travel, but I was fortunate to end up seeing many destinations anyway. Here are a few I wrote about:</p>

<ul>
<li><a href="http://ryangreenberg.com/archives/2007/01/layover_in_castro.php">Chiloé</a>. A magical island at the end of the Pan American highway, well known for its seafood.</li>
<li><a href="http://ryangreenberg.com/archives/2006/06/the_elqui_valley.php">Elqui Valley</a>. A agricultural valley that is the source of most of Chile&#8217;s pisco and the resting place of Chile&#8217;s first Nobel Laureate, Gabriela Mistral.</li>
<li><a href="http://ryangreenberg.com/archives/2006/06/city_with_29_churches.php">La Serena</a>. A charming city in the Norte Chico with more than two dozen churches and a moai from Easter Island.</li>
<li><a href="http://ryangreenberg.com/archives/2007/03/torres_del_paine_series.php">Torres del Paine</a>. A national park deep in Patagonia, at the far southern tip of the country.</li>
<li><a href="http://ryangreenberg.com/archives/2006/07/valpo_chile.php">Valparaiso</a>. The San Francisco of Chile.</li>
</ul>

<p>Many people also rave about San Pedro de Atacama, a small town by the Valle de la Luna in the Norte Grande.</p>

<h3>Culture</h3>

<ul>
<li><a href="http://ryangreenberg.com/archives/2007/09/scenes_from_sept_18.php">The Dieciocho</a>. Chile&#8217;s national holiday is September 18, just as the cold winter is departing. See also <a href="http://ryangreenberg.com/archives/2006/09/the_dieciocho.php">a description from 2006</a>.</li>
<li><a href="http://ryangreenberg.com/archives/2007/12/chiles_greatest.php">Music</a>. A collection of songs from Chile&#8217;s folklore tradition including groups like Inti-Illimani, Los Jaivas, and Illapu. My favorite is <em><a href="http://ryangreenberg.com/archives/2006/11/understanding_lejos_del_amor.php">Lejos Del Amor</a></em>.</li>
<li><a href="http://ryangreenberg.com/archives/2006/07/how_to_make_a_p.php">Pisco sours</a>. Pisco is the national liquor, pisco sours are the national cocktail. Also common is a piscola: pisco + Coca-cola.</li>
<li><a href="http://ryangreenberg.com/archives/2007/07/get_your_own_words.php">English in Chile</a>. The proliferation of English in Chile manifests itself in funny ways.</li>
<li><a href="http://ryangreenberg.com/archives/2006/07/money_money.php">Currency</a>. $100 for an ice cream cone, $200 for the city bus, $1,500 for lunch, and $20,000 for a pair of pants?</li>
<li><a href="http://ryangreenberg.com/archives/2006/09/september_11_in_chile.php">September 11</a>. Many years before September 11 became the day of the 9-11 attacks in the U.S., it marked the <a href="http://ryangreenberg.com/archives/2007/08/marks_of_the_coup.php">military coup</a> in Chile that lead to Pinochet&#8217;s dictatorship.</li>
<li><a href="http://ryangreenberg.com/archives/2006/12/the_death_of_a_general.php">Pinochet&#8217;s death</a>. Chile&#8217;s former military dictator died while I was living there.</li>
</ul>

<h3>Observations and Oddities</h3>

<ul>
<li><a href="http://ryangreenberg.com/archives/2006/12/a_different_lineguage.php">Waiting in line</a>. Not all countries treat lines with the respect they deserve.</li>
<li><a href="http://www.ryangreenberg.com/archives/2006/09/retail_chile.php">The triple caja</a>. The Chilean system for making purchases in three easy steps. It&#8217;s in use at the <a href="http://ryangreenberg.com/archives/2007/05/triple_window.php">Casa Royale</a>.</li>
<li><a href="http://ryangreenberg.com/archives/2007/03/ice_cream_summer.php">Ice cream</a>. The Chilean summer practically force you to subsist on ice cream.</li>
<li><a href="http://ryangreenberg.com/archives/2007/07/qvc_on_the_go.php">Shopping on busses</a>. No need to go shopping in Chile&#8212;just get on a bus.</li>
<li><a href="http://ryangreenberg.com/archives/2007/09/chile_is_for_lovers.php">Chile is for lovers</a>. The bar for acceptable public display of affection is rather lofty.</li>
<li><a href="http://ryangreenberg.com/archives/2006/04/hot_hot_hot.php">Calefóns</a>. Instant water heaters are more common in Chile than the U.S.</li>
<li><a href="http://ryangreenberg.com/archives/2008/03/graffiti_in_chile.php">Street graffiti</a>. Where else can you see stenciled art featuring Mr. Spock, Twiggy, and Waldo?  </li>
</ul>

<h3>Spanish Lessons</h3>

<p>If you are planning on visiting Chile for more than a few weeks and you speak Spanish, you absolutely must get a copy of <a href="http://www.amazon.com/dp/9567802386">How to Survive in the Chilean Jungle</a>. It&#8217;s the definitive guide to the cornucopia of Chilean slang and expressions.</p>

<ul>
<li><a href="http://ryangreenberg.com/archives/2006/04/spanish_lesson_1409.php">Spanish Lesson #1409</a></li>
<li><a href="http://ryangreenberg.com/archives/2006/06/spanish_lesson_1835.php">Spanish Lesson #1835</a></li>
<li><a href="http://ryangreenberg.com/archives/2006/10/spanish_lesson_2972.php">Spanish Lesson #2972</a></li>
<li><a href="http://ryangreenberg.com/archives/2006/11/spanish_lesson_3103.php">Spanish Lesson #3103</a></li>
<li><a href="http://ryangreenberg.com/archives/2007/04/spanish_lesson_3989.php">Spanish Lesson #3989</a></li>
<li><a href="http://ryangreenberg.com/archives/2007/07/spanish_lesson_4361.php">Spanish Lesson #4361</a></li>
</ul>

<p>These aren&#8217;t real language lessons. They&#8217;re just my screw-ups. Maybe they&#8217;ll make you feel better about your own. Whatever you do, no matter how old you are, remember that you only have one <em>ano</em>.</p>

<p><a href="http://en.wikipedia.org/wiki/Si_vas_para_Chile">If you&#8217;re going to Chile</a>, I hope you find something interesting here to get your excited for your trip.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>&quot;Unboxing the iPad Data,&quot; Deconstructed</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2010/04/ipad-infographic.php" />
    <id>tag:ryangreenberg.com,2010://1.461</id>

    <published>2010-04-10T09:11:25Z</published>
    <updated>2010-04-10T09:54:47Z</updated>

    <summary>John Gruber linked to an infographic &quot;Unboxing the iPad Data&quot; In terms of graphic design it&apos;s visually pleasing but it falls short in a few areas and highlights common challenges in designing infographics. These are problems that you find all the time in visualizations, so let&apos;s see what we can learn from this example.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>Yesterday <a href="http://daringfireball.net/">John Gruber</a> linked to an infographic, &#8220;<a href="http://www.johnkumahara.com/blog/wp-content/uploads/2010/04/unboxing_the_ipad_data.jpg">Unboxing the iPad Data</a>&#8221; by John Kumahara and Johnathan Bonnell. In terms of graphic design it&#8217;s visually pleasing, but it falls short in a few areas and highlights common challenges in designing infographics. These are problems that occur all the time in visualizations, so let&#8217;s see what we can learn from this example.</p>

<p>I know it&#8217;s easy to misinterpret criticism, so I want to emphasize that these are comments about this particular graphic, not about the authors&#8217; skills or ability.</p>

<h3>Numbers</h3>

<p>People understand numbers. So when you are evaluating a visualization one of the most important questions is whether the graphic is better than just the numbers. The most successful visualizations show trends, outliers, and insights that a table of numbers wouldn&#8217;t.</p>

<p>In some places &#8220;Unboxing the iPad Data&#8221; clearly shows the numbers of interest. In others, it obscures them for the sake of design.</p>

<div class="photo highlight">
<img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/numbers.png" alt="Display of numbers: 3,122 apps in the store, 300,000 devices sold, 1 million apps sold">
</div>

<p>The fact that Apple sold 300,000 devices and 1,000,000 applications in the first weekend is a big deal&#8212;so these should be big numbers. Instead you have to read the fine print to see that 1 actually means 1 million.</p>

<p>Equally large are numbers that few people care about, like the number of respondents or the specifics of the Likert scale used.</p>

<div class="photo highlight">
<img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/survey-methods.png" alt="7 point scale, 2,176 audience polled">
</div>

<p>When the numbers speak for themselves, rely on them without decoration. Clearly show what is important.</p>

<h3>Colors</h3>

<p>Certain aspects of color are a subjective matter. One designer thinks this shade of red is the right choice; another thinks it&#8217;s ugly. But there is <a href="http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/ASApaper.html">a science</a> to the perception of color. We know that some colors catch people&#8217;s eyes more than others. I would argue that these pie charts would be more readily perceptible if the colors were swapped.</p>

<div class="photo highlight">
<img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/pie-selection.png" alt="Small pie chart">
</div>

<p>The intense saturation of the light blue makes it look like it is highlighting something. Here the portion of interest is the small white wedge representing 15%, but the white is overpowered by the blue.</p>

<p>(There is the separate question of whether these pie charts help us understand the difference between the 8% and 15% range represented in the left-most column. The small pie charts are attractive, but does this <a href="http://en.wikipedia.org/wiki/Small_multiple">small multiples</a> grid of pie charts help the viewer understand this dataset better than a table of these numbers alone?)</p>

<p>A similar issue affects the bar chart. Here the viewer must compare between likely (represented by white) and unlikely (represented by blue). Again, the blue stands out and draws the user&#8217;s attention.</p>

<div class="photo highlight">
<img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/bar-chart.png" alt="Number of tweets about the iPad">
</div>

<p>A minor detail in the bar chart is the orientation of the text. In the U.S., we are more comfortable turning our heads <em>right</em> to read things instead of left. Think of a bookshelf&#8212;how do you turn your head to read the books&#8217; titles? My preference (preference!) would be to rotate the labels on this bar chart 180&deg;.</p>

<h3>Meaning</h3>

<p>Designers must be careful that their infographics accurately depict meaningful information. Here, for example, we see that the peak rate of tweets about the iPad was 26,668 in an hour.</p>

<div class="photo highlight">
<img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/tweet-volume.png" alt="Number of tweets about the iPad">
</div>

<p>The depiction juxtaposes this number against a timeline that suggests the peak occurred between 11:00am and 12:00pm. If this is the case, then the segment should be labeled so  that the viewer can learn this readily. On other hand, if we don&#8217;t know the time of the peak, then this illustration is misleading because it implies a fact where there is ambiguity.</p>

<p>The segment of this infographic that depicts the cost of apps for the iPhone and iPad is less clear still.</p>

<div class="photo highlight">
<img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/average-price.png">
</div>

<p>The accompanying text reads:</p>

<blockquote>
  <p>The other notable difference between the iPad and the iPhone, are the app prices. The average price of the initial iPad apps ran around $4.99 (according to Mobclix) while the iPhone apps averaged a steady $1.99.</p>
</blockquote>

<p>I&#8217;ve looked at this pie chart for some time and I can&#8217;t figure out what it is showing. The ratio of average app price to the total average app price? Even if that were the case, 5/7 is 71% and this chart is split into 60% and 40% segments.</p>

<h3>Area</h3>

<p>There are a variety of visual variables a designer can use to encode a given set of data. Among these are length, position, angle, area, color, lightness, and others. Some of these are better suited to certain kinds of data than others, and some are more readily perceptible than others (see Cleveland and McGill&#8217;s &#8220;<a href="http://www.jstor.org/pss/2288400">Graphical Perception</a>&#8221; for extensive details and experiments).</p>

<div class="photo highlight">
<a href="http://ryangreenberg.com/files/2010/04/ipad-infographic/map.png"><img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/map-500.png" alt="Sales map"></a>
</div>

<p>Look at this area comparison of percentage of iPads sold. Before we even consider the accuracy, look at these two circles and ask yourself how much bigger is circle B than circle A? Go ahead, just type your guess in the box.</p>

<div class="photo highlight">
<img class="no-border" src="http://ryangreenberg.com/files/2010/04/ipad-infographic/area-comparison.png" alt="Two circles">
</div>

<p>The circle on the <strong>right</strong> is <input type="text" id="guessed-area" style="width: 40px"> times bigger than the one on the <strong>left</strong>. <input type="button" id="guess-area" value="Show answer"></p>

<p id="area-explanation">The area of the circle on the left is 1075 pixels (d = 37, r = 18.5, A = 1075 px) and the 
circle on the right is 7390 pixels (d = 97, r = 48.5, A = 7390). That&#8217;s 6.8 times bigger. <span id="guessed-area-outer" style="display: none">You said <span id="guessed-area-answer">x.x</span>, so you were off by <span id="guess-area-error">x.</span>%</span></p>

<script>
$('#area-explanation').hide();
$('#guess-area').click(function(){
    var guess = parseFloat($('#guessed-area').val());
    if (guess) {
        var factor = Math.abs(Math.round((1 - guess/6.8) * 100));
        if (guess == 6.8) {
            guess += " (cheater!)";
        }
        $('#guessed-area-answer').text(guess);
        $('#guess-area-error').text(factor);
        $('#guessed-area-outer').show();
    }
    $('#area-explanation').slideDown();
});
</script>

<p>People are much better at comparing length and position than comparing area. This is a very common mistake (one <a href="http://ryangreenberg.com/archives/2007/05/you_flatter_me.php">I&#8217;ve made myself</a>). Before you represent a variable with area, you should consider that you may be handicapping people&#8217;s ability to compare the data.</p>

<p>Area is hard to understand, but it&#8217;s hard for designers to get it right as well. Consider the legend for this map: </p>

<div class="photo highlight">
<img src="http://ryangreenberg.com/files/2010/04/ipad-infographic/percent-area.png" alt="Area Legend">
</div>

<p>Are these circles the right size? Let&#8217;s construct a table and find out:</p>

<table class="data numeric">
<thead>
<tr>
    <th>Nominal Size</th>
    <th>Diameter</th>
    <th>Radius</th>
    <th>Area</th>
    <th>&times; 1%</th>
</tr>
</thead>
<tbody>
<tr>
    <td>1%</td>
    <td>22</td>
    <td>11</td>
    <td>380</td>
    <td>1</td>
</tr>
<tr>
    <td>5%</td>
    <td>70</td>
    <td>35</td>
    <td>3848</td>
    <td>10</td>
</tr>
<tr>
    <td>10%</td>
    <td>102</td>
    <td>51</td>
    <td>8171</td>
    <td>21.5</td>
</tr>
<tr>
    <td>20%</td>
    <td>160</td>
    <td>80</td>
    <td>20106</td>
    <td>53</td>
</tr>
</tbody>
</table>

<p>The rightmost column shows the area of the circle compared with the area of the 1% circle. It turns out that the area of the 20% circle is 53 times bigger than the area of the 1% circle&#8212;more than 2.5 times bigger than it should be. Comparing areas is hard; it&#8217;s harder with an inaccurate legend. The difficulty of accurately representing area is another reason to avoid using it.</p>

<h3>Maps</h3>

<p>Maps are such a common form of visualization that we use them even when they are not helpful. On top of that, they&#8217;re hard. Maps&#8217; static nature make it hard to show important dimensions of data.</p>

<p>The size of maps is fixed, which can be at odds with what your are trying to communicate. In the map shown above much of the interesting data is crammed into the northeast because that&#8217;s where those states are located. Meanwhile, a bunch of sparsely populated states in the northwest of the map use up space without communicating anything.</p>

<p>Data on maps is constrained by realities the map itself cannot express. There&#8217;s no convenient way to show population data. Does California have a giant circle because Californians buy more iPads than their counterparts across the country? Or is it because California has more people than any other state?</p>

<p>Here the map isn&#8217;t clearly better than just the numbers. A table listing the sales numbers for each state, possibly along with the per capita sales per state, would express the point with greater clarity and more succinctly. In the end, that&#8217;s the goal, right?</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Greasemonkey &amp; jQuery</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2010/03/greasemonkey_jquery.php" />
    <id>tag:ryangreenberg.com,2010://1.460</id>

    <published>2010-03-23T23:13:42Z</published>
    <updated>2010-04-12T06:59:11Z</updated>

    <summary>Tips for using jQuery with the Greasemonkey Firefox extension.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>I taught <a href="http://courses.ischool.berkeley.edu/i290-4/f09/">a class</a> this past fall where we used <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> as a tool for building prototypes of new browser functionality. We also used <a href="http://jquery.com/">jQuery</a> extensively to make JavaScript in the browser simpler. There are some tricks to getting the two to work together that I&#8217;ve been meaning to share.</p>

<h3>Loading jQuery in a Greasemonkey script</h3>

<p>Simply loading jQuery within Greasemonkey hasn&#8217;t always been straightforward. I think they should just bundle jQuery with the Greasemonkey package since just about everyone is using it already, but that&#8217;s a separate issue.</p>

<p>The <a href="http://joanpiedra.com/jquery/greasemonkey/">old way</a> to include jQuery in your Greasemonkey scripts was to add a <code>&lt;script&gt;</code> tag to every page you visit linking to the jQuery library. Although this works, it&#8217;s a clunky solution. It introduces timing issues: since you can&#8217;t be sure when the script would load, you have to poll continually, checking to see if jQuery has downloaded yet. Once you detect that jQuery is available, you can run your script. This approach also might clobber other JavaScript running on the main page (like the Prototype library) before you have a chance to call jQuery.noConflict.</p>

<p>Fortunately, later versions of Greasemonkey made this hack unnecessary by adding the <a href="http://wiki.greasespot.net/Metadata_Block#require"><code>@require</code></a> attribute to scripts. When you install a Greasemonkey script that has an <code>@require</code> statement, the listed resource is downloaded once and included in the script as if it were pasted directly into the document. Unfortunately, there&#8217;s a small stumbling block for people testing their scripts: the <code>@require</code> statement is only executed when you install a script. This means that if you create a new Greasemonkey script in Firefox, add the <code>@require</code> line, and save your file <em>nothing will happen</em>. You have to uninstall your script and reinstall it because <code>@require</code> is only processed at installation. Once you do this, you can use jQuery all you want in your script. Except for&#8230;</p>
]]>
        <![CDATA[<h3>jQuery AJAX and Greasemonkey</h3>

<p>By default, jQuery&#8217;s helpful AJAX methods like <code>$.get</code> and <code>$.post</code> don&#8217;t work in Greasemonkey. jQuery acts as a wrapper around browser&#8217;s varying implementations of <a href="http://en.wikipedia.org/wiki/XMLHttpRequest">XMLHttpRequest</a> (XHR), which is what makes AJAX possible. In a Greasemonkey script you don&#8217;t have XMLHttpRequest. Instead you get <a href="http://wiki.greasespot.net/GM_xmlhttpRequest">GM_xmlhttpRequest</a>. You can use jQuery&#8217;s <code>.ajaxSetup()</code> to specify a different object for requests, but <code>GM\_XMLHttpRequest</code> actually operates differently than a normal XHR.</p>

<p>When you create a new XMLHttpRequest you get an object that you can use to set options like the URL, HTTP verb, callback functions, and so forth. Once everything is set up, you start the XHR with the <code>.send()</code> method. With GM_XMLHttpRequest, you set all these options when you create the object because <em>it sends immediately when you create it</em>. In order to use GM_XMLHttpRequest with jQuery, we need a way to encapsulate its functionality. This script does that:</p>

<pre><code>// Wrapper for GM_xmlhttpRequest
function GM_XHR() {
    this.type = null;
    this.url = null;
    this.async = null;
    this.username = null;
    this.password = null;
    this.status = null;
    this.headers = {};
    this.readyState = null;

    this.open = function(type, url, async, username, password) {
        this.type = type ? type : null;
        this.url = url ? url : null;
        this.async = async ? async : null;
        this.username = username ? username : null;
        this.password = password ? password : null;
        this.readyState = 1;
    };

    this.setRequestHeader = function(name, value) {
        this.headers[name] = value;
    };

    this.abort = function() {
        this.readyState = 0;
    };

    this.getResponseHeader = function(name) {
        return this.headers[name];
    };

    this.send = function(data) {
        this.data = data;
        var that = this;
        GM_xmlhttpRequest({
            method: this.type,
            url: this.url,
            headers: this.headers,
            data: this.data,
            onload: function(rsp) {
                // Populate wrapper object with returned data
                for (k in rsp) {
                    that[k] = rsp[k];
                }
            },
            onerror: function(rsp) {
                for (k in rsp) {
                    that[k] = rsp[k];
                }
            },
            onreadystatechange: function(rsp) {
                for (k in rsp) {
                    that[k] = rsp[k];
                }
            }
        });
    };
};
</code></pre>

<p>Once we have this wrapper object, we need to tell jQuery to use it instead of the standard browser XHR:</p>

<pre><code>$.ajaxSetup({
    xhr: function(){return new GM_XHR;}
});
</code></pre>

<p>If you include this code in your Greasemonkey script (or <code>@require</code> it&#8212;see above), you will be able to use $.ajax, $.get, and $.post in your scripts. I&#8217;m not sure about $.getScript, and I know that $.getJSON will often fail.</p>

<h3>Cross-site scripting with Greasemonkey and jQuery</h3>

<p>The short story: using $.getJSON in Greasemonkey will fail anytime you request a resource on another site. To avoid this, just use $.get and parse the returned JSON yourself (using <code>eval()</code> or&#8212;better yet&#8212;<a href="http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/"><code>JSON.parse()</code></a> (see also <a href="http://www.json.org/json2.js">json2.js</a>).</p>

<p><strong>Update 2010-04-11</strong>: jQuery 1.4 added the <a href="http://api.jquery.com/jQuery.parseJSON/"><code>$.parseJSON</code></a> method which is what you should use to handle JSON responses (via <a href="#comment-108213">Paul Tarjan</a>).</p>

<p>For cross-domain JSON requests jQuery uses <code>&lt;script&gt;</code> tags and JSONP as a workaround for the <a href="http://en.wikipedia.org/wiki/Same_origin_policy">same origin policy</a>. JSONP works because the responding server wraps its response with the name of a user-defined callback function. Instead of returning:</p>

<pre><code>{"param": "value"}
</code></pre>

<p>the server will respond with</p>

<pre><code>callback_function_name({"param": "value"})
</code></pre>

<p>where <em>callback_function_name</em> is something jQuery creates automatically. When you use Greasemonkey, jQuery defines this function in the scope of the Greasemonkey window, but the browser looks for the function in the main window&#8217;s scope and you get an error. The solution is simply to avoid $.getJSON and use $.get instead. Since GM_xmlhttprequest doesn&#8217;t have to abide by the same origin policy you don&#8217;t need JSONP.</p>

<p>I hope these tips are helpful for people familiar with jQuery who want to try their hand at making a Greasemonkey script.</p>
]]>
    </content>
</entry>

<entry>
    <title>Sather Tower × 4</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2010/03/sather-tower-x4.php" />
    <id>tag:ryangreenberg.com,2010://1.459</id>

    <published>2010-03-10T23:34:20Z</published>
    <updated>2010-03-10T23:34:22Z</updated>

    <summary>Sather Tower is at the center of UC Berkeley&apos;s campus, right across from South Hall where I spent most of my time. These are four pictures of the tower over a two-week period.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<div class="photo highlight">
<a href="http://www.flickr.com/photos/ryangreenberg/4402894177/" title="Four photos of Sather Tower"><img src="http://ryangreenberg.com/blog/archives/files/2010/03/sather-tower.jpg" alt="Four photos of Sather Tower"></a>
<div class="photo-caption">Clockwise from top-left: A foggy afternoon on Feb. 18; from the main staircase of South Hall on Feb. 24; nighttime on Mar. 1; and the west facade before sunset on Feb. 25.</div>
</div>

<p><a href="http://en.wikipedia.org/wiki/Sather_Tower">Sather Tower</a>, also called the Campanile, is at the center of UC Berkeley&#8217;s campus. It&#8217;s right across from South Hall, where the School of Information is housed, and where I spent most of my time. These are four pictures I took of Sather Tower in a two-week period.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Conversation with an Anthropomorphized Twiki</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2010/02/twiki-convo.php" />
    <id>tag:ryangreenberg.com,2010://1.458</id>

    <published>2010-02-26T03:08:26Z</published>
    <updated>2010-03-11T17:16:03Z</updated>

    <summary>Twiki is an adequate piece of software, but it has some rough edges. I got frustrated trying to upload some images to my assignment, and I somehow thought that it would be a better use of my time to write a dialogue of my interaction with Twiki.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>This semester I&#8217;m taking <a href="http://www.ischool.berkeley.edu/programs/courses/213">a class</a> on user interface design and development. One common technique we&#8217;ve covered is think-aloud studies, where you get a user to explain what they&#8217;re doing aloud as they do it. This gives you some insight into what the user is thinking about your interface, and why they choose the options they do.</p>

<p>For this class, we post our assignments to a class wiki run on <a href="http://twiki.org/">Twiki</a>. Twiki is an adequate piece of software, but it has some rough edges. I got frustrated trying to attach images to my assignment, so I wrote a think-aloud dialogue of my interaction with the software.</p>

<div class="photo horizontal">
    <a href="http://ryangreenberg.com/blog/archives/files/2010/02/insert-edit-image.png" title="Insert/edit image to Twiki page"><img src="http://ryangreenberg.com/blog/archives/files/2010/02/insert-edit-image-thumb.png" alt="Insert/edit image to Twiki page"></a>
    <div class="photo-caption">This is the popup dialog to insert an image into the current page. You have to enter the image&#8217;s URL or select an image that you uploaded before getting to this page.</div>
</div>

<p><strong>Ryan</strong>: Great, I&#8217;m just going to upload some pictures to my page. I&#8217;ll just click the insert picture button. <br />
<strong>Twiki</strong>: Sure thing. What&#8217;s the URL for the picture that you want to insert? <br />
<strong>Ryan</strong>: Uhh&#8230;I don&#8217;t have one. I mean it doesn&#8217;t have a URL. Err&#8230;not yet? <br />
<strong>Twiki</strong>: No problem. You can select a picture that you&#8217;ve already uploaded. <br />
<strong>Ryan</strong>: I haven&#8217;t uploaded any pictures. <br />
<strong>Twiki</strong>: <em>(silence)</em> <br />
<strong>Ryan</strong>: So where do I go to upload a picture? <br />
<strong>Twiki</strong>: <em>(silence)</em> <br />
<strong>Ryan</strong>: Can I do it anywhere on this page? <br />
<strong>Twiki</strong>: You can attach pictures to a page&#8230; <br />
<strong>Ryan</strong>: Great&#8212;that&#8217;s what I want to do. <br />
<strong>Twiki</strong>: &#8230;but not when you are editing the page. <br />
<strong>Ryan</strong>: OK, so I&#8217;ll save this page and come back later to finish editing after I upload my pictures. <br />
<strong>Twiki</strong>: Just click the attach button. <br />
<strong>Ryan</strong>: OK, so now I can upload my pictures on this page. <br />
<strong>Twiki</strong>: Picture. <br />
<strong>Ryan</strong>: Picture? <br />
<strong>Twiki</strong>: Why would you want to upload more than one at a time? <br />
<strong>Ryan</strong>: Oh, I don&#8217;t know, I just have a few I want to put on this page. <br />
<strong>Twiki</strong>: One. Picture. <br />
<strong>Ryan</strong>: Fine, I&#8217;ll upload a picture and click Attach and then repeat the process for each picture that I have. <br />
<strong>Twiki</strong>: Good. <br />
<strong>Ryan</strong>: This one picture that I uploaded, though. It&#8217;s 2000 pixels, which is kind of large to display in a browser window. Could you do something about that? <br />
<strong>Twiki</strong>: That seems like something you should have though about before you uploaded it. <br />
<strong>Ryan</strong>: I mean, can&#8217;t you resize it or something to make it the right size for my wiki page? <br />
<strong>Twiki</strong>: No. <br />
<strong>Ryan</strong>: OK, hold on, I&#8217;ll be right back. I have to go resize these images by hand. <br />
<strong>Ryan</strong>: Back! Now I&#8217;ll upload these three&#8230;oh&#8230;right&#8230;Attach, upload, save, attach upload, save, attach, upload, save. <br />
<strong>Twiki</strong>: Good work. <br />
<strong>Ryan</strong>: Now let&#8217;s put these images into my wiki page. <br />
<strong>Twiki</strong>: Image. <br />
<strong>Ryan</strong>: Image? <br />
<strong>Twiki</strong>: Well, you have to do it one at a time. <br />
<strong>Ryan</strong>: <em>(sigh)</em> You&#8217;re the wiki for a class on usability? <br />
<strong>Twiki</strong>: Apparently so. <br />
<strong>Ryan</strong>: Is this some kind of joke? <br />
<strong>Twiki</strong>: No. <br />
<strong>Ryan</strong>: This is ridiculous. I couldn&#8217;t design a less usable wiki if I sat down and tried to. <br />
<strong>Twiki</strong>: Now you&#8217;re just exaggerating. <br />
<strong>Ryan</strong>: And don&#8217;t even get me started on your &#8220;WYSIWYG&#8221; editor. It&#8217;s like you vomit on my text whenever I&#8217;m not looking. <br />
<strong>Twiki</strong>: Please be reasonable. <br />
<strong>Ryan</strong>: I AM BEING REASONABLE. And what kind of name is &#8220;Twiki&#8221;? Even the pronunciation is unusable! I&#8217;ve been speaking English for decades and I can&#8217;t decide how to use your name. Tee-wiki. Twick-ee. <br />
<strong>Twiki</strong>: It&#8217;s my name. <br />
<strong>Ryan</strong>: It&#8217;s absurd. <br />
<strong>Twiki</strong>: You just wish I was Wikipedia. <br />
<strong>Ryan</strong>: No, I don&#8217;t want&#8212; <br />
<strong>Twiki</strong>: You wish I had millions of contributors and video and embedded SVGs and links everywhere. <br />
<strong>Ryan</strong>: Really I just want you to be easier to&#8212; <br />
<strong>Twiki</strong>: <em>(sobbing)</em> WHY CAN&#8217;T YOU JUST LOVE ME FOR WHAT I AM? <br />
<strong>Ryan</strong>: I&#8217;m sorry. I didn&#8217;t mean to&#8212; <br />
<strong>Twiki</strong>: You can be so cruel. <br />
<strong>Ryan</strong>: I&#8217;m sorry. I&#8217;m sorry. I&#8217;m sorry. <em>(softly, not realizing this is a bad time)</em> It&#8217;s just that, on a lot of other wikis&#8212;not that I want you to be exactly like them&#8212;but it&#8217;s just that I could probably have uploaded my pictures in the time it took me to write this. But with you&#8230; <br />
<strong>Twiki</strong>: <em>(muffled sobs)</em> <br />
<strong>Ryan</strong>: &#8230; <br />
<strong>Twiki</strong>: &#8230; <br />
<strong>Ryan</strong>: You know what, forget I said anything. I&#8217;ll just upload the photos.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Is Online First-come, First-served Fair?</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2010/02/fcfs-fair.php" />
    <id>tag:ryangreenberg.com,2010://1.457</id>

    <published>2010-02-18T18:28:45Z</published>
    <updated>2010-02-19T10:33:29Z</updated>

    <summary>One way to ration scarse resources is to use first-come, first-served rationing. FCFS is pretty well understood in the physical world, but it is different online.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>President Clinton is speaking at UC Berkeley next week. Tickets were available to students who filled out an online form starting at 7:00am this morning. Predictably, at 6:59am the website offering tickets looked like this:</p>

<div class="photo highlight no-border">
<a href="http://ryangreenberg.com/archives/2010/02/clinton-ticket-site-errors.png" title="Four different server errors"><img src="http://ryangreenberg.com/archives/2010/02/clinton-ticket-site-errors-thumb.png" alt="Four different server errors"></a>
</div>

<p>Judging by messages on Twitter, hundreds of other students had the same experience. At 7:39am, tickets were sold out.</p>

<p>Despite being awake and online at the right time, I never even saw the form. I&#8217;m not upset or tremendously disappointed, but this experience started me thinking about the process of distribution. This is the fourth or fifth time I&#8217;ve participated in an online offer in the last year, and they always leave me with the sense that they&#8217;re not fair. In this situation I think fair means that every person who is eligible to receive a ticket and wants one has an equal chance to receive one. <sup id="fn1ref-lottery"><a href="#fn1-lottery">1</a></sup></p>

<p>The issue is that this system relies on first-come, first-served rationing (FCFS) for a scarse resource. FCFS is pretty well understood in the physical world. We know that people can only be in one place at a time: each person gets a single spot in line. Whoever shows up first, or camps out overnight, will get to see the movie first.  Incidentally, these practices are exactly why organizers want to move to an online system. Real-world FCFS means large, unwieldy crowds and groups of students who set up tents on campus.</p>

<p>An online version of first-come, first-served solves these problems: when people vie for a resource online (on the Internet, or calling by phone), they don&#8217;t form massive crowds outside your door or camp on your porch. Without the restrictions of the physical world, however, FCFS is different online. I can get 10 places in line just by loading a page in my browser 10 times. If I am handy with programming, I might be able to get hundreds of places in line by writing a script to connect on my behalf. If I have a slow Internet connection, or I&#8217;m positioned at a certain point on the network, I might never be able to get in line because the server is too busy. In short, online FCFS has a chance at being fair only if your servers can handle the load and you can prevent people from taking multiple places in line.</p>

<p>A natural next question might be how you can prepare your servers for the demand created by an event like this. People who know a lot more than I do about IT might suggest things like caching, replicated servers, faster machines, and more memory. But this misses the real problem: online FCFS is not a good approximation of fair.</p>

<p>A better alternative is an online lottery. Instead of awarding tickets based on whoever arrives first, you provide a window during which anybody can obtain a lottery number. Then you randomly select people using a computer and give them tickets. This system solves the same problems that online FCFS does: there are no large crowds and no camping out. It also solves some of the problems with FCFS. Since you can get a lottery number at any time during the window, network traffic will be spread out across this time. And since awards are based on random chance,<sup id="fn2ref-lottery"><a href="#fn2-lottery">2</a></sup> a lottery is more fair because every ticket holder has an equal chance. </p>

<p>Of course, there are some similar problems. If the window to get a lottery ticket isn&#8217;t large enough everyone who wants a ticket won&#8217;t have a chance to get one&#8212;not fair. Also, the problem of multiple people in line is now replaced with the problem of multiple lottery tickets. People will find ways to get multiple lottery tickets, increasing their odds of being selected. But I don&#8217;t think that ballot stuffing is a much greater problem than having multiple spots in line. With a lottery system you can deal with ballot stuffing on your own time instead of in real time.</p>

<p>In the controlled circumstances of the Clinton ticket giveaway, stuffing is nearly impossible. Each student has a unique student ID number which can be checked to ensure that each person gets only one lottery number. And since each student can only obtain a single ticket for this event for personal use (confirmed with photo ID when claiming the ticket), people cannot use their friends to get extra lottery numbers.</p>

<p>The only downside to a lottery is that it requires more work. With online FCFS you can just tell people to come, watch your server buckle under the load, and eventually give away all the tickets. Online FCFS is also fine if you&#8217;re not interested in fair. I don&#8217;t mean this in a pejorative sense. If you&#8217;re selling concert tickets, you get paid no matter who buys them; there&#8217;s no obvious incentive for fair distribution.<sup id="fn3ref-lottery"><a href="#fn3-lottery">3</a></sup></p>

<p>Given the <a href="http://ryangreenberg.com/archives/2010/02/clinton_tickets/students.html">detailed instructions</a> for distributing tickets, it seems like Berkeley does want to be fair about the process. Next time, I suggest they consider a lottery.</p>

<div class="hr"><hr></div>

<p><sup id="fn1-lottery">1</sup> Of course there are other definitions for fair. If you understand fair in a different sense (like &#8220;following an defined process for distribution&#8221;) then this system may well be fair. I am using fair as equitable because I think that is a popular understanding of  fair. <a href="#fn1ref-lottery">&#8617;</a></p>

<p><sup id="fn2-lottery">2</sup> Computers only generate <a href="http://en.wikipedia.org/wiki/Pseudorandom_number_generator">pseudorandom</a> numbers, but these are random enough for our needs. <a href="#fn2ref-lottery">&#8617;</a></p>

<p><sup id="fn3-lottery">3</sup> There might be external repercussions for distribution using a process that isn&#8217;t perceived as fair. The <em>New Yorker</em> ran an article last summer, <a href="http://www.newyorker.com/reporting/2009/08/10/090810fa_fact_seabrook">&#8220;The Price of the Ticket&#8221;</a> addressing this issue as it applies to Ticketmaster and fishy practices selling tickets. <a href="#fn3ref-lottery">&#8617;</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>A Nook of My Own</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2010/01/nook-of-my-own.php" />
    <id>tag:www.ryangreenberg.com,2010://1.456</id>

    <published>2010-01-25T08:47:29Z</published>
    <updated>2010-02-10T06:51:37Z</updated>

    <summary>I&apos;m using my Barnes &amp; Noble nook to conduct a semester long experiment, where I use it for as much of my reading as possible.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>This past Christmas my future in-laws gave me a lovely gift, the <a href="http://www.nook.com">nook</a>, Barnes &amp; Noble&#8217;s new electronic reader. I&#8217;ve decided to use the nook to conduct a semester long experiment, where I use it for as much of my reading as possible.</p>

<p>Even with the imminent arrival of the Apple Canvas, I&#8217;m excited about testing the nook for a few reasons. First, I&#8217;m hoping that reading on a reflective screen like the nook&#8217;s will be easier on my eyes. Every semester I have at least a few hundred pages of reading, nearly all of which is only available online. With the nook I have another alternative besides printing everything out or reading on my computer screen, which is hard on my eyes.</p>

<p>Second, I think that having a device just for reading will make it easier to stay focused on the task at hand (<a href="http://ryangreenberg.com/blog/archives/files/2010/01/command-tab.png">command-tab</a> is my worst enemy). Some people think that single-purpose devices are too limited to become popular. For my money, I think they&#8217;re right&#8212;multipurpose devices will probably be more popular, but a smaller market doesn&#8217;t mean the nook (or Kindle) can&#8217;t be a commercial success.</p>

<p>While I&#8217;m testing the nook over the next few months I&#8217;ll write up my thoughts. Here&#8217;s my first batch.</p>

<h3>Out of the Box</h3>

<div class="photo horizontal">
    <a href="http://ryangreenberg.com/blog/archives/files/2010/01/out-of-the-box-1600.jpg" title=""><img src="http://ryangreenberg.com/blog/archives/files/2010/01/out-of-the-box-240.jpg" alt="nook out of the box" /></a>
    <div class="photo-caption">The nook ships with a message on its screen which lasts indefinitely because of the E Ink technology.</div>
</div>

<p>The nook arrives in an attractive clear plastic box that feels quite hefty. When I pulled off the cardboard cover from the box there was a message welcoming me to the nook. This was a nifty touch that actually tricked me: I thought the message was printed on a clear film that I would have to pull off the screen, but it was displayed on the screen itself. One of the advantages of the <a href="http://en.wikipedia.org/wiki/E_Ink">E Ink</a> technology is that it remains on the screen indefinitely without consuming any power, so they display this message at the factory and it stays there until you see it. I had to fumble with the box for awhile to get it open and remove the nook. The packing is somewhat excessive, as indicated by the two pages of instructions on how to unpack your nook. If I need seven steps to get your product out of the box, you packed it wrong.</p>
]]>
        <![CDATA[<h3>Free &#8220;Content&#8221; and Book Samples</h3>

<p>Getting the nook up and running was painless. After charging the device for a few hours I created an account at Barnes &amp; Noble and entered my username and password into the nook. Then I went looking for something to read.</p>

<p>As a grad student I&#8217;m not exactly swimming in a pool of gold coins, so the first place I landed was the selection of <a href="http://www.barnesandnoble.com/u/Free-eBooks/379001668/">free ebooks</a> that you can download from Barnes &amp; Noble. After browsing through the available titles it&#8217;s pretty clear these books are free because no one in her right mind would pay for them. Here are some standouts in the lineup:</p>

<ul>
<li><em><a href="http://search.barnesandnoble.com/RAVISHED/Joe-Brewster/e/2940000789209/">RAVISHED: An Office FemDom Story</a></em> by Joe Brewster</li>
<li><em><a href="http://search.barnesandnoble.com/Slow-Hands/Leslie-Kelly/e/9781426830716/">Slow Hands (Harlequin Blaze Series #402)</a></em> by Leslie Kelly</li>
<li><em><a href="http://search.barnesandnoble.com/I-Will-Be-Your-Dominatrix/Sarah-Welcombe/e/2940000788066/?cds2Pid=29905">I Will Be Your Dominatrix</a></em> by Sarah Welcombe</li>
<li><em><a href="http://search.barnesandnoble.com/Parking-Lot-Hero/JM-Snyder/e/2940000696774/">Parking Lot Hero</a></em> by J.M. Snyder</li>
<li><em><a href="http://search.barnesandnoble.com/Love-in-the-Library/JM-Snyder/e/2940000696552/">Love in the Library</a></em> by J.M. Snyder</li>
<li><em><a href="http://search.barnesandnoble.com/Foreplay/JM-Snyder/e/2940000696620/">Foreplay</a></em> by J.M. Snyder</li>
<li><em><a href="http://search.barnesandnoble.com/Fuck-the-Foreplay/JM-Snyder/e/2940000696675/">Fuck the Foreplay</a></em> by J.M. Snyder</li>
<li><em><a href="http://search.barnesandnoble.com/Las-Vegas-Weekend-Romance-Short-Story/Marion-Francis/e/2940000707647/">Las Vegas Weekend (part of Gigolo: The Series)</a></em> by Marion Francis</li>
<li><em><a href="http://search.barnesandnoble.com/nudecelebspacevampirejpg/Jules-Wellesley/e/2940000724637/">nudecelebspacevampire.jpg</a></em> by Jules Wellesley</li>
<li><em><a href="http://search.barnesandnoble.com/Virginia-The-Vampires-Mistress-Vamp-Romance/Marion-Francis/e/2940000791264/">Virginia - The Vampires Mistress</a></em> by Marion Francis</li>
</ul>

<p>Apparently this is the best Barnes &amp; Noble can do in the free department: vampire romance short stories and gems about the city where &#8220;what happen&#8217;s in Vegas, Stay&#8217;s in Vegas [sic].&#8221; Instead of offering disposable books, why not offer, say, the top 10 books of 2009 for free? The cost to Barnes &amp; Noble should be minimal given their role as a distributor. Even if it isn&#8217;t, this is the sort of thing that would create an out-of-the-box experience that people would rave about. To their credit, Barnes &amp; Noble preloads the nook with three more durable books: <em>Dracula</em>, <em>Little Women</em>, and <em>Price and Prejudice</em>.</p>

<p>Barnes &amp; Noble says they let you download free samples of any book in their online store to decide if you want to buy it. This is a nice analogue to thumbing through the book in the store before you take it to the cash register. I downloaded the free sample of Michael Pollan&#8217;s <em>The Omnivore&#8217;s Dilemma</em>. The first 28 pages (which are shorter than a ordinary book page) were the cover, copyright page, table of contents, acknowledgment, and excerpts of reviews from critics. Pollan&#8217;s introduction finally began on page 29 and it continued to page 33 where it ended unceremoniously mid-sentence. I fared better with a sample of Dan Brown&#8217;s <em>The Lost Symbol</em>, which was 114 pages long, although I still had to flip through the first 20 pages before I got to the preface.</p>

<h3>Academic Papers on the Nook</h3>

<p>Eventually I&#8217;ll buy a book and read through it on the nook, but one of the main reasons I&#8217;m interested in the device is to read papers for my courses. This week I had to read the classic &#8220;<a href="http://portal.acm.org/citation.cfm?id=1074047.1074049">Tussle in Cyberspace</a>&#8221; again, so I downloaded the PDF and simply copied it to the nook&#8217;s internal storage. When I selected the paper from the &#8220;My Documents&#8221; menu there was a small problem:</p>

<div class="photo highlight">
<a href="http://ryangreenberg.com/blog/archives/files/2010/01/small-pdf-1600.jpg" title="PDF shrunk to fit nook screen"><img src="http://ryangreenberg.com/blog/archives/files/2010/01/small-pdf-500.jpg" alt="PDF shrunk to fit nook screen"></a>
<div class="photo-caption">Once you shrink an 8.5&Prime; &times; 11&Prime; PDF to fit a 6&Prime; E Ink screen a column of text is just over an inch wide.</div>
</div>

<p>PDFs have a fixed size, and the double-column format common to research papers doesn&#8217;t fare well when shrunk, although this might be a viable option on the pricy <a href="http://www.amazon.com/dp/B0015TG12Q/">Kindle DX</a> or pricier still <a href="http://buyque.barnesandnoble.com/why-que/">QUE</a> (what is it with Barnes &amp; Noble and strange capitalization?).</p>

<p>The solution is to convert your PDF into an eBook format that supports reflowing, adjusting the size and placement of the words to a specific device&#8217;s screen. I used <a href="http://calibre-ebook.com/">calibre</a> to convert my PDF to an ePub file, and then uploaded that to my nook. Calibre correctly converted the multicolumn PDF, which was a problem for a web-based conversion tool that I tried. Without much trouble I was able to copy the converted version to the nook. After this, I had mostly what I wanted. There are still some glitches in the reflowing process, however, which leave <a href="http://ryangreenberg.com/blog/archives/files/2010/01/strange-line-wraps-1600.jpg">unsightly gaps</a> and unnecessary hyphenation caused by line breaks in the original PDF. I think I can get better results if I do some tweaking.</p>

<h3>Button Placement</h3>

<div class="photo vertical">
    <a href="http://ryangreenberg.com/blog/archives/files/2010/01/botton-placement-1600.jpg" title="Awkward button placement on nook"><img src="http://ryangreenberg.com/blog/archives/files/2010/01/botton-placement-240.jpg" alt="Awkward button placement on nook" /></a>
    <div class="photo-caption">It feels like the next page and previous page buttons should be flipped.</div>
</div>

<p>The only remaining comment I have about the nook is that I think the paging buttons should be reversed. On either side of the nook there are large buttons that page the book you&#8217;re reading forward or backward. When I hold the nook firmly in my hands, I find that my thumb is directly above the back button. Maybe they did user testing and found that the actual placement is better for more people, but for me it feels wrong. The top row should be flipped with the bottom row.</p>

<h3>Closing Thoughts</h3>

<p>Despite the rough edges in the conversion process, I&#8217;m looking forward to doing my reading on the nook for the next few months. If I find a good workflow for converting PDFs, I&#8217;ll write a walkthrough of the process and share it. In the meantime, I&#8217;ll be curled up reading a copy of <em><a href="http://search.barnesandnoble.com/nudecelebspacevampirejpg/Jules-Wellesley/e/2940000724637/">nudecelebspacevampire.jpg</a></em>&#8230;or something like that.</p>
]]>
    </content>
</entry>

<entry>
    <title>Hello World! from Arduino</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2009/09/hello-world-arduino.php" />
    <id>tag:www.ryangreenberg.com,2009://1.455</id>

    <published>2009-09-04T06:54:13Z</published>
    <updated>2009-09-18T16:22:33Z</updated>

    <summary>Once I finished fumbling with my breadboard and resistors, my light started blinking automatically without me doing any programming at all. I decided that a better start would be to have my light blink &quot;Hello world&quot; in Morse code.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>I&#8217;m taking an exciting class this semester called <a href="http://courses.ischool.berkeley.edu/i262/f09/">Theory and Practice of Tangible User Interfaces</a>. Today was our first lab class where we got our box of inputs and outputs, a breadboard, and an <a href="http://www.arduino.cc">Arduino microcontroller</a>. With these tools I have a way to sense and control things in the physical world with a normal programming environment, which is a step towards the &#8220;tangible&#8221; interfaces from the class&#8217;s name.</p>

<p>TUI, as students call the class, culminates in a final projects that in past years have been a real showcase of creativity: the <a href="http://www.backin.de/gumball/">bubblegum sequencer</a>, <a href="http://blog.makezine.com/archive/2008/04/jug_hero_maker_faire.html">Jug Hero</a>, <a href="http://people.ischool.berkeley.edu/~michael/artmosphere/">blowing virtual bubbles</a>, and <a href="http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/12/11/BAF214L2I2.DTL">others</a>. I haven&#8217;t had my innovative and great idea yet, but since we just got our kits today, I have a bit of time.</p>

<p>Now the main task is to get working with the new hardware and development environment. The language you use to program the Arduino board&#8212;also called Arduino&#8212;is based on C, which is a more low-level language than I have been using recently. (I spent the summer writing Javascript and Ruby, both of which are very high-level languages). Anyway, typically the first task in any programming language is getting the computer to display the message <a href="http://en.wikipedia.org/wiki/Hello_world_program">&#8220;Hello world&#8221;</a>.</p>

<p>My <em><a href="http://www.amazon.com/dp/159200346X">Physical Computing</a></em> textbook explains:</p>

<blockquote>
  <p>Anybody who has learned how to use a couple of different computer systems or programming languages will tell you that the hardest part is getting a computer to do anything at all. &#8230; In software, it&#8217;s traditional to prove your mastery of any environment by getting your program to say &#8220;Hello World!&#8221; The &#8220;Hello World!&#8221; message of the microcontroller is a blinking LED. Once you get the microcontroller to blink an LED, it&#8217;s all downhill from there.</p>
</blockquote>

<p>But a simple blinking LED didn&#8217;t seem like an appropriate start, especially since the newer Arduino boards are programmed at the factory to blink any connected LED. Once I finished fumbling with my breadboard and resistors and finally plugged in all the parts, my light started blinking automatically without me doing any programming at all. I decided that a better start would be to have my light blink &#8220;Hello world&#8221; in Morse code.</p>

<p>Like almost everyone, I know only enough <a href="http://en.wikipedia.org/wiki/Morse_code">Morse code</a> to do SOS, and it turns out I was doing even that wrong. Whenever I tap out SOS, I put longer delays between dashes than dots. That&#8217;s wrong&#8212;the delay between symbols that form a letter is supposed to be constant. The rules for timing are systematic:</p>

<blockquote>
  <p>International Morse code is composed of five elements:</p>

<ul>
<li>short mark, dot or &#8216;dit&#8217; (&middot;) &#8212; one unit long</li>
<li>longer mark, dash or &#8216;dah&#8217; (-) &#8212; three units long</li>
<li>intra-character gap (between the dots and dashes within a character) &#8212; one unit long</li>
<li>short gap (between letters) &#8212; three units long</li>
<li>medium gap (between words) &#8212; seven units long</li>
</ul>
</blockquote>

<p>I copied this timing information and the codes for all the letters from Wikipedia and implemented them as my first Arduino program. It took a bit longer than I expected because I&#8217;m not that familiar with C. Debugging was also tricky because I realized I had no idea what the Morse code for &#8220;Hello world&#8221; was supposed to look like! While I was debugging, I had to use SOS to see if everything was working properly.</p>

<p>Here&#8217;s what the end result looks like:</p>

<div class="photo highlight">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/I-5X8V-gLgY&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/I-5X8V-gLgY&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
</div>

<p>If you want to see the code behind my Morse, <a href="http://ryangreenberg.com/blog/archives/files/2009/09/hello_world_arduino.txt">here&#8217;s the source</a>. It&#8217;s messier than I would like because I couldn&#8217;t get <code>sizeof()</code> to operate as I expected.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>What is bad design?</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2009/05/bad-design-wastes-time.php" />
    <id>tag:www.ryangreenberg.com,2009://1.454</id>

    <published>2009-05-21T18:10:25Z</published>
    <updated>2009-05-21T18:10:28Z</updated>

    <summary>Bad design is ugly, it is inconvenient, it is frustrating, it is not well considered, but above all bad design wastes time.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>Bad design is ugly, it is frustrating, it doesn&#8217;t create joy, it is not well considered, but above all <em>bad design wastes time.</em> This isn&#8217;t to say that design is just about saving time: Good design can make you slow down, it can make you think, it can be about things besides efficiency. Good design makes you think as much as you should, <em>but no more</em>.</p>

<div class="photo horizontal">
    <a href="http://ryangreenberg.com/blog/archives/files/2009/05/ps3849.png" title="USPS Form 3849"><img class="noborder" src="http://ryangreenberg.com/blog/archives/files/2009/05/ps3849-thumbnail.png" alt="USPS Form 3849" /></a>
    <div class="photo-caption">This form is about the size of an index card.</div>
</div>

<p>I&#8217;m writing after a particular encounter with time-wasting bad design via the U.S. Postal Service&#8217;s form 3849. When a package cannot be delivered, the mail carrier leaves a orange slip that lets you request redelivery or go to pick up the package at the post office.</p>

<p>My girlfriend wasn&#8217;t home when the postman came earlier this week, so I went to pick up a package for her. She signed item 2 on the form, which is labeled &#8220;Sign here to authorize redelivery or to authorize an agent to sign for you.&#8221; I went to the post office, waited an hour, presented the signed slip, and was turned away: my name didn&#8217;t appear in the space for the agent&#8217;s name. &#8220;What?&#8221; I asked, &#8220;what space for the agent&#8217;s name?&#8221; &#8220;Right here,&#8221; the clerk told me, &#8220;it clearly says to write the agent&#8217;s name right here.&#8221;</p>

<div class="photo highlight">
    <a href="" title="Location of agent's name"><img src="http://ryangreenberg.com/blog/archives/files/2009/05/ps3849-agent-name.png" alt="Location of agent's name"></a>
</div>

<p>She was right. The words on the form clearly indicate that the agent&#8217;s name should be entered in the upper-right corner. The form&#8217;s visual language, however, contradicts these instructions. Once you follow the numbered list and sign in section 2, it doesn&#8217;t look like there is anything else you have to do. The space for the agent&#8217;s name is so tiny that a glance at the form would never suggest that you have to write anything there. This is bad design. Not only does it waste time because a person has to think too much about filling it out&#8212;Look at the instructions in section 1, for example, which tell you to fill out section 3, then come back to section 2&#8212;but it also wastes time when people wait in line with an improper form.</p>

<p>In my case, it wasted an hour. That&#8217;s bad design.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Live Blogging the I School Masters Presentations</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2009/05/mims-2009.php" />
    <id>tag:www.ryangreenberg.com,2009://1.453</id>

    <published>2009-05-14T23:05:01Z</published>
    <updated>2009-05-21T18:18:27Z</updated>

    <summary>As a culmination of two years of study at the School of Information, masters students present final projects that represent a significant work based on learning in the classroom. Next year I&apos;ll be giving one of these presentations, but this year I&apos;m just along for the ride.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p><strong>3:58</strong>. As a culmination of two years of study at the School of Information, masters students present <a href="http://www.ischool.berkeley.edu/newsandevents/events/20090514finalprojects">final projects</a> that represent a significant work based on learning in the classroom. Next year I&#8217;ll be giving one of these presentations, but this year I&#8217;m just along for the ride.</p>

<p>The first step is a lightning round where each group of students get two minutes to present an overview of their projects. The projects are separated into three tracks.</p>

<p>Love to chat, but it&#8217;s time to get started&#8230;</p>
]]>
        <![CDATA[<p><strong>4:06</strong>. Shawna, Hazel, Aylin start off with a dramatic sktch about their  &#8220;Doesn&#8217;t food just come from a package?&#8221; &#8220;I feel like every day there&#8217;s another food out there I can&#8217;t eat because of salmonella and e. coli. &#8230; all I want to do is buy healthy food that represents my values.&#8221; Squash and Vine, a new online social network that helps people connect with their local food community.</p>

<p><strong>4:07</strong>. Anuradha Roy on website metadata. Research project demonstrating the effects of sites publishing site metadata in an open format.</p>

<p><strong>4:09</strong>. Srikanth Narayan is looking at how to manage large-scale conversations and discussions online.</p>

<p><strong>4:10</strong>. Jon Hicks and Xiaomeng Zhong developed Hyoumanity to &#8220;flip the incentives of the medical diagnostic process.&#8221;</p>

<p><strong>4:12</strong>. Courseland from Mike Lee and Seung-Hyun Rhee. &#8220;Registering for courses for should be easy, right?&#8221; <em>Laughter from audience</em>. Actually, it takes about seven websites to get all the information to make it happen. It&#8217;s a difficult process, and past attempts to fix the process have failed. Instead of a top-down approach, Courseland proposes centralizing the data in one place allowing developers to create applications.</p>

<p><strong>4:13</strong>. Ashwin Matthew, a riveting tale called &#8220;Pass the Packet, Please?&#8221; about the social organization of network administration. &#8220;The network is just a cloud, right?&#8221; Ashwin is looking at the network administrators who make the system tick&#8212;how do they coordinate with one another?</p>

<p><strong>4:14</strong>. Knowledge Compass from Kathleen Lu and Ruchi Kumar. A project for the School of Information itself. How do schools reach out to alumni, offer career guidance, etc.?</p>

<p><strong>4:15</strong>. Nick Rabinowitz did work on OCHA SITREP, the documents used by the Organization for the Coordination of Humanitarian Efforts. For the last year, Nick and other students the School of Information have been looking at the situation reports created and used by this global community.</p>

<p><strong>4:17</strong>. Ashkan, Josh, and Travis&#8217;s project is KnowPrivacy, looking at the differences between people&#8217;s expectations of privacy online and actual practices. In their research, they examined privacy complaints to the FTC, data on third-party tracking, and information about affiliates.</p>

<p><strong>4:18</strong>. Devin Blong and Jon Breitbart worked on The Virtual Shelf, a project to create a digital library interface that capitalized on the affordance of the physical world.</p>

<p><strong>4:19</strong>. Anirban Sen and Pierre Tchetgen a project focused on ICTD, information and communication technology for developing regions. Past model is based on the view of the developing world as lacking something. The new approach of this project is to look at the richness of these regions.</p>

<p><strong>4:21</strong>. Shanna Epstein worked on &#8220;Building Collective Memories Online.&#8221; It&#8217;s like <em>Eternal Sunshine of the Spotless Mind.</em> Well, not quite, but still an important topic for organizations that collect memories online. Questions the democracy of the web.</p>

<p><strong>4:23</strong>. Deepti Chittamuru did a qualitative assessment of children in India and use of mobile phones. &#8220;Public education falls far short of providing education, especially in rural parts of India.&#8221; MILLEE focuses on educational games for children&#8217;s learning. Chock full of qualitative methods like participant observation.</p>

<p><strong>4:25</strong>. Isaac Salier-Hellendag did &#8220;Mapping San Francisco&#8217;s Photographic History,&#8221; aka &#8220;the San Francisco Wayback Machine.&#8221; Problems he examined: searching across lots of collections means using lots of interfaces, searches are limited, and there&#8217;s no community input. &#8220;I know that intersection!&#8221; So Isaac tried to solve these problems.</p>

<p><strong>4:27</strong>. And that&#8217;s the lightning round. We thank the advisors, and now it&#8217;s time for a reception and schmoozing before we break out for the full project descriptions at 5:15.</p>

<p><strong>5:07</strong>. My classmate Nick informed me that I was <a href="https://twitter.com/npdoty/statuses/1800250713">doing it wrong</a>. Apparently the latest entries go at the top. My bad. I&#8217;m rearranging the entries (Note: now that it&#8217;s over, I re-rearranged them in chronological order).</p>

<p><strong>5:11</strong>. All the projects are presented in three tracks: Social Networks and Collaboration, Organizational Issues, and Communication and Memory. Unfortunately all the tracks are presented simultaneously so there are some tough decisions to make about which presentations to attend. People are filling out the dance cards in the main foyer and we&#8217;re about to get started.</p>

<p><strong>5:13</strong>. I&#8217;m started in track 3, Communication and Memory, being moderated by Eric Kansa. Apparently we&#8217;ll be on a rigid schedule here to keep all the tracks synched up.<strong>5:14</strong>. The judges are in the room and introducing themselves, all alumni from the School of Informaton, one from 2005 and two from 2004.</p>

<p><strong>5:15</strong>. The first presentation is <a href="http://www.ischool.berkeley.edu/programs/masters/projects/2009/virtualshelf">Virtual Shelf</a> by Devin Blong and Jonathan Breitbart. Based on the information search process in the physical library, which plays an important part in information organization and retrieval.</p>

<p>Devin and Jon have been working with the <a href="http://openlibrary.org/">Open Library</a>, a site with the goal of having one page per library. It&#8217;s a wiki: anybody can add a new book.</p>

<p><strong>5:17</strong>. Looking at physical books on a shelf lets you see all kinds of metadata: title, author, size, color, etc.</p>

<p><strong>5:18</strong>. Data is from observing professionals at Berkeley Public Library and UC library system.</p>

<p><strong>5:20</strong>. Findings. The role of serendipity is important in physical libraries: &#8220;Finding what you don&#8217;t expect to find.&#8221; Users don&#8217;t know how to search. Google has spoiled field-based search, users just look for keywords.</p>

<p><strong>5:22</strong>. When people are looking for books about a topic, librarians suggest that they search a card catalog for titles of interest, write down the call numbers, and go look at that area of the shelves. They&#8217;ll probably find something interesting there.</p>

<p><strong>5:23</strong>. Devin and Jon built their first prototype in Flash and got feedback from the Open Library community. Demo time! You can see a demo at <a href="http://virtualshelf.org/">virtualshelf.org</a>. You&#8217;ll need Firefox 3 to make this demo work.</p>

<p><strong>5:28</strong>. You can search for books, create a custom bookshelf, and organize the books on the shelf in any way. Sort by author, title, even physical characteristics like thickness of the book (find quick reads!). &#8220;Can we sort by subject relevance?&#8221; a voice from the audience calls out. Librarians in the audience must be a tough crowd.</p>

<p><strong>5:31</strong>. The current interface that Jon and Devin have been working on has ditched Flash. Now they&#8217;re riding the Javascript train. It&#8217;s totally buzzword compliant: Ajax, RESTful URIs, Atom feeds of shelves, etc.</p>

<p><strong>5:33</strong>. And we&#8217;re done. Question time. &#8220;Develop something like CoverFlow?&#8221; Currently something like that doesn&#8217;t display the physical characteristics of the book. &#8220;What do the colors of spines represent?&#8221; Subjects, from LOC call numbers or subject fields matched against Amazon&#8217;s top level categories.</p>

<p><strong>5:43</strong>. Jumping over to the social networks track to Hazel, Shawna, and Aylin&#8217;s presentation on Squash and Vine. The final product is a social network designed to connect people creating a &#8220;safe and sustainable food system.&#8221;</p>

<p><strong>5:46</strong>. Problems: Diabetes and heart disease are leading causes of death in the U.S., monoculture in food growing, industrialized agriculture. People are working to combat these trends&#8212;independent producers and retailers&#8212;but it is difficult to get information to the people who need it: consumers.</p>

<p><strong>5:48</strong>. Aylin is telling us about the existing solutions that they looked at, sites like Foodoro, Hyperlocavore, Organic Nation, and Local Harvest. On some sites, information is very static. Other sites are interactive communities, but they&#8217;re focused on consumers. The missing gap that Squash and Vine fills is reaching producers <em>and</em> consumers and promoting dynamic information.</p>

<p><strong>5:50</strong>. Conducted dozens of hour-long interviews with producers, distributors, and consumers. Producers said that they wanted to focus on farming, but also develop an online presence at the same time. For new producers, sharing information about how to farm was particularly important. Retailers wanted to be able to source food from many producers efficiently&#8212;they see themselves as the middlemen between producers and consumers. Consumers wanted to know about their food. What&#8217;s the story, what grows when? Not knowing the seasons that certain food grows was an issue.</p>

<p><strong>5:53</strong>. The solution: an online community that lets these groups develop relationships over time, low cost and high efficiency.</p>

<p><strong>5:55</strong>. Tons of prototype sketches. Dozens.</p>

<p><strong>5:57</strong>. Features for producers. Farmers wanted people to know information about them and their location. Farm profile pages, and simple, Twitter-style updates that let farmers give quick status updates about what&#8217;s going on. Oh, cool idea: most farmers have cell phones and the idea of providing audio updates from the field emerged. This would let farmers communicate with one another and get advice.</p>

<p><strong>6:00</strong>. Retailers don&#8217;t have space on their menus to tell interested consumers where food comes from, but Squash and Vine lets them do that. A screenshot shows &#8220;Poulet Henry, with carrots at such-and-such farm, etc.&#8221;</p>

<p><strong>6:02</strong>. For consumers, they can examine the local &#8220;food web&#8221; and see what&#8217;s being grown at farms in the area. They can also follow favorite foods&#8212;I&#8217;d do peaches, best fruit ever&#8212;and learn when they become available.</p>

<p><strong>6:04</strong>. They&#8217;ve been demoing the web interface, but there are APIs for more open access. Other students have been working on other interfaces, like an iPhone app.</p>

<p><strong>6:06</strong>. Question time! By the way, the site is <a href="http://squashandvine.org/">squashandvine.org</a>. &#8220;Is the end result just the website?&#8221; Well, there&#8217;s also a 95 (!) page report.</p>

<p>&#8220;What surprised you most about your findings?&#8221; Great question&#8212;there are always surprises when you actually talk to people. The passion and time producers put into growing food, also the number of logistic steps involved into getting food to market. For example, to sell organic pork, a rancher had to take a pig to an organic slaughter house, then to an organic processing plant.</p>

<p><strong>06:12</strong>. Where did the name come from? Well, squash is an American vegetables, one of the three sister crops that Native Americans would grow: maize, beans, and squash. Maize would provide the stalk that beans would grow up, the beans would infuse the soil with nitrogen, and squash would provide the ground cover preventing weed growth. They liked the synergistic connotation of the whole process. Plus, farmers didn&#8217;t want to be associated with vegetables that anybody can produce like salad greens.<strong>6:15</strong>. Jumping tracks again to room 202 where Ruchi and Kathleen are talking up <a href="http://www.ischool.berkeley.edu/programs/masters/projects/2009/knowledgecompass">Knowledge Compass</a>. Orient students towards their professional or academic goals. You know, like a compass. I need to sign up with this program.</p>

<p>They&#8217;re reading some key quotes from discussions with stakeholders, nice touch.</p>

<p>&#8220;I don&#8217;t know what courses to take&#8212;it&#8217;s like a scattershot.&#8221;</p>

<p>&#8220;I don&#8217;t subscribe to any mailing lists and I don&#8217;t care.&#8221;</p>

<p>&#8220;Nobody responds to mailings.&#8221;</p>

<p><strong>6:20</strong>. Currently people are using a bunch of methods to (try to) keep in touch. Some are top-down, like our internal mailing and grassroots efforts like LinkedIn and some past iSchool projects.</p>

<p><strong>06:22</strong>. Two features: course recommender, like Amazon&#8217;s book recommendations. You tell it what your career goals are and the system recommends some courses you might be interested in. A mentor matcher, like Match.com minus the dating, that would help students connect with alumni with similar interests to tap their knowledge.</p>

<p><strong>6:25</strong>. Competitive analysis across five institutions that offer masters programs. The UC Berkeley School of Information, I Schools at peer institutions, and the Haas School of Business. In almost all areas, the business school blew other programs out of the water in terms of alumni outreach, course guidance, and so forth. What was surprising was that our I School did comparatively poorly against similar programs.</p>

<p><strong>6:28</strong>. Kathleen and Ruchi evaluated institutions using Morten Hansen&#8217;s framework: hoarding, not-invented-here, knowledge transfer, and search. We even get a plug: Prof. Hansen&#8217;s book on this topic, <a href="http://www.amazon.com/Collaboration-Leaders-Avoid-Create-Results/dp/1422115151/ref=sr_1_1">Collaboration: How Leaders Avoid the Traps, Create Unity, and Reap Big Results</a>, was published this week.</p>

<p><strong>6:29</strong>. &#8220;We shouldn&#8217;t assume that technical solutions will actually solve problems.&#8221; Nice table of recommendations with the associated barriers that each one reduces. By the way, the slides and final reports are available for most of these presentations, so you don&#8217;t have to take my word for it&#8212;<a href="http://www.ischool.berkeley.edu/files/student_projects/Knowledge_Compass_Final_Report.pdf">grab the Knowledge Compass report</a>.</p>

<p><strong>6:34</strong>. We&#8217;re looking at mockups of solutions. One example is a course recommender that draws alumni job data from external databases like LinkedIn, joins it with internal data about what courses students took, to let you know what graduates in specific fields studied at the I School. Clever use of data from multiple sources.</p>

<p><strong>6:40</strong>. It&#8217;s break time: more presentations on the 7 spot.</p>

<p><strong>7:02</strong>. This session was another tough call, but I&#8217;m sitting in on Nick Rabinowitz&#8217;s presentation on OCHA Sitrep, in part because he produced fantastic icons for his presentation. I&#8217;d also love to see Srikanth&#8217;s talk on <a href="http://www.ischool.berkeley.edu/programs/masters/projects/2009/onlinediscussion">Large Scale Discussion Spaces</a>.</p>

<p><strong>7:04</strong>. This project is like Where in the World is Carmen Sandiego. Nick, past masters students, and two Ph.D. students conducted interviews in New York, Geneva, Nairobi&#8230;. They&#8217;ve been talking to UN agencies and other humanitarian organizations about writing situation reports (among other topics).</p>

<p><strong>7:05</strong>. Great quote: many people in interviews said that it was &#8220;out of scope&#8221; to deal with political and organizational issues, so they just focused on the technical solution.</p>

<p><strong>7:07</strong>. Humanitarian crises in 60 seconds: when you have a disaster too big for a country, you have a response that includes NGOs, UN agencies, the Red Cross, other governments, and donors. All of these groups are coordinated by OCHA, who tries to bring information from various groups to a central place for sharing. Agents in the field assemble a report&#8212;a sitrep or situation report&#8212;and share it with OHCA, which communicates the info to organization headquarters in Europe.</p>

<p><strong>7:14</strong>. Sitreps are affected by The Numbers Game. It&#8217;s notoriously difficult to estimate the number of people affected by a disaster, but this number is the basis for determine the amount of aid and intervention. Local governments are often a source of distortion of numbers, although the effect can go both ways. Sometimes governments want to show that they have control of a situation, tending to minimize the number of people affected. This can lead to disparities of orders of magnitude (5,000 people affected vs. 500,000).</p>

<p><strong>7:16</strong>. Have I mentioned Nick&#8217;s icons yet? These are great slides&#8212;they don&#8217;t duplicate anything that Nick is saying. The slides aren&#8217;t available yet, but you can download <a href="http://www.ischool.berkeley.edu/files/student_projects/Rabinowitz_Sitrep_2009.pdf">Nick&#8217;s report</a>.</p>

<p><strong>7:18</strong>. Last theme, since we&#8217;ve just got two minutes left. Clearance, having authorities review a document adds overhead at multiple parts of the process. &#8220;In some cases, getting clearance from all the involved organizations could take a week,&#8221; though situations may be changing day to day or hourly.</p>

<p><strong>7:22</strong>. Potential solutions: 1. make sitreps a closed system, or 2. establish a neutral broker for information, or 3. created a shared space to build consensus in the field about the contents of sitreps.</p>

<p><strong>7:24</strong>. Is this as interesting to you as reading a live blog of, say, an iPhone keynote? I&#8217;m guessing the answer is a resounding yes. Let&#8217;s keep going.</p>

<p><strong>7:26</strong>. Oh, nice strategic move: whenever a judge asks a question, start your answer with &#8220;That&#8217;s a good question.&#8221; File that one away for next year.</p>

<p><strong>7:30</strong>. Last presentation, this one is <a href="http://knowprivacy.org/">KnowPrivacy</a> from Josh Gomez, Travis Pinnick, and Ashkan Soltani. We&#8217;re off to a quick start: The FTC is dropping the hammer. According to the FTC commissioner, &#8220;this could be the industry&#8217;s last clear chance to show that self regulation can work.&#8221;</p>

<p><strong>7:33</strong>. These guys took a two-part approach, starting with researching user expectations. They studied the FTC database of consumer complaints. The biggest concern consumers had was a lack of user control, followed by issues with public display of information.</p>

<p><strong>7:36</strong>. The big winner of the FTC complaints data&#8212;the company complained about more than any other&#8212;was <a href="http://zabasearch.com">Zabasearch</a>. A San Francisco Chronicle columnist wrote, &#8220;It&#8217;s scary what Zabasearch can do.&#8221;</p>

<p><strong>7:39</strong>. Many companies say they don&#8217;t share data with third-parties, but they do share data with affiliates. For example, MySpace is owned by News Corp, which also own Fox, Hulu&#8230;and 1500 other companies, where personal data can flow freely.</p>

<p><strong>7:41</strong>. Company also track user browsing using <em>beacons</em>, code embedded in sites that reports a user&#8217;s IP and other information. Some domains like <a href="http://blogspot.com">Blogspot</a> have a hundred or more beacons. Beacons like Google Analytics are common on almost every site. In the top thousand domains, Google is responsible for around 80% of the tracking beacons.</p>

<p><strong>7:46</strong>. Time for recommendations. Website owners should give users access to data like credit bureaus, listing all the companies data has been shared with regardless of affiliation. A new standardized term should be mandated for privacy policies. &#8220;Users see &#8216;privacy policy&#8217; and they think, &#8216;Oh, my privacy&#8217;s protected.&#8217;&#8221; Maybe data collection policy?</p>

<p><strong>7:49</strong>. Question time: &#8220;How do you plan to tell users what data is being collected if they don&#8217;t even know what a beacon or a cookie is?&#8221; Like users get a credit report, they could receive a behavioral report about their tracked behavior. And a curveball: &#8220;If you connect to a VPN using a wireless network, are you protected from a port scan?&#8221; Yowza.</p>

<p><strong>7:55</strong>. And that just about wraps up the evening. Unfortunately, for every presentation I went to there were two I didn&#8217;t get to, and based on the lightning round, there was a lot of good stuff here tonight. Hope you enjoyed this look at some of the work students at the School of Information are doing.</p>
]]>
    </content>
</entry>

<entry>
    <title>Missing Tweets</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2009/04/missing-tweets.php" />
    <id>tag:www.ryangreenberg.com,2009://1.452</id>

    <published>2009-04-25T00:41:52Z</published>
    <updated>2010-03-16T19:39:55Z</updated>

    <summary>While looking at my Twitter homepage a week ago I noticed that tweets were missing from my user timeline. I built this tool to help people check if they are missing any updates.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>While looking at <a href="http://twitter.com">Twitter</a> last week I noticed that updates were missing from my user timeline. According to Twitter, I didn&#8217;t post anything between March 20 and April 9. Through a little investigative coding (and some help from <a href="http://twistory.net">Twistory</a>, I found that my updates were still part of the Twitter system, but not associated with my user timeline. For instance, I posted <a href="http://twitter.com/greenberg/statuses/1430041402">this message</a> on April 1, but if you look at that part of my <a href="http://twitter.com/greenberg/">user timeline</a>, it doesn&#8217;t appear.</p>

<p>Twitter has closed the <a href="http://help.twitter.com/forums/31935/entries/27717">support ticket</a> on this issue, but my problem isn&#8217;t solved. I opened my own support ticket, but the only advice I&#8217;ve received so far has been about changing my bio.</p>

<p>Since Twitter is such a large service, fixing this problem probably isn&#8217;t a high priority if it only affects a couple people. But it&#8217;s hard to know if it affects you unless you feel like going through all your messages and counting. Since computers are pretty decent when it comes to counting, I built <a href="http://ryangreenberg.com/projects/missingtweets/">Missing Tweets</a> to help people check if they are missing any updates. The script works on the assumption that Twitter still maintains the correct total count for a user&#8217;s updates. This is true in my case: Twitter says I have made 993 updates, but only 955 show up in my user timeline. That means that 38 are missing.</p>

<p>Most people I have tested this script on aren&#8217;t missing any tweets, but a few are. Test it on yourself, and let Twitter know if you are missing tweets.</p>

<p>This doesn&#8217;t work if you have more than 3200 tweets. You can still use Missing Tweets even if your account is protected. Your browser will prompt you for your username and password. This communication is happening directly between your computer and Twitter; my site isn&#8217;t involved in any way.</p>

<p><em>Update (2009-05-02): All of my tweets have been reconnected with my user timeline. I&#8217;m not missing any more tweets, but you can still check if you are.</em></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Crossing the Golden Gate Bridge</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2009/04/crossing-golden-gate.php" />
    <id>tag:www.ryangreenberg.com,2009://1.451</id>

    <published>2009-04-20T08:44:02Z</published>
    <updated>2009-08-20T17:33:10Z</updated>

    <summary>Notwithstanding the incident where someone stole my bike and I found the thief and stole it back , it has lead a provincial life. But this weekend, Caitlin and I decided to try out our wheels in the big city.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<div class="photo vertical">
    <a href="http://www.flickr.com/photos/ryangreenberg/3458929458/" title=""><img src="http://farm4.static.flickr.com/3653/3458929458_42a66002c1_m.jpg" alt="" /></a>
    <div class="photo-caption">There is a dedicated lane for cyclists on the west side of the bridge.</div>
</div>

<p>I bought a Kona bike last fall, and notwithstanding the incident where someone stole it and I found the thief and stole it back (another story&#8212;ask me later), it has lead a provincial life. During the week I ride it a couple of miles to campus and back each day. I put on some extra mileage when I run errands. Every now and then Caitlin and I will ride around town, either along sleepy <a href="http://www.ci.berkeley.ca.us/ContentDisplay.aspx?id=6694">Bicycle Boulevards</a>, over the <a href="http://www.flickr.com/photos/ryangreenberg/3458922242/">I-80 bridge</a> and along the bay, across the <a href="http://en.wikipedia.org/wiki/Ohlone_Greenway">Ohlone Greenway</a>, or in the rolling Berkeley Hills. But this weekend, Caitlin and I decided to try out our wheels in the big city.</p>

<p>Our plan was to ride across the Golden Gate Bridge. Since we haven&#8217;t perfected the ride-across-the-water technique, we boarded BART with our bikes Saturday morning. It&#8217;s nice to have the option of taking your bike into San Francisco using public transportation. Once we arrived at the Embarcadero station, we rode along Market to the Ferry Building where we checked out the Saturday <a href="http://www.cuesa.org/markets/days/saturday.php">farmers&#8217; market</a>. After sampling a tasty blood orange, we barreled down Embarcadero.</p>
]]>
        <![CDATA[<p>At our first stop light, it became apparent that we weren&#8217;t the only ones with the idea of a Saturday morning ride: nine other bikers were stopped in the bike lane. They clearly weren&#8217;t seasoned pros, though, which I deduced when the guy in front of me turned around and asked, &#8220;Are we supposed to stop at the lights?&#8221; Every third person we saw was riding a rental from <a href="http://www.blazingsaddles.com/">Blazing Saddles</a>. The bikes they rent looked nice enough, but they don&#8217;t seem to rent common sense with them. Part of the ensuing challenge was dodging tourist bikers as they decided to (a) stop suddenly, (b) start suddenly, (c) drive towards you head-on in a low-speed but still terrifying game of chicken.</p>

<div class="photo highlight">
    <a href="http://www.flickr.com/photos/ryangreenberg/3458928896/" title="Riding on a cloud"><img src="http://farm4.static.flickr.com/3632/3458928896_b9af2112a5.jpg" alt="Riding on a cloud" /></a>
    <div class="photo-caption">Looking out towards the Pacific from the west side of the bridge.</div>
</div>

<p>We followed the Bay Trail along the piers, through Fisherman&#8217;s Wharf, down a nameless park, and eventually up to the south end of the Golden Gate Bridge. Crossing the bridge was almost surreal. Even at midday, a swath of fog wrapped around the structure. It felt like riding on a cloud. It felt like it too: the winds whipped across the bridge and the temperature while crossing was easily 10&deg; cooler than that on either side. </p>

<div class="photo horizontal">
    <a href="http://www.flickr.com/photos/ryangreenberg/3458931712/" title="Balancing rocks by the Sausalito shore"><img src="http://farm4.static.flickr.com/3658/3458931712_2a9a28941e_m.jpg" alt="Balancing rocks by the Sausalito shore" /></a>
    <div class="photo-caption">Along the main drag, a man began balancing rocks in an impromptu performance.</div>
</div>

<p>Once we crossed the bridge we rode down into Sausalito. The road sloped downward steeply which made for an exhilarating descent, diminished only by the thought of climbing back up the hill. As we rode though Sausalito I found myself immediately charmed by the town. After I saw <a href="http://www.flickr.com/photos/ryangreenberg/3458930570/">a sign</a> in the town plaza, my opinion was cemented: Sausalito&#8217;s sister city is <a href="http://www.flickr.com/photos/ryangreenberg/164351845/">Vi&ntilde;a del Mar, Chile</a>, which is just a couple hours away from my one-time home in that slender country.</p>

<p>A ferry connects Sausalito with downtown San Francisco, which provided an attractive alternative to the uphill return. After a thorough discussion of the pros and cons of the ferry (con: it cost money), we opted for the cheaper route home. As we geared up for the ride back, we could see the San Francisco skyline, still blanketed by fog at 3 o&#8217;clock in the afternoon.</p>

<div class="photo wide">
<a href="http://www.flickr.com/photos/ryangreenberg/3458930894/" title="Foggy San Francisco from Sausalito"><img src="http://ryangreenberg.com/blog/archives/files/2009/04/san-francisco-pano.jpg" alt="Foggy San Francisco from Sausalito"></a>
<div class="photo-caption"><span>The fog made it look as if someone had dragged an eraser across the horizon.</span></div>
</div>

<p>A couple hours later, we were back on the BART, headed home.</p>

<div class="hr"><hr></div>

<div class="photo highlight">
<a href="http://ryangreenberg.com/blog/archives/files/2009/04/bike-ride-google-earth.jpg" title="Google Earth map of ride"><img src="http://ryangreenberg.com/blog/archives/files/2009/04/bike-ride-google-earth-500.jpg" alt="Google Earth map of ride"></a>
</div>

<p><em>I plotted our ride in Google Earth, which makes it fun to explore different views of the path. According to the route, the roundtrip distance was about 20 miles. If you have Google Earth installed, you can <a href="http://ryangreenberg.com/blog/archives/files/2009/04/bike-ride-418.kmz">download our route</a>.</em></p>
]]>
    </content>
</entry>

<entry>
    <title>Copyright, Fair Use, and The Far Side</title>
    <link rel="alternate" type="text/html" href="http://ryangreenberg.com/archives/2009/02/far-side-fair-use.php" />
    <id>tag:www.ryangreenberg.com,2009://1.448</id>

    <published>2009-02-25T20:58:17Z</published>
    <updated>2009-02-25T20:59:16Z</updated>

    <summary>In June 2007 I wrote a blog entry where I reproduced the June 21 page from my Far Side day calendar. Four months later, I received an email from FarWorks, a company claiming responsibility for licensing Far Side cartoons.</summary>
    <author>
        <name>Ryan</name>
        
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://ryangreenberg.com/">
        <![CDATA[<p>This semester I&#8217;m taking a course called <a href="http://www.ischool.berkeley.edu/programs/courses/205">Information Law and Policy</a> where we review court cases and laws related to, well, information. Our professor assured us that we would be completely unqualified to sit for the bar in May, but that we would understand some of the relevant issues about copyright, liability, fair use, and so forth. In other words, we should have some idea of when to consult a lawyer.</p>

<p>A few weeks ago we discussed fair use, a provision of copyright law that allows people to reproduce copyrighted works under certain conditions. There isn&#8217;t an clearly itemized checklist of when fair use applies; it depends on things like &#8220;the nature of the copyrighted work&#8221; and the use&#8217;s effect on the market for the original work. Our discussion made me think about a blog post I made almost two years ago.</p>
]]>
        <![CDATA[<p>In June 2007 I wrote &#8220;<a href="http://www.ryangreenberg.com/archives/2007/06/hemispherist_humor.php">Hemispherist Humor</a>,&#8221; where I reproduced the June 21 page from my Far Side day calendar. I was showing that the calendar said &#8220;First Day of Summer&#8221; while I was experiencing the first day of winter.</p>

<p>Four months later, I received an email from FarWorks, a company claiming responsibility for licensing Far Side cartoons. The woman who wrote to me asked that I read an <a href="http://www.chillingeffects.org/fairuse/notice.cgi?NoticeID=2209">attached letter</a> from Gary Larson, and respect his wished by removing the cartoon from my site. The letter from Gary Larson, written to a general audience, expressed that he was flattered people wanted to post his cartoons online, but also that he was conflicted by the financial impact and &#8220;the intangible impact, the emotional cost to me, personally, of seeing my work collected, digitized, and offered up in cyberspace beyond my control.&#8221;</p>

<p>I barely even read the email before I edited the post and removed the reproduced cartoon&#8212;the last thing I needed was some kind of copyright infringement lawsuit.</p>

<p>Now after learning some of the criteria for fair use, I don&#8217;t know if I had to remove the cartoon. If I had to do it again, I&#8217;d probably still take it down. Legality aside, I didn&#8217;t need it to illustrate my point and Larson made a civil request not to reuse it. What I&#8217;ve learned, however, is that he doesn&#8217;t have the right to restrict reuse completely. Once you publish something you give up some control over how people will actually use it. Practically you can&#8217;t monitor all the little things people might do with your work, and legally people are entitled to reuse it under certain fair use conditions.</p>

<p>Would my case have fallen under fair use? Perhaps, but I&#8217;m not a lawyer and it wasn&#8217;t worth the risk. There is an irony, though: I didn&#8217;t even think that day&#8217;s cartoon was particularly funny.</p>
]]>
    </content>
</entry>


</feed>

