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

<channel>
	<title>blprnt.blg &#187; Processing</title>
	<atom:link href="http://blog.blprnt.com/topic/Processing/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.blprnt.com</link>
	<description>There is an art to evolution...</description>
	<lastBuildDate>Mon, 08 Mar 2010 00:01:05 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Missing Piece of the OpenData / OpenGov Puzzle: Education</title>
		<link>http://blog.blprnt.com/blog/blprnt/the-missing-piece-of-the-opendata-opengov-puzzle-education</link>
		<comments>http://blog.blprnt.com/blog/blprnt/the-missing-piece-of-the-opendata-opengov-puzzle-education#comments</comments>
		<pubDate>Sun, 07 Mar 2010 23:46:35 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Information Visualization]]></category>
		<category><![CDATA[Journalism]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[opendata]]></category>
		<category><![CDATA[opengov]]></category>
		<category><![CDATA[pipedream]]></category>
		<category><![CDATA[policy]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=1019</guid>
		<description><![CDATA[Yesterday, I tweeted a quick thought that I had, while walking the dog:

A few people asked me to expand on this, so let&#8217;s give it a try:
We are facing a very different data-related problem today than we were facing only a few years ago. Back then, the call was solely for more information. Since then, [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I <a href="http://www.twitter.com/blprnt">tweeted</a> a quick thought that I had, while walking the dog:</p>
<p><img class="alignnone size-medium wp-image-1020" title="Picture 5" src="http://blog.blprnt.com/wp-content/uploads/2010/03/Picture-5-500x67.png" alt="Picture 5" width="500" height="67" /></p>
<p>A few people asked me to expand on this, so let&#8217;s give it a try:</p>
<p>We are facing a very different data-related problem today than we were facing only a few years ago. Back then, the call was solely for more information. Since then, corporations and governments have started to answer this call and the result has been a flood of data of all shapes and sizes. While it&#8217;s important to remain on track with the goal of making data available, we are now faced with a parallel and perhaps more perplexing problem: What do we do with it all?</p>
<p>Of course, an industry has developed around all of this data; start-ups around the world are coming up with new ideas and data-related products every day. At the same time, open-sourcers are releasing helpful tools and clever apps by the dozen. Still, in a large part these groups are looking at the data with fiscal utility in mind. It seems to me that if we are going to make the most of this information resource, it&#8217;s important to bring more people in on the game &#8211; and to do that requires education.</p>
<p>At the post-secondary level, efforts should be made to educate academics for whom this new pile of data could be useful: journalists, social scientists, historians, contemporary artists, archivists, etc. I could imagine cross-disciplinary workshops teaching the basics:</p>
<ol>
<li>A survey of what kind of data is available, and how to find it.</li>
<li>A brief overview of common data formats (CSV, JSON, XML, etc).</li>
<li>An introduction to user-friendly exploration tools like <a href="http://manyeyes.alphaworks.ibm.com/manyeyes/">ManyEyes</a> &amp; <a href="http://www.tableausoftware.com/public/">Tableau</a></li>
<li>A primer in <a href="http://www.processing.org">Processing</a> and how it can be used to quickly prototype and build specialized visualization tools.</li>
</ol>
<p>The last step seems particularly important to me, as it encourages people to think about new ways to engage with information. In many cases, datasets that are becoming available are novel in their content, structure, and complexity &#8211; encouraging innovation in an academic framework is essential. Yes, we do need to teach people how to make bar graphs and scatter charts; but let&#8217;s also facilitate exploration and experimentation.</p>
<p>Why workshops? While this type of teaching could certainly be done through tutorials, or with a well-written text book, it&#8217;s my experience that teaching these subjects is much more effective one-on-one. This is particularly true for students who come at data from a non-scientific perspective (and these people are the ones that we need the most).</p>
<p>The long-term goal of such an initiative would be to increase data-literacy. In a perfect world, this would occur even earlier &#8211; at the highschool level. Here&#8217;s where I put on my utopian hat: teaching data literacy to young people would mean that they could find answers to their own questions, rather than waiting for the media to answer those questions for them. It also teaches them, in a practical way, about transparency and accountability in government. The education system is already producing a generation of bloggers and citizen journalists &#8211; let&#8217;s make sure they have the skills they need to be dangerous. Veering a bit to the right, these are hugely valuable skills for workers in an &#8216;idea economy&#8217; &#8211; a nation with a data-literate workforce is a force to be reckoned with.</p>
<p>Ideally this educational component would be build in to government projects like data.gov or data.hmg.gov.uk (are you listening, Canada?). More than that, it would be woven into the education mandate of governments at federal and local levels. Of course, I&#8217;m not holding my breath.</p>
<p>Instead, I&#8217;ve started to plan a bit of a project for the summer. Like last year, I taught a series of workshops at my studio in Vancouver, which were open to people of all skill levels. This year, I&#8217;m going to extend my reach a bit and offer a couple of <strong>free</strong>, online presentations covering some of the things that I&#8217;ve talked about in this post. One of these workshops will be specifically targeted to youth. At the same time, I&#8217;ll be publishing course outlines and sample materials for my sessions so that others can host similar events.</p>
<p>Stay tuned for details &#8211; and if you have any questions or would like to lend a hand, feel free to leave a comment or <a href="mailto:blprnt@blprnt.com">get in touch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/the-missing-piece-of-the-opendata-opengov-puzzle-education/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>State of the Union(s)</title>
		<link>http://blog.blprnt.com/blog/blprnt/state-of-the-unions</link>
		<comments>http://blog.blprnt.com/blog/blprnt/state-of-the-unions#comments</comments>
		<pubDate>Thu, 28 Jan 2010 06:12:21 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Journalism]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[nytimes]]></category>
		<category><![CDATA[obama]]></category>
		<category><![CDATA[state of the union]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=1015</guid>
		<description><![CDATA[
I was asked at the end of last week to produce a graphic for the Opinion page today &#8211; the idea was to compare the texts of various &#8217;state of the union&#8217; addresses from around the world. The final result (pictured above) is not extraordinarily data-heavy. It worked quite nicely in the printed layout, where [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/blprnt/4309607264/" title="New York Times, 01/27/10 - State of the Union Graphic by blprnt_van, on Flickr"><img src="http://farm5.static.flickr.com/4034/4309607264_03b98784d8.jpg" width="500" height="465" alt="New York Times, 01/27/10 - State of the Union Graphic" /></a></p>
<p>I was asked at the end of last week to produce a graphic for <a href="http://www.nytimes.com/2010/01/27/opinion/27state-of-the-world.html">the Opinion page toda</a>y &#8211; the idea was to compare the texts of various &#8217;state of the union&#8217; addresses from around the world. The final result (pictured above) is not extraordinarily data-heavy. It worked quite nicely in the printed layout, where the individual &#8216;tentacles&#8217; trailed to the text of the speeches that they index.</p>
<p>The process behind this piece was relatively simple. Each speech was indexed using a Processing application that I wrote which counts the frequency of individual names (the program ignores commonly used or unimportant words). The words for each speech were then ranked by mentions per thousand words (you can see a version of the piece with numbers <a href="http://www.flickr.com/photos/blprnt/4308870277/in/photostream/">here</a>)</p>
<p>Almost every project I work on involves a period of &#8216;data exploration&#8217; in which I try shake as many interesting things out of the information as I can. Even though this piece had a short turn-around, I did a fair amount of poking around, generating some simple bar graphs:</p>
<p><a href="http://www.flickr.com/photos/blprnt/4310264839/" title="State of the Union Graphs by blprnt_van, on Flickr"><img src="http://farm5.static.flickr.com/4046/4310264839_bfaab20523.jpg" width="500" height="499" alt="State of the Union Graphs" /></a></p>
<p>Another avenue I explored was to use the word weights to determine a &#8217;score&#8217; for each sentence. By doing this, I can try to find the &#8216;kernel&#8217; of the speech &#8211; the sentence that sums up the entire text in the most succinct way. This, I think was fairly successful. Here are the &#8216;power sentences&#8217; for the UK:</p>
<p><a href="http://www.flickr.com/photos/blprnt/4310297221/" title="SOTU analysis - Sentence Weighting- UK by blprnt_van, on Flickr"><img src="http://farm3.static.flickr.com/2721/4310297221_451b40a12d.jpg" width="500" height="103" alt="SOTU analysis - Sentence Weighting- UK" /></a></p>
<p>The Netherlands:</p>
<p><a href="http://www.flickr.com/photos/blprnt/4311034678/" title="SOTU analysis - Sentence Weighting - Netherlands by blprnt_van, on Flickr"><img src="http://farm3.static.flickr.com/2760/4311034678_604e9bc7ae.jpg" width="500" height="87" alt="SOTU analysis - Sentence Weighting - Netherlands" /></a></p>
<p>And Botswana:</p>
<p><a href="http://www.flickr.com/photos/blprnt/4310297241/" title="SOTU analysis - Sentence Weighting - Botswana by blprnt_van, on Flickr"><img src="http://farm5.static.flickr.com/4030/4310297241_4600853a10.jpg" width="500" height="86" alt="SOTU analysis - Sentence Weighting - Botswana" /></a></p>
<p>Which brings us to tonight&#8217;s State of the Union Address by Barack Obama. What was the &#8216;power sentence&#8217; from this speech? I ran the weighting algorithm on the address and this is what it came up with:</p>
<p><a href="http://www.flickr.com/photos/blprnt/4310312761/" title="The Most Important Sentence From Obama's State of the Union Address? by blprnt_van, on Flickr"><img src="http://farm3.static.flickr.com/2802/4310312761_e47b9a0ed0.jpg" width="500" height="74" alt="The Most Important Sentence From Obama's State of the Union Address?" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/state-of-the-unions/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Unlucky Haiti (1981-2009)</title>
		<link>http://blog.blprnt.com/blog/blprnt/unlucky-haiti-1981-2009</link>
		<comments>http://blog.blprnt.com/blog/blprnt/unlucky-haiti-1981-2009#comments</comments>
		<pubDate>Thu, 14 Jan 2010 06:01:51 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Information Visualization]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[data vizualization]]></category>
		<category><![CDATA[disaster]]></category>
		<category><![CDATA[haiti]]></category>
		<category><![CDATA[new york times]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=995</guid>
		<description><![CDATA[
I was very much moved by Maggie Steber&#8217;s photo essay in The New York Times, titled &#8216;No End of Trouble. Ever.&#8216;
The essay talks about Haiti&#8217;s violent history, and of the countries incredible tendency towards misfortune:
&#8220;How can nature or God or the fates or the universe do this to a country that has borne far too [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Unlucky Haiti (1981-2010) by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4272834797/"><img src="http://farm5.static.flickr.com/4037/4272834797_eaa39f95fc.jpg" alt="Unlucky Haiti (1981-2010)" width="500" height="443" /></a></p>
<p>I was very much moved by Maggie Steber&#8217;s photo essay in The New York Times, titled &#8216;<a href="lens.blogs.nytimes.com/2010/01/13/showcase-109/">No End of Trouble. Ever.</a>&#8216;</p>
<p>The essay talks about Haiti&#8217;s violent history, and of the countries incredible tendency towards misfortune:</p>
<blockquote><p>&#8220;How can nature or God or the fates or the universe do this to a country that has borne far too much sadness? An earthquake has now devastated the capital; claiming lives, hopes and the pitifully small dreams that people have held on to, despite political violence, unimaginable poverty, disease, corruption, dictators and nature’s full force of four hurricanes in a row.&#8221;</p></blockquote>
<p>I built this very quick visualization to explore this topic a little further. Specifically, I wanted to compare Haiti to its Caribbean neighbours to see if the country is indeed as unlucky as it seems.</p>
<p>This visualization compares Haiti to 12 other Caribbean nations. It looks at articles published in the New York Times mentioning those countries between 1981 and 2010, and measures the occurence of specific words in those articles.</p>
<p>The pie charts in each row show the percentage of total articles on each country which contain the words in question. For example, we can see that about 25% of articles published about Haiti mention the word &#8216;violence&#8217; &#8211; twice the frequency of any other country on the list.</p>
<p>Haiti has the highest frequency of the words &#8216;coup&#8217;, &#8216;violence&#8217;, &#8216;disease&#8217;, and &#8217;strife&#8217;. It is second or third in mentions of &#8216;death&#8217;, &#8216;unrest&#8217; and &#8216;famine&#8217;.</p>
<p>Likely this week&#8217;s events will lead to many more mentions of these words. As you&#8217;re likely aware, many NGOs small and large are organizing to help Haitians &#8211; both through emergency assistance and through long-term rebuilding. If you want to donate, I&#8217;d highly recommend considering <a href="http://www.architectureforhumanity.org/">Architecture for Humanity</a> (for long-term projects) or <a href="http://www.pih.org/">Partners in Health</a> (for emergency assistance). Both organizations are accepting donations through their websites.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/unlucky-haiti-1981-2009/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Two Sides of the Same Story: Laskas &amp; Gladwell on CTE &amp; the NFL</title>
		<link>http://blog.blprnt.com/blog/blprnt/two-sides-of-the-same-story-laskas-gladwell-on-cte-the-nfl</link>
		<comments>http://blog.blprnt.com/blog/blprnt/two-sides-of-the-same-story-laskas-gladwell-on-cte-the-nfl#comments</comments>
		<pubDate>Mon, 09 Nov 2009 04:56:58 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Information Visualization]]></category>
		<category><![CDATA[Journalism]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[dataviz]]></category>
		<category><![CDATA[gq]]></category>
		<category><![CDATA[infoviz]]></category>
		<category><![CDATA[jeanne marie laskas]]></category>
		<category><![CDATA[malcolm gladwell]]></category>
		<category><![CDATA[the new yorker]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=953</guid>
		<description><![CDATA[
In October, I read a fascinating article on GQ.com about head injuries among former NFL players. Written by Jeanne Marie Laskas, the article was a forensic detective story, documenting a little known doctor&#8217;s efforts to bring the brain trauma issue to the attention of the medical community, the NFL, and the general public. It is [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Laskas / Gladwell by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4088027574/"><img src="http://farm3.static.flickr.com/2635/4088027574_ccd6619f37.jpg" alt="Laskas / Gladwell" width="500" height="281" /></a></p>
<p>In October, I read a <a href="http://www.gq.com/sports/profiles/200909/nfl-players-brain-dementia-study-memory-concussions">fascinating article on GQ.com</a> about head injuries among former NFL players. Written by Jeanne Marie Laskas, the article was a forensic detective story, documenting a little known doctor&#8217;s efforts to bring the brain trauma issue to the attention of the medical community, the NFL, and the general public. It is a great read &#8211; an in-depth investigative piece with engaging personalities and plenty of intrigue.</p>
<p>A few weeks later, I picked up a copy of The New Yorker on my way home from Pittsburgh. I was surprised to see, on the cover, a promo for <a href="http://www.newyorker.com/reporting/2009/10/19/091019fa_fact_gladwell">an article by Malcolm Gladwell</a> about &#8211; you guessed it &#8211; brain trauma and the NFL. After having read both articles, I was surprised by how much these two investigative pieces differed. At the time I thought about doing a visualization to investigate, but somehow the idea slipped out of my head.</p>
<p>Until this weekend. I spent a few (okay, more like eight) hours putting together a tool with <a href="http://www.processing.org">Processing</a> that would examine some of the similarities and differences between the two articles. The most interesting data ended up coming from word usage analysis (I looked at sentences and phrases as well, but with not much luck). The base interface for the tool is a XY chart of the words &#8211; they are positioned vertically by their average position in the articles, and horizontally by which article they occur in more. The words in the centre are shared by both articles. Total usage affects the scale of the words, so we can see quite quickly which words are used most, and in which articles.</p>
<p>By focusing our attention on the big words which lie more or less in the center, we can see what the two articles have in common: brains, football, dementia, and a disease called CTE. What is perhaps more interesting is what lies on the outer edges; the subjects and topics that were covered by one author and not by the other.</p>
<p>Laskas&#8217; article is about Dr. Bennet Omalu, dead NFL players (Mike Webster), Omalu&#8217;s colleagues (Dr. Julian Bailes &amp; Bob Fitzsimmons) and the NFL (click on the images to see bigger versions):</p>
<p><a title="Laskas / Gladwell by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4088078146/"><img src="http://farm3.static.flickr.com/2651/4088078146_0497d8bc07.jpg" alt="Laskas / Gladwell" width="500" height="281" /></a></p>
<p>Gladwell&#8217;s article, on the other hand, focuses partly on another scientist, Dr. Ann McKee, the sport of football in general, as well as s central metaphor in his piece &#8211; a comparison between football and dogfighting (the bridge between the two is Michael Vick):</p>
<p><a title="Laskas / Gladwell by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4087432437/"><img src="http://farm3.static.flickr.com/2572/4087432437_6297eb1c44.jpg" alt="Laskas / Gladwell" width="500" height="281" /></a></p>
<p>The gulf between the two main scientific personalities profiled in the articles is interesting. Omalu and McKee are both experts in chronic traumatic encephalopathy (CTE) so it makes sense that they each appear in both articles (Omalu was the first to describe the condition; McKee. However, we see when we isolate these names that Laskas references Dr. Omalu almost exclusively  (Omalu is mentioned 96 times by Laskas and only 6 times by Gladwell)* &#8211; <em>it&#8217;s worth noting here that the Laskas article is 11.4% longer than the Gladwell piece &#8211; JT</em>:</p>
<p><a title="Laskas / Gladwell by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4088077822/"><img src="http://farm3.static.flickr.com/2685/4088077822_ef6f8c2e13.jpg" alt="Laskas / Gladwell" width="500" height="281" /></a></p>
<p>In contrast, Laskas only refers to McKee once (Dr. McKee is mentioned by Gladwell 21 times):</p>
<p><a title="Laskas / Gladwell by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4087460227/"><img src="http://farm3.static.flickr.com/2651/4087460227_0a0b428d90.jpg" alt="Laskas / Gladwell" width="500" height="281" /></a></p>
<p>What is the relationship between Dr. McKee and Dr. Omalu? McKee is on the advisory board for the <a href="http://sportslegacy.org/">Sports Legacy Institute</a>, a group which studies the results of brain trauma on athletes. SLI was founded by four individuals, including Bennet Omalu and the group&#8217;s current head, Chris Nowinski, a former professional wrestler. Omalu and the other three founders of SLI have now left the group, but it apparently continues to be a high-profile presence in the CTE field. Laskas writes:</p>
<blockquote><p>&#8220;Indeed, the casual observer who wants to learn more about CTE will be easily led to SLI and the Boston group. There&#8217;s an SLI Twitter link, an SLI awards banquet, an SLI Web site with photos of Nowinski and links to videos of him on TV and in the newspapers. Gradually, Omalu&#8217;s name slips out of the stories, and Bailes slips out, and Fitzsimmons, and their good fight. As it happens in stories, the telling and retelling simplify and reduce.&#8221;</p></blockquote>
<p>I wonder how much the path of an journalistic piece is affected by who you talk to first? If I had to guess, I&#8217;d say Gladwell started with the SLI, whereas Laskas seemed to have began from Dr. Omalu. This single decision could account for many of the differences between the two articles.</p>
<p>Other word-use choices might also give insight into editorial positions. Laskas, for example, uses the term NFL (below, at left) a lot &#8211; 57 times to Gladwell&#8217;s 11. Gladwell, on the other hand, talks more about the sport in general, using the word &#8216;football&#8217; (below, at right)  40 times to Laskas&#8217; 23:</p>
<p><a title="Laskas / Gladwell by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4088249358/"><img src="http://farm3.static.flickr.com/2462/4088249358_1e05390a48_m.jpg" alt="Laskas / Gladwell" width="240" height="135" /></a> <a title="Laskas / Gladwell by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4087270411/"><img src="http://farm3.static.flickr.com/2796/4087270411_53a7f2f1fb_m.jpg" alt="Laskas / Gladwell" width="240" height="135" /></a></p>
<p>According to Laskas, Dr. Omalu has been roundly shunned by the NFL &#8211; they have attempted to discredit his research on many occasions (attention that has not been so pointedly focused on Dr. McKee and the SLI). Though both articles are critical of the League, it seems clear both from the article and the data that Laskas and GQ have taken a more severe stance &#8211; the addresses the NFL much more often, and with more disdain.</p>
<p>This exercise of quantitatively analyzing a pair of articles may seem like a strange way to spend a weekend, but it helped me to more clearly understand the differences between the two stories and to consider my reactions to each. I uncovered a few things that I hadn&#8217;t picked up at first, and at the same time was able to reinforce some of the feelings that I had after reading the two articles.</p>
<p>It was also another opportunity to build a quick, lightweight visualization tool dedicated to a fairly specific topic (though in this case the tool could be used to compare any two bodies of text). This strategy holds a lot of appeal to me and I think deserves attention alongside the generalist approach that we tend to see a lot of on the web and in data visualization. It seems to me that this type of investigative technique could be useful for researchers of various stripes.</p>
<p>I will be releasing source code for this project as well as compiled applications for Mac, Linux &amp; Windows. In the meantime, here&#8217;s a short video of how the interface behaves:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7512054&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=7512054&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/7512054">Two Sides of the Same Story: Laskas &amp; Gladwell on CTE &amp; the NFL</a> from <a href="http://vimeo.com/user313340">blprnt</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/two-sides-of-the-same-story-laskas-gladwell-on-cte-the-nfl/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>7 Days of Source Day #6: NYTimes GraphMaker</title>
		<link>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-6-nytimes-graphmaker</link>
		<comments>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-6-nytimes-graphmaker#comments</comments>
		<pubDate>Fri, 30 Oct 2009 02:37:27 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Information Visualization]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[graphing]]></category>
		<category><![CDATA[nytimes]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[radial graphs]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=937</guid>
		<description><![CDATA[
Project: NYTimes GraphMaker
Date: Fall, 2009
Language: Processing
Key Concepts: Data vizualization, graphing, NYTimes Article Search API
Overview:
The New York Times Article Search API gives us access to a mountain of data: more than 2.6 million indexed articles. There must be countless discoveries waiting to be made in this vast pile of information &#8211; we just need more people [...]]]></description>
			<content:encoded><![CDATA[<p><a title="NYTimes Drug Diptych by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4056673437/"><img src="http://farm3.static.flickr.com/2575/4056673437_5a65f97679.jpg" alt="NYTimes Drug Diptych" width="500" height="200" /></a></p>
<p><strong>Project</strong>: NYTimes GraphMaker<br />
<strong>Date: </strong>Fall, 2009<br />
<strong>Language: </strong><strong><span style="font-weight: normal;"><a href="http://www.processing.org">Processing</a></span></strong><br />
<strong>Key Concepts:</strong> Data vizualization, graphing, NYTimes Article Search API</p>
<p><strong>Overview:</strong></p>
<p><a href="http://open.blogs.nytimes.com/2009/02/04/announcing-the-article-search-api/">The New York Times Article Search API </a>gives us access to a mountain of data: more than 2.6 million indexed articles. There must be countless discoveries waiting to be made in this vast pile of information &#8211; we just need more people with shovels! With that in mind, I wanted to release a really simple example of using <a href="http://www.processing.org">Processing</a> to access word trend information from the Article Search API. Since I made this project in February, the clever folks at the NYT research lab have released <a href="http://nyt-trender.appspot.com/">an online tool to explore word trends</a>, but I think it&#8217;s useful to have the Processing code released for those of us who want to poke around the data in a slightly deeper way. Indeed, I hope this sketch can act as a starting point for people to take some more involved forays into the dataset &#8211; it is ripe to be customized and changed and improved.</p>
<p>This is the simplest project I&#8217;m sharing in this now multi-week source release. It should be a nice starting point for those of you who have some programming experience but haven&#8217;t done too much in the way of data visualization. As always, if you have questions, feel free to send me an e-mail or post in the comments section below.</p>
<p>You can see a whole pile of radial and standard bar graphs that I made with this sketch earlier in the year in <a href="http://www.flickr.com/photos/blprnt/sets/72157613381549987/">this Flickr set</a>.</p>
<p><strong>Getting Started:</strong></p>
<p>You&#8217;ll need the toxiclibs core, which you can <a href="http://code.google.com/p/toxiclibs/">download here</a>. Put the unzipped library into the &#8216;libraries&#8217; folder in your sketchbook (if there isn&#8217;t one already, create one).</p>
<p>Put the folder &#8216;NYT_GraphMaker&#8217; into your Processing sketch folder. Open Processing and open the sketch from the File &gt; Sketchbook menu. You&#8217;ll find detailed instructions in the header of the main tab (theNYT_GraphMaker.pde file).</p>
<p><strong>Thanks:</strong></p>
<p>It&#8217;s starting to get a bit repetitive, but once again this file depends on <a href="http://code.google.com/p/toxiclibs/">Karsten Schmidt&#8217;s toxiclib</a>s. These libraries are so good they should ship with Processing.</p>
<p><strong>Download: </strong><a href="http://www.blprnt.com/source/GraphMaker.zip">GraphMaker.zip(88k)</a></p>
<p><a href="http://creativecommons.org/licenses/GPL/2.0/"><br />
<img style="border: 0px initial initial;" src="http://creativecommons.org/images/public/cc-GPL-a.png" border="0" alt="CC-GNU GPL" /></a><br />
This software is licensed under the <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL</a> version 2.0 or later.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-6-nytimes-graphmaker/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>7 Days of Source Day #4 &#8211; BC Budget Visualization Tool</title>
		<link>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-4-bc-budget-visualization-tool</link>
		<comments>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-4-bc-budget-visualization-tool#comments</comments>
		<pubDate>Fri, 16 Oct 2009 05:25:50 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[open government]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=930</guid>
		<description><![CDATA[
Project: BC Budget Visualization Tool
Date: September, 2009
Language: Processing
Key Concepts: Data visualization, data organization, sticking it to the man
Overview:
More and more data is being released to the public every day. Big initiatives like the US data.gov and the UK&#8217;s upcoming data.hmg.gov.uk are resulting in a mountain of interesting data sets. These transparency initiatives are a step [...]]]></description>
			<content:encoded><![CDATA[<p><a title="BC Budget Visualization Tool by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/3899788452/"><img src="http://farm3.static.flickr.com/2468/3899788452_4ce9924919.jpg" alt="BC Budget Visualization Tool" width="500" height="281" /></a></p>
<p><strong>Project</strong>: BC Budget Visualization Tool<br />
<strong>Date: </strong>September, 2009<br />
<strong>Language:</strong> <a href="http://www.processing.org">Processing</a><br />
<strong>Key Concepts:</strong> Data visualization, data organization, sticking it to the man</p>
<p><strong>Overview:</strong></p>
<p>More and more data is being released to the public every day. Big initiatives like the US <a href="http://data.gov">data.gov</a> and the UK&#8217;s upcoming <a href="http://data.hmg.gov.uk">data.hmg.gov.uk</a> are resulting in a mountain of interesting data sets. These transparency initiatives are a step in the right direction, but we are quickly going to find ourself with a surfeit of data, and a very limited number of people with the skill set to do something with it.</p>
<p>One solution to this is to standardize the data so that generic tools can be built to dig into the data sets. This is a great idea &#8211; but it will take a lot of work, along with something that governments are not typically too good at: consensus.</p>
<p>Until that happens, tools like <a href="http://www.processing.org">Processing</a> offer another solution &#8211; make small, custom tools for individual data sets which can be built quickly and can be used specifically to work with the characteristics of a specific data set. Because Processing is fairly simple, journalists, researchers and activists can all be empowered to investigate data themselves, without having to rely on expensive or difficult to acquire resources.</p>
<p>This sketch is an example of how this might work. I wanted to investigate the r<a href="http://www.stopbcartscuts.ca/">ecently announced staggering Arts &amp; Culture cuts</a> in my <a href="http://en.wikipedia.org/wiki/Moron_(psychology)">local government</a>&#8217;s budget, and built a simple tool to do that. All told, it took about 5 hours to gather the data, produce this tool and get the results out on the web &#8211; certainly a turnaround time that would be useful for media and for activists looking to be quick with their responses.</p>
<p><strong>Getting Started:</strong></p>
<p>Move the sketches into your Processing sketch folder. Open Processing and open the BCBudget sketch from the File &gt; Sketchbook menu. You&#8217;ll find detailed instructions in the header of the main tab (the BCBudget.pde file).</p>
<p><strong>Thanks:</strong></p>
<p>Again, this project uses Karsten Schmidt&#8217;s amazing and incredibly useful <a href="http://code.google.com/p/toxiclibs/">toxiclibs</a>.</p>
<p><strong>Download: </strong><a href="http://www.blprnt.com/source/BCBudget.zip">BCBudget.zip (12k)</a></p>
<p><a href="http://creativecommons.org/licenses/GPL/2.0/"><br />
<img style="border: 0px initial initial;" src="http://creativecommons.org/images/public/cc-GPL-a.png" border="0" alt="CC-GNU GPL" /></a><br />
This software is licensed under the <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL</a> version 2.0 or later.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-4-bc-budget-visualization-tool/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>7 Days of Source Day #3 &#8211; tree.growth</title>
		<link>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-3-tree-growth</link>
		<comments>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-3-tree-growth#comments</comments>
		<pubDate>Wed, 14 Oct 2009 20:38:52 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=924</guid>
		<description><![CDATA[

Project: tree.growth
Date: September, 2006
Language: Processing
Key Concepts: Lindenmayer Systems, recursion, biomimicry
Overview:
NOTE: My apologies for this one being a day late. You&#8217;ll notice that I never said 7 consecutive days of source releases!
Today I&#8217;m dusting off some old code, and releasing one of my favourite projects. I had hundreds of requests for source over the years, and am finally [...]]]></description>
			<content:encoded><![CDATA[<p><a title="tree.growth by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4012446566/"><img src="http://farm3.static.flickr.com/2523/4012446566_9c5a0b489b.jpg" alt="tree.growth" width="500" height="401" /></a></p>
<p><a title="tree.growth by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/4012446746/"><img src="http://farm4.static.flickr.com/3522/4012446746_036284c6b1.jpg" alt="tree.growth" width="500" height="400" /></a></p>
<p><strong>Project</strong>: tree.growth<br />
<strong>Date: </strong>September, 2006<br />
<strong>Language:</strong> <a href="http://www.processing.org">Processing</a><br />
<strong>Key Concepts:</strong> Lindenmayer Systems, recursion, biomimicry</p>
<p><strong>Overview:</strong></p>
<p><em>NOTE: My apologies for this one being a day late. You&#8217;ll notice that I never said 7 consecutive days of source releases!</em></p>
<p>Today I&#8217;m dusting off some old code, and releasing one of my favourite projects. I had hundreds of requests for source over the years, and am finally making a public release.</p>
<p><em> </em></p>
<p><span style="font-style: normal;">Trees are uniquely suited to being simulated using computer graphics. Indeed, since the 1970s, methods to algorithmically render trees have been developed and refined to the point at which trees seen in high-quality scenes are very nearly photorealistic. For this project, rather than concentrating on realistic renderings, I was instead interested in how simple forms could capture the inherent &#8216;treeness&#8217; of the real thing. </span></p>
<p><span style="font-style: normal;">In pursuit of this goal, I developed a customized software engine which produced vector renderings of imaginary tree species. By adjusting parameters in the program, trees could be rendered with various leaf shapes and colours, with flowers or shedding leaves, and in virtually any shape from small shrubs to towering birches. </span></p>
<p><span style="font-style: normal;">The software uses a modified version of <a href="http://en.wikipedia.org/wiki/L-system">Lindenmayer Systems</a>, a variant of formal grammar used to model growth. L-Systems were developed by the Hungarian theoretical biologist <a href="http://en.wikipedia.org/wiki/Aristid_Lindenmayer">Aristid Lindenmayer</a>.</span></p>
<p><span style="font-style: normal;">This release version doesn&#8217;t have bitmap or vector output built in, but it would be fairly trivial to get this hooked up and working to output high-resolution bitmaps (using <a href="http://workshop.evolutionzone.com/2007/03/24/code-tilesaverpde/">Marius Watz&#8217; TileSaver class</a>) or .PDFs (using the standard Processing PDF library).</span></p>
<p><span style="font-style: normal;">Archive quality prints from this series are available in </span><a href="http://blprnt.etsy.com"><span style="font-style: normal;">my Etsy store</span></a><span style="font-style: normal;">.</span></p>
<p><span style="font-style: normal;">Finally, this code was written in 2005 &#8211; so there is a lot of room for optimization and improvement. If you end up using or improving the code for this project, please <a href="mailto:blprnt@blprnt.com">let me know</a>.</span></p>
<p><strong>Getting Started:</strong></p>
<p>Move the sketches into your Processing sketch folder. Open Processing and open the treegrowth sketch from the File &gt; Sketchbook menu. You&#8217;ll find detailed instructions in the header of the main tab (the treegrowth.pde file).</p>
<p><strong>Thanks:</strong></p>
<p>When I was getting started with Processing, I got a lot of help from the community over at <a href="http://processing.org">Processing.org</a>. I&#8217;d also like to thank Casey and Ben and all of the Processing team who have put so many hours into making this tool. It really is something special.</p>
<p><strong>Download: </strong><a href="http://www.blprnt.com/source/tree_growth.zip">tree_growth.zip (140k)</a></p>
<p><a href="http://creativecommons.org/licenses/GPL/2.0/"><br />
<img style="border: 0px initial initial;" src="http://creativecommons.org/images/public/cc-GPL-a.png" border="0" alt="CC-GNU GPL" /></a><br />
This software is licensed under the <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL</a> version 2.0 or later.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-3-tree-growth/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>7 Days of Source Day #2: NYTimes 365/360</title>
		<link>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-2-nytimes-36536</link>
		<comments>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-2-nytimes-36536#comments</comments>
		<pubDate>Mon, 12 Oct 2009 11:30:14 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[dataviz]]></category>
		<category><![CDATA[infoviz]]></category>
		<category><![CDATA[nytimes]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=917</guid>
		<description><![CDATA[
Project: NYTimes 365/360
Date: February, 2009
Language: Processing
Key Concepts: Data Visualization, NYTimes Article Search API, HashMaps &#38; ArrayLists
Overview:
Many have you have already seen the series of visualizations that I created early in the year using the newly-released New York Times APIs. The most complex of these were in the 365/360 series in which I tried to distill [...]]]></description>
			<content:encoded><![CDATA[<p><a title="NYTimes: 365/360 - 2009 (in color) by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/3291287830/"><img src="http://farm4.static.flickr.com/3649/3291287830_287591aace.jpg" alt="NYTimes: 365/360 - 2009 (in color)" width="500" height="500" /></a></p>
<p><strong>Project</strong>: NYTimes 365/360<br />
<strong>Date: </strong>February, 2009<br />
<strong>Language:</strong> <a href="http://www.processing.org">Processing</a><br />
<strong>Key Concepts:</strong> Data Visualization, NYTimes Article Search API, HashMaps &amp; ArrayLists</p>
<p><strong>Overview:</strong></p>
<p>Many have you have already seen the <a href="http://www.flickr.com/photos/blprnt/sets/72157613381549987/">series of visualizations</a> that I created early in the year using the newly-released <a href="http://developer.nytimes.com/">New York Times APIs</a>. The most complex of these were in the 365/360 series in which I tried to distill an entire year of news stories into a single graphic. The resulting visualizations (2009 is picture above) capture the complex relationships &#8211; and somewhat tangled mess &#8211; that is a year in the news.</p>
<p>This release is a single sketch. I&#8217;ll be releasing the Article Search API Processing code as a library later in the week, but I wanted to show this project as it sits, with all of the code intact. The output from this sketch is a set of .PDFs which are suitable for print. Someday I&#8217;d like to show the entire series of these as a set of 6&#8242; x 6&#8242; prints &#8211; of course, someday I&#8217;d also like a solid-gold skateboard and a castle made of cheese.</p>
<p>That said, really nice, archival quality prints from this project (and the one I&#8217;ll be releasing tomorrow) are for sale in <a href="http://blprnt.etsy.com">my Etsy shop</a>. I realize that you&#8217;ll all be able to make your own prints now (and you are certainly welcome to do so) &#8211; but if you really enjoy the work and want to have a signed print to hang on your wall, you know who to talk to.</p>
<p><strong>Getting Started:</strong></p>
<p>Put the folder &#8216;NYT_365_360&#8242; into your Processing sketch folder. Open Processing and open the sketch from the File &gt; Sketchbook menu. You&#8217;ll find detailed instructions in the header of the main tab (the NYT_365_360.pde file).</p>
<p><strong>Thanks:</strong></p>
<p>Most of the credit for this sketch goes to the clever kids at the NYT who made the amazing Article Search API. This is the gold standard of APIs, and really is a dream to use. As you&#8217;ll see if you dig into the code, each of these complicated graphics is made with just 21 calls to the API. I can&#8217;t imagine the amount of blood, sweat, and tears that would go into making a graphic like this the old-fashioned way.</p>
<p>Speaking of gold standards,<a href="http://www.flight404.com"> </a><a href="http://flight404.com">Robert Hodgin</a> got me pointed to ArrayLists in the first place, and has been helpful many times over the last few years as I&#8217;ve tried to solve a series of ridiculously simple problems in Processing. Thanks, Robert!</p>
<p><strong>Download:</strong> <a href="http://www.blprnt.com/source/NYT365.zip">NYT365.zip (140k)</a></p>
<p><a href="http://creativecommons.org/licenses/GPL/2.0/"><br />
<img style="border: 0px initial initial;" src="http://creativecommons.org/images/public/cc-GPL-a.png" border="0" alt="CC-GNU GPL" /></a><br />
This software is licensed under the <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL</a> version 2.0 or later.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-2-nytimes-36536/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>7 Days of Source Day #1: GoodMorning!</title>
		<link>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-1-goodmorning</link>
		<comments>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-1-goodmorning#comments</comments>
		<pubDate>Sun, 11 Oct 2009 20:41:46 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=911</guid>
		<description><![CDATA[
Project: GoodMorning!
Date: August, 2009
Language: Processing
Key Concepts: Spherical coordinates, latitude &#38; longitude conversion, Twitter API, MetaCarta API
Overview:
GoodMorning! is a global Twitter visualization tool. It allows tweets to be placed geographically and temporally, showing how a word or phrase is used around the world over a certain time period. You can watch a video here.
The project consists [...]]]></description>
			<content:encoded><![CDATA[<p><a title="GoodMorning! Pinheads by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/3849945603/"><img src="http://farm3.static.flickr.com/2497/3849945603_ef24b2d983.jpg" alt="GoodMorning! Pinheads" width="500" height="281" /></a></p>
<p><strong>Project</strong>: GoodMorning!<br />
<strong>Date: </strong>August, 2009<br />
<strong>Language:</strong> <a href="http://www.processing.org">Processing</a><br />
<strong>Key Concepts:</strong> Spherical coordinates, latitude &amp; longitude conversion, Twitter API, MetaCarta API</p>
<p><strong>Overview:</strong></p>
<p>GoodMorning! is a global Twitter visualization tool. It allows tweets to be placed geographically and temporally, showing how a word or phrase is used around the world over a certain time period. You can watch a video <a href="http://www.vimeo.com/6239027">here</a>.</p>
<p>The project consists of two Processing sketches: a small sketch called TwitGather to gather tweets from the Twitter API and store them with location data in a JSON file, and a larger sketch which renders that data, and allows for export as .MOV and hi-res bitmap files. I&#8217;ve included a sample file which holds about 24 hours of &#8216;Good morning&#8217; tweets.</p>
<p>This is likely the most complicated project that I will be releasing this week. I have tried to document the sketches as thoroughly as possible, but it may be confusing for beginners. However, there are lots of fairly simple things that can be gleaned by looking at various parts of the code.</p>
<p>To compile this project, you&#8217;ll need to make sure you have all of the libraries and other dependencies outlined below.</p>
<p><strong>Getting Started:</strong></p>
<p>Move the sketches into your Processing sketch folder. Open Processing and open the GoodMorning sketch from the File &gt; Sketchbook menu. You&#8217;ll find detailed instructions in the header of the main tab (the GoodMorning.pde file).</p>
<p><strong>Thanks:</strong></p>
<p>GoodMorning uses a variety of libraries, to the authors of which I am extremely grateful:</p>
<ol>
<li>Karsten Schmidt&#8217;s <a href="http://code.google.com/p/toxiclibs/">toxiclibs coreutils</a> for storing coordinates and doing vector math</li>
<li>Andreas Köberle and Christian Riekoff&#8217;s <a href="http://code.google.com/p/surfacelib/">surfaceLib</a> for rendering the planet and cloud layer</li>
<li>Yusuke Yamamoto&#8217;s excellent <a href="http://yusuke.homeip.net/twitter4j/en/index.html">Twitter4J</a> library for talking to the Twitter API (<em>this library is included in the download</em>)</li>
<li>Marius Watz&#8217; <a href="http://workshop.evolutionzone.com/2007/03/24/code-tilesaverpde/">TileSaver class</a>, which lets you output huge bitmaps from any Processing sketch.</li>
</ol>
<p><strong>Download:</strong> <a style="text-decoration: none;" href="http://www.blprnt.com/source/GoodMorning.zip">GoodMorning.zip (10.0MB)</a></p>
<p><a href="http://creativecommons.org/licenses/GPL/2.0/"><br />
<img src="http://creativecommons.org/images/public/cc-GPL-a.png" border="0" alt="CC-GNU GPL" /></a><br />
This software is licensed under the <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL</a> version 2.0 or later.<br />
<!-- /Creative Commons License --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-1-goodmorning/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>GoodMorning!</title>
		<link>http://blog.blprnt.com/blog/blprnt/goodmorning</link>
		<comments>http://blog.blprnt.com/blog/blprnt/goodmorning#comments</comments>
		<pubDate>Mon, 24 Aug 2009 01:42:10 +0000</pubDate>
		<dc:creator>Jer</dc:creator>
				<category><![CDATA[Information Visualization]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[eyecandy]]></category>
		<category><![CDATA[globe]]></category>

		<guid isPermaLink="false">http://blog.blprnt.com/?p=867</guid>
		<description><![CDATA[
GoodMorning! is a Twitter visualization tool that shows about 11,000 &#8216;good morning&#8217; tweets over a 24 hour period, rendering a simple sample of Twitter activity around the globe. The tweets are colour-coded: green blocks are early tweets, orange ones are around 9am, and red tweets are later in the morning. Black blocks are &#8216;out of [...]]]></description>
			<content:encoded><![CDATA[<p><a title="GoodMorning! Pinheads by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/3849945603/"><img src="http://farm3.static.flickr.com/2497/3849945603_ef24b2d983.jpg" alt="GoodMorning! Pinheads" width="500" height="281" /></a></p>
<p>GoodMorning! is a Twitter visualization tool that shows about 11,000 &#8216;good morning&#8217; tweets over a 24 hour period, rendering a simple sample of Twitter activity around the globe. The tweets are colour-coded: green blocks are early tweets, orange ones are around 9am, and red tweets are later in the morning. Black blocks are &#8216;out of time&#8217; tweets which said good morning (or a non-english equivalent) at a strange time in the day. Click on the image above to see North America in detail (click on the &#8216;all sizes&#8217; button to see the high-res version, which is 6400&#215;3600), or watch the video below to see the &#8216;good morning&#8217; wave travel around the globe:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6239027&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=6239027&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/6239027">GoodMorning! Full Render #2</a> from <a href="http://vimeo.com/user313340">blprnt</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I&#8217;ll admit that this isn&#8217;t a particularly useful visualization. It began as a quick idea that emerged out of the discussions following my post about <a href="http://blog.blprnt.com/blog/blprnt/just-landed-processing-twitter-metacarta-hidden-data">Just Landed</a>, in which several commenters asked to see a global version of that project. This would have been reasonably easy, but I felt that the 2D map made the important information in that visualization a bit easier to see. I wondered what type of data <em>would</em> be interesting to see on a globe, and started to think about something time based; more specifically, something in which you might see a kind of a wave traveling around the earth. I have been neck-deep in the Twitter API for a couple of months now, and eventually the idea trickled up to look at &#8216;good morning&#8217; tweets.</p>
<p>The first task was to gather 24 hours worth of good morning tweets. Querying the <a href="http://apiwiki.twitter.com/">Twitter API is</a> easy enough &#8211; I posted a <a href="http://blog.blprnt.com/blog/blprnt/quick-tutorial-twitter-processing">simple tutorial</a> about doing this with <a href="http://www.processing.org">Processing</a> and Twitter4J a couple of weeks ago. The issue with gathering this many tweets is that you can only get the most recent 1,500 tweets with any search request. I needed many more than that &#8211; there are about 11,000 in the video, and those were only the ones from users with a valid location in their Twitter profile. All told, I ended up receiving upwards of 50,000 tweets. The only way to get this many results was to leave a &#8216;gathering&#8217; client running for 24 hours. I <em>should</em> have put this on a server somewhere, but I didn&#8217;t, so my laptop needed to run the client for a full day to get the results. It ended up taking 5 days &#8211; a few false starts (the initial scripts choked on some strange iPhone locations), along with a couple of bone-headed errors on my part. Finally, I ended up with <a href="http://www.blprnt.com/transfer/goodmorning.txt">a JSON file which held the messages</a>, users, dates and locations for a day&#8217;s worth of morning greetings.</p>
<p>I&#8217;d already decided to embrace the visual cliche that is the spinning globe. It&#8217;s reasonably easy to place points on a sphere once you know the latitude and longitude values &#8211; the first thing I did was to place all 11,000 points on the globe to see what kind of a distribution I ended up with. Not surprisingly, the points don&#8217;t cover the whole globe. I tried to include some non-english languages to encourage a more even distribution, but I don&#8217;t think I did the best job that I could have (if you have ideas for what to search for for other languages &#8211; particularly Asian ones, please leave a note in the comments). Still, I thought that there should be enough to get my &#8216;good morning wave&#8217; going.</p>
<p>In my first attempts, I coloured the tweet blocks according to the size of the tweet. In these versions, you can see the wave, but it&#8217;s not very distinct:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6215825&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=6215825&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/6215825">GoodMorning! First Render</a> from <a href="http://vimeo.com/user313340">blprnt</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I needed some kind of colouring that would show the front of the wave &#8211; I ended up setting the colour of the blocks according to how far the time block was away from 9am, local time. This gave me the colour spectrum that you see in the latest versions.</p>
<p>Originally, I wanted to include the text in the tweets, but after a few very messy renders, I dropped that idea. I still think it might be possible to incorporate text in some way that doesn&#8217;t look like a pile of pick-up-sticks &#8211; I just haven&#8217;t found it yet. Here&#8217;s a render from the text-mess:</p>
<p><a title="GoodMorning! by blprnt_van, on Flickr" href="http://www.flickr.com/photos/blprnt/3850712540/"><img src="http://farm3.static.flickr.com/2441/3850712540_190a402d84.jpg" alt="GoodMorning!" width="500" height="281" /></a></p>
<p>There are some inherent problems with this visualization. As mentioned earlier, it&#8217;s certainly not a complete representation of global Twitter users. Also, I&#8217;m relying on the location that the user lists in their Twitter profile to plot the points on the globe. It&#8217;s very likely that a high proportion of these locations could be inaccurate. Even if the location is correct, it might not be accurate enough to be useful. If you look at the bottom right of the images above, you&#8217;ll see a big plume of blocks in the middle of South America. This isn&#8217;t some undiscovered Twitter city in the middle of the jungle (El Tworado? Sorry.) &#8211; it&#8217;s the result of many users listing their location as simply &#8216;South America&#8217;. There&#8217;s one of these in every country and continent (this explains the cluster of Canadians tweeting from somewhere near <a href="http://en.wikipedia.org/wiki/Baker_Lake,_Nunavut">Baker Lake</a>).</p>
<p>On the other hand, it provides a model for how similar visualizations might be made &#8211; propagation maps of trending topics, plotting of followers over time, etc. Even in its current form, the tool does provide some interesting data &#8211; for example it seems that East Coasters tweet earlier than West Coaters (there&#8217;s more green in the East than in the West). I&#8217;m guessing that in the hands of people with more than my rudimentary statistics skills, these kinds of data sets could tell us some interesting &#8211; and (heaven forbid) useful things.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blprnt.com/blog/blprnt/goodmorning/feed</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
	</channel>
</rss>
