<?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>Michelle Minkoff &#187; data visualizations</title>
	<atom:link href="http://michelleminkoff.com/category/data-visualizations/feed/" rel="self" type="application/rss+xml" />
	<link>http://michelleminkoff.com</link>
	<description>[&#34;passion&#34;, &#34;learning&#34;, &#34;journalism&#34;, &#34;data&#34;, &#34;technology&#34;].join()</description>
	<lastBuildDate>Wed, 06 Feb 2013 22:03:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Using Google spreadsheets as your database</title>
		<link>http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/</link>
		<comments>http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 04:32:50 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[data visualizations]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1160</guid>
		<description><![CDATA[UPDATE 2/7/12: The whole, copyable script has been added to the bottom of this post, at the request of a few folks. Hopefully that&#8217;s helpful. The database is a key part of data journalism. &#160;We spend a good amount of time making structured of the unstructured, and then we need to shove it somewhere so [...]]]></description>
				<content:encoded><![CDATA[<p><strong>UPDATE 2/7/12: The whole, copyable script has been added to the bottom of this post, at the request of a few folks. Hopefully that&#8217;s helpful.</strong></p>
<div></div>
<p>The database is a key part of data journalism. &nbsp;We spend a good amount of time making structured of the unstructured, and then we need to shove it somewhere so a web app can serve up relevant pieces, perform calculations to help us understand nuance. &nbsp;Straight text files just have their limits. But does that mean you can&#8217;t build a data app that dynamically updates if you don&#8217;t know the difference between MySQL and PostgreSQL and the newest Harry Potter movie? &#8212; Oh wait, that last one&#8217;s a sequel, not SQL! *Wow, that was a bad pun. &nbsp;Sorry. It&#8217;s a sickness.* &nbsp;No, no. no. &nbsp;You can use Google Spreadsheets, a fantastic tool already being used in many newsrooms to foster collaboration. I wouldn&#8217;t trust it with my multi-year investigation, but it can serve your data into an HTML table on your website, and will adjust as you (or other approved contributors) add to the spreadsheet.<span id="more-1160"></span></p>
<p>Would you like an example? &nbsp;While I was at my LA Times internship, there was this thing called the Bell scandal. &nbsp;If you read this blog, you&#8217;re probably plugged in enough to have heard of it, but for the uninitiated, in the city of Bell, an LA Times report on the high salaries of the city manager and other top administrators generated&#8230;<a href="http://www.latimes.com/news/local/bell/">interest</a>. Turns out Bell wasn&#8217;t the only city where this was an issue. &nbsp;So, people started asking, &#8220;How much does my city manager make?&#8221; &nbsp;Sounds like a job for the data folks!</p>
<p>We came up with <a href="http://www.latimes.com/news/local/la-me-salary-database-js,0,6202025.htmlstory" target="_blank">this</a>. &nbsp;I can&#8217;t take much of the credit here, reporting interns and staffers did the legwork to get the data, and Web producer Anthony Pesce did much of the design and did the front-end implementation, but through Tribune&#8217;s proprietary content management system, as opposed to our &#8220;guerilla warfare&#8221; separate server approach that houses the Data Desk projects.</p>
<p>The part for us Data Desk devs was how to pull this collaborative spreadsheet into the HTML template housed in the CMS. &nbsp;I churned out a rough version of the quick backend stuff overnight, and Ken Schwencke and Ben Welsh helped make it run lighter and smoother, and made many improvements I couldn&#8217;t have thought of.</p>
<p>Here&#8217;s a walkthrough, in case it&#8217;s of use to anyone out there, and also because I&#8217;d love to hear about related tips, tricks and improvements you have. It&#8217;s not any big secret, all available by viewing source on the Bell database web page.</p>
<p>A caveat: This is ABSOLUTELY NOT to say you don&#8217;t need to use a database backend anymore. You have more control over a database, it can take bigger chunks of information, do more complicated analysis, not to mention that you know exactly when it&#8217;s going public, and what going public means. (Maybe I&#8217;m just a control freak.) But if your data set is small, and you don&#8217;t have a full development server, that shouldn&#8217;t be a complete road block. There are cool, and better yet, useful, things you can do.</p>
<p>This quick project will depend on Javascript, a key way to get interactivity into your website without resorting to technologies that are less compatible across platforms because of their newness (HTML5) or their proprietary platforms (Flash). I&#8217;m actually spending more time on this language than Python/Django at the moment, for PBS-related reasons.</p>
<p>Here we go!</p>
<p>1. First, create your Google Spreadsheet, add in all your data, and then hit Publish in the publication settings. &nbsp;At this point, it will be open to the public. &nbsp;This is necessary because the computer needs to be able to &#8220;see&#8221; your spreadsheet, which it can&#8217;t if the spreadsheet is privacy protected.</p>
<p>2. In your blank doc, create an area to type Javascript. &nbsp;Tell the computer what to expect by typing:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #006600; font-style: italic;">// &lt;![CDATA[</span>
<span style="color: #339933;">&lt;</span>pre lang<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;JAVASCRIPT&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #000066; font-weight: bold;">var</span> pre_html <span style="color: #339933;">=</span> <span style="color: #3366CC;">'
&lt;table id = &quot;salaries&quot;&gt;
&lt;thead id=&quot;anthonyHeader&quot;&gt;
&lt;tr&gt;
&lt;th&gt;City&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
<span style="color: #000099; font-weight: bold;">\</span>
&lt;th&gt;2009 taxablecompensation*&lt;/th&gt;
<span style="color: #000099; font-weight: bold;">\</span>
&lt;th&gt;Note&lt;/th&gt;
&lt;th&gt;Pending request&lt;/th&gt;
&lt;th&gt;Population&lt;/th&gt;
&lt;th&gt;Median income&lt;/th&gt;
&lt;th&gt;Contract&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>4. Create an empty Javascript variable which I called actual_html. &nbsp;This is the html that correspodns to each record in the spreadsheet, that is, each row. &nbsp;Leave it as an empty string (two quotes next to each other, indicating no text) for now, we&#8217;ll get back to it.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">var</span> actual_html<span style="color: #339933;">=</span><span style="color: #3366CC;">''</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>5. Create a variable to hold the end of the table which will run after all records are completed. &nbsp;Close that table up.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">var</span> post_html <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;/tbody&gt;
&lt;/table&gt;
'</span></pre></td></tr></table></div>

<p>6. Calculate the length of filled-out information in the spreadsheet.  Json refers back to the spreadsheet, feed refers to how we&#8217;re pulling the spreadsheet, entry tells the computer we&#8217;re looking at each row as a separate item or entry, and length&#8230;well&#8230;you get that one.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>nbsp<span style="color: #339933;">;</span>Json.<span style="color: #000066; font-weight: bold;">var</span> len <span style="color: #339933;">=</span> json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span>.<span style="color: #660066;">length</span></pre></td></tr></table></div>

<p>7. Loop through the spreadsheet as many times as there are records. &nbsp;After each loop, increase the counter variable by one, so the count moves forward.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></pre></td></tr></table></div>

<p>8. First item of business, try to grab something from the rollover description field on the given row. &nbsp;These are notes that show up if LAT reporters had additional details to add for context.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>nbsp<span style="color: #339933;">;</span><span style="color: #000066; font-weight: bold;">var</span> d <span style="color: #339933;">=</span> json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$rolloverdescription.$t<span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>9. Check if d exists, in this case, to see if there is text for a rollover or not. &nbsp;Depending on whether it exists, we then generate a row with a whole block of HTML. &nbsp;This isn&#8217;t a super efficient way to do it, but got the job done on a deadline. &nbsp;You can go look it all up in our source (just go to the link, view source, and search for &#8216;function displayContent(json)&#8217; and you&#8217;ll get to the right place), but here&#8217;s a general structure, built from an excerpt of the code.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;">actual_html <span style="color: #339933;">+=</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'
&lt;tr&gt;
&lt;td&gt;'</span><span style="color: #339933;">,</span> \
<span style="color: #3366CC;">'&lt;a target=&quot;_blank&quot; title=&quot;Mapping L.A.&quot; href=&quot;'</span><span style="color: #339933;">,</span>\
 json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$mappinglink.$t<span style="color: #339933;">,</span> <span style="color: #3366CC;">'&quot;&gt;'</span><span style="color: #339933;">,</span> json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$city.$t<span style="color: #339933;">,</span> <span style="color: #3366CC;">'&lt;/a&gt;'</span><span style="color: #339933;">,&amp;</span>nbsp<span style="color: #339933;">;</span><span style="color: #3366CC;">'&lt;/td&gt;
&lt;/tr&gt;
'</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">join</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>I cut some lines out, but that starts the table row, calls in a url, generates a tooltip for it, brings in the attribute from the spreadsheet, close the row, all between the []. &nbsp;Then, there&#8217;s a .join(&#8220;), which means combine everything into one large block of text, and separate them with nothing. &nbsp;It makes more sense if you think of joining ten items as part of a list where you might want to combine into one string of text, but shove commas in between. One more note: The actual_html += means we append, or add, each version of this variable to the last, so as we loop through the spreadsheet, we&#8217;re recording the code for all the rows. &nbsp;Otherwise, you would only see the last row.</p>
</div>
<div></div>
<div>10. Finally, grab a div you&#8217;ve set up where the table should go, by getting it by its id, and adjust its inner_html to take in all the table code.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;">document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'salary_table_container'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> pre_html <span style="color: #339933;">+</span> actual_html <span style="color: #339933;">+</span> post_html</pre></td></tr></table></div>

</div>
<div></div>
<div>11. Close your script.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// ]]&gt;&lt;/script&gt;</span></pre></td></tr></table></div>

<div></div>
<div>12. &nbsp;This is a little backward, but include a reference to your actual spreadsheet, and tell the computer from now on you will be referring to it by another name &#8212; that&#8217;s what the &#8220;callback=&#8221; does.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;">&nbsp;</pre></td></tr></table></div>

</div>
<div></div>
<div>How do you make it pretty? &nbsp;Use HTML and CSS. &nbsp;We also used Jquery, and a fantastic plugin called DataTables. &nbsp;It was sort of my not-so-secret weapon of interactivity awesomesauce over at the LAT, and you probably will see it again soon at PBS. &nbsp;The beauty of open source, it can follow you wherever you go, West or East. &nbsp;I&#8217;ll do a separate post on DataTables sometime soon.</div>
<div></div>
<p>Here&#8217;s a copyable version of the complete script:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>html<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;</span>head<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;</span>title<span style="color: #339933;">&gt;</span>Completed sample <span style="color: #000066; font-weight: bold;">for</span> turning a Google Spreadsheet into an HTML Table<span style="color: #339933;">&lt;/</span>title<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;!--</span> Add a div where the table will go <span style="color: #339933;">--&gt;</span>
&nbsp;
    <span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">'text/javascript'</span><span style="color: #339933;">&gt;</span>
        <span style="color: #006600; font-style: italic;">//Write a function that allows us to add commas to raw numbers in spreadsheet for display.  2413 becomes 2,413.</span>
        <span style="color: #000066; font-weight: bold;">function</span> addCommas<span style="color: #009900;">&#40;</span>nStr<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
        	nStr <span style="color: #339933;">+=</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
        	x <span style="color: #339933;">=</span> nStr.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        	x1 <span style="color: #339933;">=</span> x<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        	x2 <span style="color: #339933;">=</span> x.<span style="color: #660066;">length</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">1</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">'.'</span> <span style="color: #339933;">+</span> x<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
        	<span style="color: #000066; font-weight: bold;">var</span> rgx <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/(\d+)(\d{3})/</span><span style="color: #339933;">;</span>
        	while <span style="color: #009900;">&#40;</span>rgx.<span style="color: #660066;">test</span><span style="color: #009900;">&#40;</span>x1<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        		x1 <span style="color: #339933;">=</span> x1.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>rgx<span style="color: #339933;">,</span> <span style="color: #3366CC;">'$1'</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">','</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'$2'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        	<span style="color: #009900;">&#125;</span>
        	<span style="color: #000066; font-weight: bold;">return</span> x1 <span style="color: #339933;">+</span> x2<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">//this will be executed after we &quot;fetch&quot; the contents of a spreadsheet. The json parameter will hold our spreadsheet's data</span>
        <span style="color: #000066; font-weight: bold;">function</span> displayContent<span style="color: #009900;">&#40;</span>json<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #006600; font-style: italic;">//start an html table and write out our headers.  Using &lt;td&gt; tags so it isn't bold and centered, which is the &lt;th&gt; default.</span>
            <span style="color: #000066; font-weight: bold;">var</span> pre_html <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;table id = &quot;salaries&quot;&gt;&lt;tr&gt;&lt;td&gt;City&lt;/td&gt;&lt;td&gt;Name&lt;/td&gt;<span style="color: #000099; font-weight: bold;">\</span>
    &lt;td&gt;2009 taxable&lt;br /&gt;compensation*&lt;/td&gt;<span style="color: #000099; font-weight: bold;">\</span>
    &lt;td&gt;Population&lt;/td&gt;&lt;td&gt;Median income&lt;/td&gt;&lt;/thead&gt;&lt;tbody&gt;'</span><span style="color: #339933;">;</span>
            <span style="color: #006600; font-style: italic;">//Create an empty string to hold the HTML. We will put table data here.</span>
            <span style="color: #000066; font-weight: bold;">var</span> actual_html<span style="color: #339933;">=</span><span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
            <span style="color: #006600; font-style: italic;">//After we grab the table, close the HTML table.</span>
            <span style="color: #000066; font-weight: bold;">var</span> post_html <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;/tbody&gt;&lt;/table&gt;'</span>
            <span style="color: #006600; font-style: italic;">//figure out how many rows our spreadsheet has</span>
            <span style="color: #000066; font-weight: bold;">var</span> len <span style="color: #339933;">=</span> json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span>.<span style="color: #660066;">length</span>
&nbsp;
            <span style="color: #006600; font-style: italic;">//loop through the spreadsheet, gathering data</span>
            <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #006600; font-style: italic;">//for each row, add the following to actual HTML, grabbing it as a list, and then joining the list together as one long string.</span>
                <span style="color: #006600; font-style: italic;">//Uses HTML for table cells, and then grabs attributes from the spreadsheet, using appropriate syntax. Enter your table header in the Google spreadsheet between            </span>
                <span style="color: #006600; font-style: italic;">//the gsx$ and .$t.</span>
                actual_html <span style="color: #339933;">+=</span> <span style="color: #009900;">&#91;</span>
                    <span style="color: #3366CC;">'&lt;tr&gt;&lt;td&gt;'</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;a target=&quot;_blank&quot; title=&quot;Mapping L.A.&quot; href=&quot;'</span><span style="color: #339933;">,</span> 
                    json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$mappinglink.$t<span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&quot;&gt;'</span><span style="color: #339933;">,</span> 
                    json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$city.$t<span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;/a&gt;'</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;/td&gt;&lt;td&gt;'</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;a target=&quot;_blank&quot; title=&quot;City website&quot; href=&quot;'</span><span style="color: #339933;">,</span>  
                    json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$personwebsite.$t<span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&quot;&gt;'</span><span style="color: #339933;">,</span> 
                    json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$name.$t<span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;/a&gt;'</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;br /&gt;&lt;span&gt;'</span><span style="color: #339933;">,</span> 
                    json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$title.$t<span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;/span&gt;'</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;a target=&quot;_blank&quot;  href=&quot;'</span><span style="color: #339933;">,</span> 
                    json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$email.$t<span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&quot;&gt;&lt;/a&gt;'</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;/td&gt;&lt;td&gt;'</span><span style="color: #339933;">,</span> 
                    addCommas<span style="color: #009900;">&#40;</span>json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$compensation.$t<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;/td&gt;'</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;td&gt;'</span><span style="color: #339933;">,</span> 
                    addCommas<span style="color: #009900;">&#40;</span>json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$population.$t<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
                    <span style="color: #3366CC;">'&lt;/td&gt;'</span><span style="color: #339933;">,</span>
                       <span style="color: #3366CC;">'&lt;td&gt;'</span><span style="color: #339933;">,</span> 
                        addCommas<span style="color: #009900;">&#40;</span>json.<span style="color: #660066;">feed</span>.<span style="color: #660066;">entry</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">gsx</span>$medianincome.$t<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
                        <span style="color: #3366CC;">'&lt;/td&gt;'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'&lt;/tr&gt;'</span>
                <span style="color: #009900;">&#93;</span>.<span style="color: #660066;">join</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <span style="color: #009900;">&#125;</span>
            <span style="color: #006600; font-style: italic;">//put all three of our HTML strings into our div we made at the top of the page</span>
            document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'salary_table_container'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> pre_html <span style="color: #339933;">+</span> actual_html <span style="color: #339933;">+</span> post_html
&nbsp;
        <span style="color: #009900;">&#125;</span>   
    <span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>head<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;salary_table_container&quot;</span><span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;!--</span> Grab the data from our google spreadsheet<span style="color: #339933;">,</span> using the callback to call the <span style="color: #000066; font-weight: bold;">function</span> we just created <span style="color: #339933;">--&gt;</span>
<span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://spreadsheets.google.com/feeds/list/0AlO_LanGCFltdGlsa2hSNHhOdHlCYmpFeXdlY0ZNS2c/od6/public/values?alt=json-in-script&amp;amp;callback=displayContent&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<div></div>
<div>Questions in the meantime? &nbsp;Just holler.</div>

<div class="wp_rp_wrap  wp_rp_plain" id="wp_rp_first"><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >October 16, 2010 -- <a href="http://michelleminkoff.com/2010/10/16/we-must-understand-our-news-content-as-data/" class="wp_rp_title">We must understand our news content as data</a></li><li >November 8, 2010 -- <a href="http://michelleminkoff.com/2010/11/08/tools-to-help-bring-data-to-your-journalism/" class="wp_rp_title">Tools to help bring data to your journalism</a></li><li >September 21, 2010 -- <a href="http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/" class="wp_rp_title">The power of linkable data apps (my second LAT app)</a></li><li >January 1, 2011 -- <a href="http://michelleminkoff.com/2011/01/01/looking-back-on-a-year-what-now/" class="wp_rp_title">Looking back on a year: What now?</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Tools to help bring data to your journalism</title>
		<link>http://michelleminkoff.com/2010/11/08/tools-to-help-bring-data-to-your-journalism/</link>
		<comments>http://michelleminkoff.com/2010/11/08/tools-to-help-bring-data-to-your-journalism/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 14:09:36 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[data visualizations]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1094</guid>
		<description><![CDATA[NOTE: This entry was modified on the evening of 11/9/10 to deal with typos and missing words, resulting from posting this too late the previous night.  Sleep deprivation isn&#8217;t always a good thing &#8212; although it allows one to do things more fun than sleep.  Like play with data. Note to self: Be more careful [...]]]></description>
				<content:encoded><![CDATA[<p><em>NOTE: This entry was modified on the evening of 11/9/10 to deal with typos and missing words, resulting from posting this too late the previous night.  Sleep deprivation isn&#8217;t always a good thing &#8212; although it allows one to do things more fun than sleep.  Like play with data. </em><em>Note to self: Be more careful in the future.</em></p>
<p><em></em>Many of the stories we do every day, across beats, could benefit from a data component.  Luckily, a lot of great design and programming folks have created tools to make it easier to organize, clean and display data.  Helpful whether you just want to get a table up quickly, or want to spend months creating an app.  Because we&#8217;ve all got a lot to do, and spending more time on creativity is always a good thing. Let the computer deal with the boring parts.</p>
<p>So, here&#8217;s a round up of some tools you can use to rapidly produce data pieces without programming knowledge.  There are many others I continue to play with, and new tools are cropping up every day. The best way to get to know all of these is by taking a data set and playing around with the various options.  Each category is organized in my approximate preferential order, which should be taken with many grains of salt.<span id="more-1094"></span></p>
<h2>Prepping tables</h2>
<ol>
<li>Tableizer &#8211; <a href="http://tableizer.journalistopia.com/">http://tableizer.journalistopia.com/</a> &#8211; Copy and paste cells from your Excel spreadsheet into this tool, and it&#8217;ll spit back a formatted HTML table that you can copy and paste into a CMS of your choice.  Pick the font and header background color.  Make sure your first row consists of headers, as these will be styled differently.  Combine this with the Jquery DataTables plug in listed at the bottom of this info sheet, and you&#8217;ve turned your mundane Excel table into a fancy-schmancy searchable, sortable and paginated table &#8212; a data news application in a box.</li>
<li>TimeFlow &#8211; <a href="http://wiki.github.com/FlowingMedia/TimeFlow/">http://wiki.github.com/FlowingMedia/TimeFlow/</a> &#8211; Plot time-related data on a timeline.  Useful for looking at chronology behind a project, or ongoing story on your beat.  Helps you structure your information.  Made for reporting, not presentation.  Resulting timeline is not embeddable.  To use this tool, you have to download it on your computer, either Mac or Windows will work.</li>
<li>Freebase Gridworks -  <a href="http://www.freebase.com/labs/gridworks">http://www.freebase.com/labs/gridworks</a> &#8211; Downloadable tool to help you clean/analyze your data.  Import your data set, and it will look past minor discrepancies, like capitalized and uncapitalized letters, and group your data.  This can help you find patterns that will aid your story-finding abilities.  You can customize how it groups the data, so it isn&#8217;t aggregating information that it shouldn&#8217;t be aggregating.</li>
<li>Mr. Data Converter &#8211; <a href="http://shancarter.com/data_converter">http://shancarter.com/data_converter</a>- Enter your data in this web-based tool to convert your Excel file to other data formats.  JSON is especially useful for feeding your data to a Flash developer.  It won&#8217;t directly help your presentation, but it will convert your data into a format that&#8217;s easier for presentation tools to read.</li>
</ol>
<h2>Interactive viz &#8211; no programming</h2>
<ol>
<li>Many Eyes &#8211; <a href="http://manyeyes.alphaworks.ibm.com/manyeyes/">http://manyeyes.alphaworks.ibm.com/manyeyes/</a> &#8211; A fantastic tool for presentation, built by some of the best data visualizers in the business, who now work for Google.  Import your dataset, and get back an embeddable visualizaton.  You can use it sort through and analyze lengthy text, and it&#8217;ll give you a graphic-friendly word tree where users can see what ideas pop, and how those ideas are connected in a speech.  Or use it for intensity maps, where certain states are colored by the value of data (how does Calif.compare?).  Or use it for interactive bar/pie/line graphs.  No programming knowledge needed, but while you can customize colors, it can be tough to customize the genral feel of these applications.  More than suitable for a blog entry, though.</li>
<li>Google spreadsheets &#8211; <a href="http://docs.google.com">http://docs.google.com</a> &#8211; Feel like everyone knows this baby.  Use it to structure your data into various columns and records.  Share it with your coleagues.  Work with it from a variety of different machines.  Recognize Google may be looking at your data as data, so don&#8217;t use it for your super-secret investigative project that must never see the light of day until you say so.  You can use this spreadsheet to feed a mini-version of a Web app, and pipe it into a Web page, like as an HTML table.  More on that in a post TK.</li>
<li>Google Fusion Tables  &#8211; <a href="http://tables.googlelabs.com/Home">http://tables.googlelabs.com/Home</a> &#8211; A lot like Google spreadsheets, but includes built-in embeddable viz tools.  My favorite has to be an intensity map.  If your data has a US state, or a country, and a value, it will shade those geo areas according to that value.  Sweet.</li>
<li>Socrata <a href="http://www.socrata.com/try-it-free">http://www.socrata.com/try-it-free</a> &#8211; Really helpful for organizing data and spitting out charts, that are embeddable.  Limited interactivity.  Good for analyzing complicated data, and tend to take up a large portion of your on screen presentation.</li>
<li><a href="http://www.socrata.com/try-it-free"></a>Tableau Public &#8211; <a href="http://www.tableausoftware.com/public/">http://www.tableausoftware.com/public/</a> &#8211; Nice, relatively easy way to make charts.  You do it through an app that you download, which is PC only, as of now, I think.</li>
<li>DISCONTINUED &#8211; Open Flash Charts &#8211; <a href="http://teethgrinder.co.uk/open-flash-chart/">http://teethgrinder.co.uk/open-flash-chart/</a> &#8211; This was cool, but no longer exists.  Plus, be forewarned anytime you use a tool that involves Flash, it&#8217;s not iPhone/iPad friendly, as of now.</li>
<li>EditGrid &#8211; <a href="http://www.editgrid.com/">http://www.editgrid.com/</a> &#8211; Makes simple graphs.  I found this one to be disappointing, and lack the visual punch I hoped for.</li>
<li><a href="http://www.editgrid.com/"></a>DISCONTINUED &#8211; Swivel &#8211; <a href="http://www.swivel.com">http://www.swivel.com</a> &#8211; This used to be another favorite, and ranked pretty high up, until one day it stopped working.  A discussion on the NICAR list confirmed it wasn&#8217;t just me.  I&#8217;ll always remember it as how I spent 10 minutes of an arts journalism presentation analyzing data of what kinds of books have been sold over time, and my professor saying, &#8220;THAT&#8217;S what the independent study is?  That&#8217;s. So. Cool.&#8221;  It is.</li>
<li><a href="http://www.swivel.com"></a>XML/SWF charts &#8211; <a href="http://www.maani.us/xml_charts/">http://www.maani.us/xml_charts/</a> &#8211; Another limited and disappointing option.</li>
<li><a href="http://www.maani.us/xml_charts/"></a>GunnMap &#8211; <a href="http://www.gunn.co.nz/map/">http://www.gunn.co.nz/map/</a> &#8211; Another limited and disappointing option.</li>
<li><a href="http://www.gunn.co.nz/map/"></a>ChartGo &#8211; <a href="http://www.chartgo.com/">http://www.chartgo.com/</a> &#8211; Another limited and disappointing option.</li>
</ol>
<h2>Static viz</h2>
<ol>
<li>Juice Analytics chart maker &#8211; <a href="http://www.juiceanalytics.com/chartchooser/">http://www.juiceanalytics.com/chartchooser/</a> &#8211; Nice templates for making better looking graphs in Excel.  Great if you need something pretty quickly, and aren&#8217;t completely invested in interactivity.  You&#8217;ll upload this as an image.</li>
<li>Excel &#8211; By default, the spreadsheet program makes some graphs.  Great for analysis, but you&#8217;ll want to dig into settings to customize for a better look if you want to use for professional presentation.</li>
</ol>
<h2>Use programming to make custom charts</h2>
<ol>
<li>Google Charts (static) &#8211; <a href="http://code.google.com/apis/chart/">http://code.google.com/apis/chart/</a> <a href="http://code.google.com/apis/visualization/documentation/gallery.html">and interactive</a> &#8211; Love, love, love.  You can use these as standalone images, or interactive pieces, on a site, or integrate it into a Web app, or anything in between.  Uses Javascript, which makes it accesssible across platforms.  You can make almost any kind of graph you can think of.  Tutorials will walk you through the different types, and you can test your ideas on the fly in the Live Chart Playground, linkable from the left of any documentation page.  More news orgs should be using these puppies early and often.</li>
<li>Jquery (Data Tables) &#8211; <a href="http://jquery.com/">http://jquery.com/</a>; <a href="http://www.datatables.net/">http://www.datatables.net/</a> &#8211; How to bring interactivity to static data-driven webpages.  Think of the various plugins as pre-made apps you can add on.  It does use Javascript, so you need to get comfortable with that.  But Javascript works  across browsers, and on non-Flash-friendly mobile devices.</li>
<li><a href="http://www.lovelycharts.com">Lovelycharts.com</a> &#8211; Not as robust as the other options.  I feel like you can get these sorts of results via the non-programming options, with less time investment.</li>
</ol>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >February 3, 2011 -- <a href="http://michelleminkoff.com/2011/02/03/pbs-post-sharing-our-work-does-it-make-census/" class="wp_rp_title">PBS post: Sharing our work, does it make &#8220;Census&#8221;?</a></li><li >February 5, 2012 -- <a href="http://michelleminkoff.com/2012/02/05/at-peace-with-where-i-am/" class="wp_rp_title">At peace with where I am</a></li><li >January 18, 2010 -- <a href="http://michelleminkoff.com/2010/01/18/committing-fact-errors-in-visualizations/" class="wp_rp_title">Committing fact errors in visualizations</a></li><li >November 22, 2010 -- <a href="http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/" class="wp_rp_title">Using Google spreadsheets as your database</a></li><li >February 13, 2011 -- <a href="http://michelleminkoff.com/2011/02/13/datastories-how-i-envision-news-apps-2-0/" class="wp_rp_title">DataStories: How I Envision News Apps 2.0</a></li><li >April 7, 2010 -- <a href="http://michelleminkoff.com/2010/04/07/columbias-joint-ms-good-start-panacea/" class="wp_rp_title">Columbia&#8217;s new joint MS: Good start, but no panacea</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/11/08/tools-to-help-bring-data-to-your-journalism/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>We must understand our news content as data</title>
		<link>http://michelleminkoff.com/2010/10/16/we-must-understand-our-news-content-as-data/</link>
		<comments>http://michelleminkoff.com/2010/10/16/we-must-understand-our-news-content-as-data/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 06:08:19 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[data visualizations]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1139</guid>
		<description><![CDATA[Building data-driven websites has many different applications, and to say that I&#8217;m close to mastering all the needed techniques would be a lie.  But if there&#8217;s one thing I learned from my &#8220;summer&#8221; internship at the LA Times, it&#8217;s that with some persistence, curiosity and masterful Googling, you can find what you need to know. [...]]]></description>
				<content:encoded><![CDATA[<p>Building data-driven websites has many different applications, and to say that I&#8217;m close to mastering all the needed techniques would be a lie.  But if there&#8217;s one thing I learned from my &#8220;summer&#8221; internship at the LA Times, it&#8217;s that with some persistence, curiosity and masterful Googling, you can find what you need to know.  I&#8217;ve learned enough to know it&#8217;s not good enough to do data journalism the way it&#8217;s always been done.  And I know enough to make my visions of pushing things forward start to form into reality.</p>
<p>I&#8217;ve been thinking a lot lately about the type of work we do.  If we get a mention on Poynter or Nieman Lab, this is a great thing.  But what&#8217;s more important is creating projects that mean a lot to the general public.  So, while much of past data journalism has been based in politics and investigative work, and that remains a cornerstone, there&#8217;s this other part of data journ I think we should pursue.  That&#8217;s structuring our journalism as data across beats. Creating projects for features as well as hard news. Because news consumers with a variety of interests deserve the interactivity, personalization and cold, hard truth that data can bring to a story.  We CAN do this, and we SHOULD do this.</p>
<p>We have control over how we structure and present our own content, and we can do better with linking it up. Background: Started thinking about this as a simple idea when I read Derek Willis&#8217; <a href="http://blog.thescoop.org/thefix/rivers-of-data/" target="_blank">Rivers of Data</a>, which takes the concept much further.  The piece is from 2005, and it&#8217;s frightening how much remains true. I also <a href="http://www.poynter.org/column.asp?id=31&amp;aid=183536" target="_blank">wrote about this</a> a bit for Poynter.</p>
<p>So, while I&#8217;m proud of all the work I did at the LAT &#8212; from a <a href="http://projects.latimes.com/prop19" target="_blank">campaign contributions application</a> to an <a href="http://projects.latimes.com/redevelopment" target="_blank">investigative sidecar that explores how YOUR redevelopment agency is spending its money</a>, my <a href="http://projects.latimes.com/bestsellers" target="_blank">redesign and relaunch of the LA Times&#8217; bestseller list</a> as a data project, that&#8217;s kind of my favorite accomplishment of the summer.<span id="more-1139"></span></p>
<p>If you look at the site, you don&#8217;t see the back end that takes a complex formula that was being calculated by hand week after week, and translates it into a function that calculates lists automatically. You don&#8217;t see the nuanced details of the internal system I created, which wouldn&#8217;t be possible without how easy the Django admin makes these sort of things.  I hope it helps reduce the manual calculations for people who enter bestseller lists week after week.</p>
<p>But instead of standalone lists, now we can loop things together.  Bestsellers lists come out every week, with the same darn structure.  We can, and must, take advantage of that fact.  We can, and must, present those lists differently, with better interlinking, on the Web.  It can, and must, be different than how we&#8217;ve done these sort of things in print.  This makes exploring bestsellers specific to the SoCal area easier for the readers/users who care about digging deep. That&#8217;s what it&#8217;s all about.</p>
<p>Show me the data.  It&#8217;s a repeatable mantra, and one of my favorites.  Don&#8217;t just tell me &#8220;The Help&#8221; has been on the list 71 weeks.  <a href="http://projects.latimes.com/bestsellers/titles/help/" target="_blank">Show me</a> how it ranked, and when it ranked, each of those 71 weeks.  Let me click on those weeks, and see the ranking in context.</p>
<p>Not because it&#8217;s some cool way to tell a story (although, I like to think it is), but because if you&#8217;re a lit geek, it matters.  More information, the better.</p>
<p>And this project won&#8217;t become irrelevant because of stale data.  The LAT will keep coming out with its bestseller list, and the database will slurp that structured information into an integrated site.  Find the information you want, search for a specific title or author you care about, browse to learn more information about what you never knew existed.</p>
<p>Collaborate with reporters, producers, developers, analysts.  Not one set of them, but anyone who&#8217;ll give it a shot.  The data structure is well and good.  But&#8230;the person on the books staff who&#8217;ll add in links to LAT book reviews associated with each book, that makes it even better.  If the computer can&#8217;t get it done, enlist the people who really know the subject.  Structuring our news as data isn&#8217;t the final piece. It&#8217;s the beginning.  That structure allows us to add pieces to enhance how people can explore information.  We used to just access reviews by flipping through the paper.  Then, we added search engines.  Now, a deep dive page about a given book&#8217;s bestseller history can link you to that review.  The more ways users can get to our content, the better.  How effective is it? We&#8217;ll see.  But we can&#8217;t stick to structuring our news the same way, and failing to give it a shot.</p>
<p>Successful data projects require integration and collaboration across parts of the newsroom, and that&#8217;s something we were able to accomplish on this project. Thanks to so many at the LAT for bearing with me, during this and other endeavors, listening to some crazy ideas.  Can&#8217;t wait to see how the bestsellers site grows with this new framework in place.</p>
<p>So, data projects, what I spend my life on now.  Yeah, they&#8217;re hot these days.  They&#8217;re also a way we&#8217;ve been doing some parts of journalism for decades.  But here&#8217;s my philosophy, as someone who&#8217;s been dabbling/obsessing about this for a while: Don&#8217;t just do it for investigations, don&#8217;t just do it for one type of news.  Don&#8217;t just see it as a technique for one type of project.  Data&#8217;s not just a specialty, it&#8217;s also a way we can structure our sites themselves.  All to help people explore their world.  All to tell the story.</p>
<p>This is a philosophy I&#8217;ve been dreaming about for a while.  Haven&#8217;t pushed it far enough yet.   But bestsellers is a major step toward what can be, integrating data with the general newsroom process. I know it&#8217;s not an entirely new idea, but having the skills to put a vision like that into reality, to create this sort of a framework, for someone doing this for about a year, it&#8217;s a great &#8220;parting shot&#8221; (as Ben called it) for my time at the LAT.</p>
<p>Bet I can do even more at PBS, as the learning continues.  Less than a week till I get out there.  Don&#8217;t know exactly what we&#8217;re going to put together, but it&#8217;s going to be pretty darn cool.  And I hope this philosophy provides a decent jumping off point for some discussions, and some of our new content.</p>
<p>Watch out Washington &#8211; I&#8217;m coming your way soon!  Start at PBS on Oct. 25.  It&#8217;s going to be a roller coaster of a ride!</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >November 22, 2010 -- <a href="http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/" class="wp_rp_title">Using Google spreadsheets as your database</a></li><li >September 28, 2010 -- <a href="http://michelleminkoff.com/2010/09/28/heading-to-pbs-dreams-do-come-true/" class="wp_rp_title">Heading to PBS: Dreams do come true</a></li><li >September 21, 2010 -- <a href="http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/" class="wp_rp_title">The power of linkable data apps (my second LAT app)</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >October 30, 2011 -- <a href="http://michelleminkoff.com/2011/10/30/answering-some-faqs-about-fusion-tables/" class="wp_rp_title">Answering some FAQs about Fusion Tables</a></li><li >May 12, 2010 -- <a href="http://michelleminkoff.com/2010/05/12/spreading-data-wordvia-poynter/" class="wp_rp_title">Spreading the data word&#8230;via Poynter</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/10/16/we-must-understand-our-news-content-as-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Heading to PBS: Dreams do come true</title>
		<link>http://michelleminkoff.com/2010/09/28/heading-to-pbs-dreams-do-come-true/</link>
		<comments>http://michelleminkoff.com/2010/09/28/heading-to-pbs-dreams-do-come-true/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 06:46:55 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[data visualizations]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1122</guid>
		<description><![CDATA[Warning: This will be long, and sappy, and sentimental, and all things cliche. But, hopefully, it&#8217;s still uplifting and interesting. My &#8220;summer&#8221; internship at the LA Times is almost over. It&#8217;s lasted from April until now, and I could stay longer. I swore you&#8217;d have to drag me out of &#8220;dream internship&#8221; kicking and screaming, [...]]]></description>
				<content:encoded><![CDATA[<p><em>Warning: This will be long, and sappy, and sentimental, and all things cliche. But, hopefully, it&#8217;s still uplifting and interesting.</em></p>
<p>My &#8220;summer&#8221; internship at the LA Times is almost over. It&#8217;s lasted from April until now, and I could stay longer.  I swore you&#8217;d have to drag me out of &#8220;dream internship&#8221; kicking and screaming, as I clung to the massive walls of the still-impressive building.  I will never forget the chance I was given at the LAT, and the boost it gave my career.  But it&#8217;s time to move on.</p>
<p>I&#8217;m delighted to report that I&#8217;m joining PBS as a Data Producer for the organization&#8217;s website.  Specifically, this will be a new news and public affairs component of the site.  Yes, I&#8217;ll work for the national headquarters.  Yes, that&#8217;s in Washington.  We&#8217;re going to start something brand spanking new, capitalizing on the engaging, riveting, in-depth style PBS is known for, and translating that to the Web.  I&#8217;ll get to serve as a generalist, with a specialty.  Exercise my entrepreneurial spirit, but within the structure of a strong organization.<span id="more-1122"></span></p>
<p>We&#8217;ll push the data visualization and application side of things, but I&#8217;ll also get to use the plethora of skills I&#8217;ve picked up along the way outside of data journalism.  We&#8217;ll go on an adventure together.  There&#8217;s so much I can&#8217;t be specific about, because it&#8217;s all new.  But I do promise to not only keep you updated, but pick your brains for advice on what you want to see from the digital side of public television.</p>
<p>That being said, my hope is that we can say a few things for certain: We&#8217;re not going to be doing the same old journalism the same old way.  We WILL push the boundaries of storytelling.  We WILL help people stay informed and engaged with the news.  We WILL help people make sense of the world, and we will do it with concrete facts.  We WILL remember we do this for the users, the public.  We WILL combine the best qualities of data journalism, online journalism and public television.</p>
<p>This transition is made easier by the fact that I have high hopes for bosses who &#8220;get&#8221; the mission I&#8217;ve been yammering about for a year.  It&#8217;s not just about data, but about integration. We&#8217;ll be a nimble enough team that we can learn from each other, and not be segmented.  The folks already on board have significant experience in this world, whether it&#8217;s fellow TribCo alum Tom Davidson or St. Pete Times alum Christine Montgomery &#8212; Matt Waite&#8217;s boss during the launch of Politifact.  They know what data apps are.  That means we push harder.  Not good enough for me to say, &#8220;Hey, you ever heard of data journalism?&#8221; Got to come up with something better, something fresh and new.  We&#8217;ll push each other to create the best product we can.  We only fail if we fail to try.</p>
<p>I&#8217;ll be moving to Washington DC, in a very few short weeks &#8212;  planning to land there by the end of October.  So excited!  After all, about a year ago, I had the pleasure of being introduced to this sort of work.  It all started with one class.  I discovered more and more people like me, and the community made me better.  You can learn a lot from engaging online, but I miss the real-world conversations we had a year ago.  I love the people I&#8217;ve met in LA with all my heart, but I still can&#8217;t help but feel that Washington is my intellectual home.</p>
<p>I&#8217;m excited to return to PBS.  Last summer, I served as a Web intern for Chicago Tonight at WTTW, Chicago&#8217;s PBS affiliate.  It was one of the best summers of my life, and I learned so much about broadcast and the Web, and the relationship/integration between the two.  But that&#8217;s also when the wheels started turning.  I wished I knew more about how to get data on a map.  I wished we could go more in-depth with Web packages.  I wished we could use pure facts, data, not just for investigative pieces, but to enhance people&#8217;s knowledge on topics across beats.  Now, I have enough knowledge to push further, and to accomplish so many things I just couldn&#8217;t a year ago.  And I&#8217;ve long thought public television sites were a niche ripe for the picking.</p>
<p>And now&#8217;s as good a time as any to acknowledge that I wouldn&#8217;t be in this position without the mentorship of NICAR folks.  You know who you are.  And the greatest class I ever took after Medill is the classroom I&#8217;m in every day, the LA Times Data Desk. The data analysts show me the thought process, and intense checking, that goes into every data project.  My boss, Dan Gaines, listens to new ideas and floats his own, always looking at you with an intensity that shows just how much he cares about journalism, and you as a person.  But my greatest teachers have been Ben Welsh and Ken Schwencke.  Fellow journalist-programmers, we geek out together and support each other.  And no matter how messy my code, how many mistakes I made, how much I&#8217;m still in the rough, they make me better, and never with a harsh word.  If I get stressed, I only need to look over at them to see it will all be okay. Leaving them will be the hardest part of all.  But they&#8217;ve prepared me to get to this point, and I&#8217;ll find even more mentors and supporters. And guys, you know you&#8217;re just a GChat or a tweet away, even if a continent separates us.</p>
<p>On an even more personal note, this next step represents some sort of victory.  Yes, I know it&#8217;s only the beginning.  But at the same time, it was this sort of position that I&#8217;ve been working for all along.  I didn&#8217;t learn programming so I could write some awesome loader, geek out about server loads, etc.  It&#8217;s all fascinating, sure!  But I did it, I do it every day, and I will always do it &#8212; for the journalism.  It&#8217;s a tool, just like a photo journalist using a camera.  That doesn&#8217;t make him or her a wedding photographer. They practice journalism through photographs.</p>
<p>We see so many posts in the journo-community, asking if journalists should learn programming, if programmers should learn journalism, what do we name people with this hybrid?</p>
<p>But, here&#8217;s the question I forgot to ask.  Once you start getting all these skills, where can you go to use them?  Some of my mentors received quite a few late-night emails, listened to quite a few rambles.  Where is the place that understands my tech skills are deeper than uploading my story to a content management system?  Where is the place that understands I could add features to your site, and do general tech/IT maintenance all day long, but I have these journalism skills.  The tech skills help to tell the story.  It&#8217;s not one or the other.  I consider myself equal parts programmer and journalist, journalist and programmer.</p>
<p>I had a fascinating job search, and managed to never file a single application, without someone from an organization reaching out to me first.  That&#8217;s not what they tell us will happen at Career Services!  If you want to pursue this career change, there isn&#8217;t a better time.  Still, finding the right organizational match is no easy task.  And I can&#8217;t tell you how ecstatic I am to have found that match.</p>
<p>In a world where we decry the death of journalism on a daily basis, where we&#8217;re afraid we won&#8217;t get jobs,  I say there IS hope if we hold out.  If you believe in what we do, follow your interests and skills, you&#8217;ve got a better shot. We must always push onward.  And I, well, I never believed that less than a year after graduating Medill, not only would someone pay me to do what I love, but I would get to do it at an organization that instilled my own love for education.   It still seems like a dream that&#8217;s coming true.  I never believed I&#8217;d get to a national organization this fast.  I never believed I&#8217;d get to take my ideas outside of a blog, outside of an academic paper, outside of internship after internship.  Doesn&#8217;t mean I&#8217;m right, I&#8217;m probably not.  But if the ideas just stay incubated, and are never considered professionally, what good is that?</p>
<p>We don&#8217;t have time to waste.  The moment is now.  We can&#8217;t afford to wait, the industry&#8217;s already behind where it should be in 2010.</p>
<p>So, I promise anyone reading this, friends I&#8217;ve known since elementary school, my dear supportive parents, teachers from all levels of schooling, fellow journalists fighting the fight for truth and knowledge every day, I promise that I will give this everything I&#8217;ve got.  I recognize the preciousness of this gift. And on behalf of young journos everywhere, PBS, thank you for believing in us, in our potential.  Thank you for the opportunity to experiment on a national playground.  We only move forward by trying something new.</p>
<p>There will be no resting on laurels, there will be no complacency. Thank you all for your help so far, and I know we&#8217;ll be calling on each other in the days, weeks and years to come.</p>
<p>But for now, journalism must push forward.  Let&#8217;s get started.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >March 18, 2010 -- <a href="http://michelleminkoff.com/2010/03/18/my-next-move-la-times/" class="wp_rp_title">My next move: LA Times!</a></li><li >February 17, 2011 -- <a href="http://michelleminkoff.com/2011/02/17/an-inside-look-at-life-at-pbs-news/" class="wp_rp_title">An inside look at life at PBS News</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >November 22, 2010 -- <a href="http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/" class="wp_rp_title">Using Google spreadsheets as your database</a></li><li >September 21, 2010 -- <a href="http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/" class="wp_rp_title">The power of linkable data apps (my second LAT app)</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/09/28/heading-to-pbs-dreams-do-come-true/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>The power of linkable data apps (my second LAT app)</title>
		<link>http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/</link>
		<comments>http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 05:55:02 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[data visualizations]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[contributions]]></category>
		<category><![CDATA[django app]]></category>
		<category><![CDATA[LAT]]></category>
		<category><![CDATA[proposition 19]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1118</guid>
		<description><![CDATA[Story of my life: This is a few weeks overdue. Launched a new app at the beginning of this month, tracking Prop 19 campaign contributions, which you can see at http://projects.latimes.com/prop19 I&#8217;ve spent much of my &#8220;summer&#8221; internship at the LA Times (ranging from April through present) working on a campaign contributions searchable application, to [...]]]></description>
				<content:encoded><![CDATA[<p>Story of my life: This is a few weeks overdue.  Launched a new app at the beginning of this month, tracking Prop 19 campaign contributions, which you can see at <a href="http://projects.latimes.com/prop19">http://projects.latimes.com/prop19</a><span id="more-1118"></span></p>
<p>I&#8217;ve spent much of my &#8220;summer&#8221; internship at the LA Times (ranging from April through present) working on a campaign contributions searchable application, to help the public explore the money that&#8217;s financing various propositions in California. The first step was getting the <a href="http://projects.latimes.com/prop8">Prop 8 application</a> out back in late June.  I&#8217;m really into the idea of templating data apps recently.  Make a custom interface, but make it resuable, so it doesn&#8217;t have to stop as one application.  It&#8217;s like how we already use third-party source tools as frameworks (Dipity, ManyEyes, etc.) We should expect the same, if not more, of custom solutions we create ourselves.  So, the original idea for the Prop 19 app was to apply Prop 19 data to the Prop 8 code.  We did that, but as is my normal mode, more features suddenly found themselves on the list.  So, in the end, we have two frameworks for campaign contributions now: the simple version and the more advanced version. </p>
<p>One of the large advancements in the second version is that every single donation is listed separately.  In Prop 8, the legacy data passed down to me had aggregate donations, which is helpful, but means users miss out on certain nuances.  So, when we were able to pass each donation in separately, I believed it was key to make each one linkable and sharable.  Not only does each donation have a separate link, but so does every donor, city, state, zipcode and committee.  This means if people find something and want to blog about it, share it with a friend, draw a media organization&#8217;s attention to it, whatever, they have a way to point someone else to that exact spot.  We don&#8217;t do enough of it in the data apps world.  Web frameworks make this easier, Flash interactives do not.</p>
<p>Creating permanent links to records and aggregate pages of our data is essential.  It&#8217;s how we combine our searchable databases with other reporting forms that provide even more context.  Did you write a story about someone you know gave a lot of money to a campaign?  And there&#8217;s a searchable database to go with that campaign?  Don&#8217;t just tell me they donated a lot of money, show me.</p>
<p>Just an example of one way we can change our mindset as reporters, Web producers, developers or whatever it is we do.  Find the minute detail, make it shareable.  Because while you may only care about record #1157, someone else cares much more about record #1158.  And both of you should be able to find that piece of the story that matters to you and use it.  That&#8217;s data for personalized news, and yet another lesson I take away from my time at the LAT.</p>
<p>PS &#8212; If you want a random Django tip (come on, you know you do) {% ifchanged %} is my new favorite template tag.  If you have a big list you&#8217;ve pulled out as a query, and it&#8217;s sorted, but you want to separate the list into subcategories, you want this.  Figure out an attribute that&#8217;s going to change, and enter that info as a label, inside the {% ifchanged %} tag.  It&#8217;ll show up when the code and text inside the tag changes &#8212; makes sense. This tip has made an ongoing project a lot easier, which I&#8217;ll be able to chat more about in a few weeks once it launches.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/my-first-lat-django-app-or-the-butterfly-on-my-windowsill/" class="wp_rp_title">First LAT app (or the butterfly on my windowsill)</a></li><li >November 22, 2010 -- <a href="http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/" class="wp_rp_title">Using Google spreadsheets as your database</a></li><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >May 3, 2010 -- <a href="http://michelleminkoff.com/2010/05/03/real-world-coding-lessons/" class="wp_rp_title">Note to self: Real world journo-coding lessons</a></li><li >September 28, 2010 -- <a href="http://michelleminkoff.com/2010/09/28/heading-to-pbs-dreams-do-come-true/" class="wp_rp_title">Heading to PBS: Dreams do come true</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hosting #wjchat &#8212; Finding the story in the data</title>
		<link>http://michelleminkoff.com/2010/09/07/hosting-wjchat-finding-the-story-in-the-data/</link>
		<comments>http://michelleminkoff.com/2010/09/07/hosting-wjchat-finding-the-story-in-the-data/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 02:01:29 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CAR]]></category>
		<category><![CDATA[data visualizations]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1085</guid>
		<description><![CDATA[UPDATE: More later, but if you missed the geekery and fantastic exchange of knowledge that you get with a phenomenally sharp, inquisitive and dedicated group like the #wjchatters, you can find the transcript here. Tomorrow, Wed. Sept. 8, we&#8217;ll be discussing &#8220;Finding the story in the data&#8221; at #wjchat, and I have been tapped to [...]]]></description>
				<content:encoded><![CDATA[<p><strong>UPDATE:  More later, but if you missed the geekery and fantastic exchange of knowledge that you get with a phenomenally sharp, inquisitive and dedicated group like the #wjchatters, you can find the transcript <a href="http://wjchat.webjournalist.org/?page_id=223">here</a>.</strong></p>
<p>Tomorrow, Wed. Sept. 8, we&#8217;ll be discussing &#8220;Finding the story in the data&#8221; at #wjchat, and I have been tapped to host.  (One might ask why, they must really be running low on people&#8230;.I kid, I kid.)  </p>
<p>This issue is extremely important, and one that must be addressed by the Web journalism groups.  There&#8217;s a difference between telling a journalistic story, but lacking the data and displaying data in an aesthetically pleasing way that doesn&#8217;t really tell a story.  The best data journalism does both.  It&#8217;s rare, and I believe we all need to work harder at doing more of it.  A tall order for someone to do alone, or even a team, but if the community puts its collective head together, we&#8217;ve got a better shot.<br />
<span id="more-1085"></span><br />
I couldn&#8217;t be more excited to discuss some of the issues I&#8217;ve been spending much of the last year internalizing.  I have some better ideas about this now than I did back last September, I hope, but it&#8217;s also one of my favorite topics to ponder, because there are so many ideas I know I haven&#8217;t considered.  I hope to report back with a nice compilation of links and thoughts once we tap into the community&#8217;s knowledge, but for now, I&#8217;m just spreading the word.  </p>
<p>If you read this blog, but aren&#8217;t familiar with #wjchat, it&#8217;s a gathering on Twitter on Wednesday evenings where we discuss various aspects of online journalism.  It ranges from social media, to video, to how to get a job, to data.  I love all the facets of journalism, so it&#8217;s a great way to guarantee yourself some great conversation and learning all wrapped up into one package.  At 5 Pacific, 8 Eastern, on Wednesday, that&#8217;s tomorrow, just hop on over to Twitter and follow the hashtag #wjchat.  I find it easier to follow via tweetchat.com, which gives you a little chatroom that has a nicer interface than twitter.com &#8212; the conversation can get fast and furious.</p>
<p>In the meantime, if there are specific topics you&#8217;d like to see discussed, or questions you&#8217;d like asked, get at me before, or during the chat.  </p>
<p>And if you&#8217;re one of my dear NICARian mentors, it&#8217;d be really fantastic if you could find the time to drop by.  Anything I&#8217;ve picked up in my career thus far is minimal, and I owe it all to the collective wisdom of those who&#8217;ve taught me what I know as a journalist and a programmer.</p>
<p>See you in the virtual space!</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/my-first-lat-django-app-or-the-butterfly-on-my-windowsill/" class="wp_rp_title">First LAT app (or the butterfly on my windowsill)</a></li><li >March 18, 2010 -- <a href="http://michelleminkoff.com/2010/03/18/my-next-move-la-times/" class="wp_rp_title">My next move: LA Times!</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >September 21, 2010 -- <a href="http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/" class="wp_rp_title">The power of linkable data apps (my second LAT app)</a></li><li >September 16, 2010 -- <a href="http://michelleminkoff.com/2010/09/16/journ-curriculas-transition-isnt-unique/" class="wp_rp_title">Journ curricula&#8217;s need for transition isn&#8217;t unique</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/09/07/hosting-wjchat-finding-the-story-in-the-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>First LAT app (or the butterfly on my windowsill)</title>
		<link>http://michelleminkoff.com/2010/07/11/my-first-lat-django-app-or-the-butterfly-on-my-windowsill/</link>
		<comments>http://michelleminkoff.com/2010/07/11/my-first-lat-django-app-or-the-butterfly-on-my-windowsill/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 05:27:56 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CAR]]></category>
		<category><![CDATA[data visualizations]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[theory]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1051</guid>
		<description><![CDATA[http://projects.latimes.com/prop8 So, there&#8217;s that. First launch! My checklist: Figure out what part of journalism inspires me. CHECK (Data, programming) Find place where I can learn about it from others, but have freedom to try out my ideas and learn from knowledgeable and patient folks. CHECK (LAT) Use this opportunity to learn enough about programming to [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://projects.latimes.com/prop8/" target="_blank">http://projects.latimes.com/prop8</a></p>
<p>So, there&#8217;s that. First launch!</p>
<p>My checklist:</p>
<ul>
<li>Figure out what part of journalism inspires me. CHECK (Data, programming)</li>
<li>Find place where I can learn about it from others, but have freedom to try out my ideas and learn from knowledgeable and patient folks. CHECK (LAT)</li>
<li>Use this opportunity to learn enough about programming to create at least one app. CHECK (See first line of post)</li>
</ul>
<p>That was a good time.</p>
<p>I&#8217;m planning a post on best practices for creating a searchable database application like this, with examples, and technical geekery, and all that, and I&#8217;d love your thoughts in the meantime.  Let me know if you have specific questions.</p>
<p>But in a moment of self-reflection, I&#8217;d just like to say this.<span id="more-1051"></span></p>
<p>I was sitting in my apartment this morning, and found that a butterfly had somehow gotten in (blame a broken screen, maybe).  It sat on my windowsill, facing the outside world.  It would feel around the window, trying to find an opening.  After circling the perimeter of the window, it laid back down, almost motionless, just searching.  An hour later, the cycle repeated.  Wanting to help the poor butterfly, after watching it struggle, I tried to capture it in a small box to take it downstairs.  It was too smart for that.  Fine.  What actually worked?  Covering all the windows and opening the balcony door.  You can&#8217;t force the butterfly out, even though you&#8217;re helping, it had to find the path out on its own.</p>
<p>Why do I bring this up?  Am I slowly going insane after spending the day with Dive Into Python (rec&#8217;d)?  Perhaps. But I have a point.</p>
<p>Let&#8217;s take the common journalist, yearing to know more about data-driven apps.  (I can&#8217;t be the only one, I just can&#8217;t!)  I search for the answers, voraciously read, alternate between laying still while observing the space and wandering around the perimeter, feeling it out, trying to dip my toe in the water.  I jump into the pool, head-first, realize it&#8217;s not working.  Can&#8217;t do it on my own.  Many people who&#8217;ve already made the journey try to help.  But they just can&#8217;t just give me the knowledge, can&#8217;t just take me to my goal, can&#8217;t just make it happen.  They must lead me there, give me the same resources they used.  Recommend the books, the sites. But in the end, I&#8217;ve got to find my own way out of the house, the prison of not knowing enough coding basics to begin.  Pushes in the right direction, guiding me away from those false starts, this is essential.</p>
<p>I&#8217;d just like to take a moment to thank the experts, who guide me away from the false starts, who don&#8217;t give up when I keep turning the wrong way.  In particular, in terms of the programming skills I&#8217;m learning, it&#8217;s Ben Welsh (who I happen to have been working most closely with), who exercises that kind of patience.  Who never tells me not to fly into that closed window, because while it was closed for him, I might discover a way to get out.  Of course, I don&#8217;t, and he&#8217;s no less interested in helping me get back on course. Thanks!</p>
<p>Still a long way to go.  So, what&#8217;s changed?  Now, I&#8217;ve gotten outside.  I made my first app.  When someone asks me what steps make up a project, how long it&#8217;ll take, I can give a legitimate answer, or know how to find one.</p>
<p>I still remember wondering if I could ever build an application.  And Derek said to me, &#8220;There&#8217;s only one way to find out.&#8221;  Derek, who I used to bug on a daily basis about this stuff.  Derek, who I haven&#8217;t asked a Python/Django question of since March.  I&#8217;m the LAT&#8217;s problem now!</p>
<p>Well, as Derek said, find out we did.  Time to push it further, I say.</p>
<p>There&#8217;s a whole world to explore now that I&#8217;ve escaped being stuck inside.  LAT folks, prepare yourself, the questions you&#8217;ve seen so far are only the beginning.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >February 17, 2011 -- <a href="http://michelleminkoff.com/2011/02/17/an-inside-look-at-life-at-pbs-news/" class="wp_rp_title">An inside look at life at PBS News</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >September 21, 2010 -- <a href="http://michelleminkoff.com/2010/09/21/the-power-of-linkable-data-apps-my-second-lat-app/" class="wp_rp_title">The power of linkable data apps (my second LAT app)</a></li><li >March 8, 2010 -- <a href="http://michelleminkoff.com/2010/03/08/piece-de-resistance-data-viz-wrapup/" class="wp_rp_title">Piece de resistance: Data viz wrapup</a></li><li >September 7, 2010 -- <a href="http://michelleminkoff.com/2010/09/07/hosting-wjchat-finding-the-story-in-the-data/" class="wp_rp_title">Hosting #wjchat &#8212; Finding the story in the data</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/07/11/my-first-lat-django-app-or-the-butterfly-on-my-windowsill/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Delver: Andy Boyle, St. Petersburg Times</title>
		<link>http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/</link>
		<comments>http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 04:25:25 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CAR]]></category>
		<category><![CDATA[data delvers]]></category>
		<category><![CDATA[data visualizations]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[andy boyle]]></category>
		<category><![CDATA[computer assisted reporting]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[reporter]]></category>
		<category><![CDATA[st. petersburg times]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=990</guid>
		<description><![CDATA[The last Data Delver I have on tap is Andy Boyle.  If you&#8217;re in the online journalism sphere on Twitter, you know this name, or at least, @andymboyle.  But let&#8217;s say you don&#8217;t.  If I introduce him as a reporter, that&#8217;s not the full picture.  A developer?  That&#8217;s not it either.  Web-savvy journo?  Still, nope.  [...]]]></description>
				<content:encoded><![CDATA[<p>The last Data Delver I have on tap is Andy Boyle.  If you&#8217;re in the online journalism sphere on Twitter, you know this name, or at least, @andymboyle.  But let&#8217;s say you don&#8217;t.  If I introduce him as a reporter, that&#8217;s not the full picture.  A developer?  That&#8217;s not it either.  Web-savvy journo?  Still, nope.  All of the above, and then some?  Now, we&#8217;re getting somewhere.</p>
<p>I&#8217;ll just put it this way.  Andy, you&#8217;ve been an inspiration.  Watching your work while I was a student at Medill, and how much you enjoyed it, I knew some day I could do anything, if I could just set my mind to it, and find supportive mentors.</p>
<p>It&#8217;s a parallel thing.  Andy gets Matt Waite and Jeremy Bowers at the Times of the Southeast (St. Pete), I get Ben Welsh and Ken Schwencke at the Times of the Southwest (LA).  Match good mentors with journalistic enthusiasm and obsession, and you&#8217;ll get somewhere!</p>
<p>We both get to bring passion, skill and journalistic knowhow to the table.  We bug the people with the tech knowledge until we have a moment like <a href="http://twitter.com/andymboyle/status/17966047863" target="_blank">this</a>.   Maybe someday I&#8217;ll report in the field and code like Andy does.  But for now, my reporting consists of investigating the nuances of the still-large ship that is the LA Times, and looking at how it can be even better.  And at this point in time, I wouldn&#8217;t change it for the world.</p>
<p>It seems appropriate to post this interview with Andy now (Yes, I&#8217;m making excuses for delaying this for months and months&#8230;.).  I chatted with him in March, just after the launch of his first Django app &#8211; MyLawmaker.  And I just launched my first one about two weeks ago.</p>
<p>I started these Data Delver interviews knowing no one in the field other than Derek Willis.  (And if you only got to know one person, he&#8217;s as good as it gets.)  And now, I feel like I know so many more.  And for some reason, I get to be a part of their ranks each day.  It&#8217;s a privilege, an honor, and an adrenaline rush like no other.</p>
<p>I&#8217;ll let Andy take it away in his own words now.</p>
<p><span id="more-990"></span><em></em></p>
<p><em>This transcript of my interview with Boyle is a part of my continuing series I’m calling “Data Delvers,” where I pass on transcripts, summaries, quotes and audio clips from conversations with journalists using technology to find, analyze and convey data-driven stories and/or projects to the modern audience.</em></p>
<div style="margin: 15px; padding: 10px; background-color: #000000; float: right; width: 300px;"><a href="http://michelleminkoff.com/audio/boyle_1.mp3">Audio: Walking the line between reporter and developer is useful.</a><small></small></div>
<h2>Extended transcript</h2>
<p><strong>Why is having an understanding of data important?</strong><br />
When we have meetings to discuss story ideas with the group I work with we mainly focus on breaking news on the web.  When somebody says something, it’s really nice to be able to go, “Oh, I know how they keep those records so I know exactly how you can ask questions to find out how many total XXX has happened this year.&#8221;  It really helps to have a background, it gives you a chance to dig deeper and get more context.</p>
<p><strong>Is St. Pete working to get other reporters to get more up to speed on this?</strong><br />
I think there’s quite a few reporters who do have this type of skill or do have the basics.  They can use Excel; they can use Microsoft Access.  Actually, there’s a reporter who did a really awesome story on leaky underground storage tanks and where they are located.  My compadre, Darla Cameron, does a lot of GIS stuff, so she’s also a data nerd, like me. She was able to help him with that. A lot of people use databases on a pretty average basis and have some CAR training, but not as much huge stuff like the Wetlands project that the St. Pete Times did with Matt Waite and Craig Pittman a few years ago.  But things on a smaller scale are happening.</p>
<p><strong>Going back to the MyLawmaker project, what was the genesis of that?</strong><br />
The genesis is that on Monday the state legislature starts so we print this thing every year in our Perspectives section which runs every Sunday.  We print opinion pieces and stuff like that in a section called &#8216;For a better Florida&#8217;.  One of our politics editors, Amy Hollyfield,  had sent an email out to one of the higher-ups  saying that there’s this project from the New York Times called Represent and another one at Oregon Live &#8211;  Your Government, where you type in your address and it shows you your state lawmakers, congressmen, city lawmakers, etc.  She asked if it would be possible for us to set up something to help people find their state representatives and state senators from their address?  This somehow made it to me and I go, “Yeah, yeah, that can be done; it’s possible.”  At that point I had no clue in my mind of how we were going to do that, but I knew it was possible because obviously someone else could do it. So we had the shape files; Darla already had the information.  Somehow we could write a program that would geocode your address and would ask what you wanted to see, and it would print out what you wanted.</p>
<p>So that was basically last Thursday and it is now Friday and we are ready to launch.  Thursday, about 3:30 in the afternoon, it was like, “Hey guys, do you think you can do this?”  I was taught a long time ago that if you think you can, try it. This is something that I really wanted to do.  It was an opportunity to try this stuff   I’ve been working on.  I’ve been working on some Django and Python with Matt Waite and Jeremy Bowers, so it was nice to spearhead a project and have ownership on something and work with a group of awesome people like Darla and Lee.  I’m really jazzed.<br />
<strong><br />
So how did you start getting into Django…just by being around Matt and Jeremy?</strong><br />
Yeah, that’s totally it.  He’ll [Matt Waite] browbeat you into believing what he believes.  When I went to the Indianapolis NICAR conference he had a thing, a bootcamp, for three or four of the days on frameworks, so that was Django and the basics of it.  And I remember when he showed it,  I thought, “Man, that’s way easier than making hundreds of  individual web pages and then having to edit the HTML in each one. “ I remember being a kid and having an AOL members’ web page and how horrible it was to have to update every single HTML file and I thought “Wow!  This is something that automatically creates this stuff.   That is sweet.   I need to learn this.” And that was in March of last year.</p>
<p>And then after that it was just me attempting to learn stuff and breaking everything and being really afraid that I’d destroy my computer and not becoming afraid of the terminal. It was a very long process.  There were a couple of projects over the summer that I worked on.  One was FCAT, which is an aptitude test given to students in public schools in Florida. We were able to make a searchable database for that.  I wrote the models on that, and then they did the rest of the heavy lifting.  I guess that was the first project I had any sort of help with.  Then we later had a project for high school sports, called Home Team, which is totally awesome.  I was able to see the inner workings  and it was really cool to see the process of how they were developing it and how it was being set up.  I wanted to build something, so when the opportunity came along for MyLawmaker, I jumped at the chance to do it.<br />
<strong><br />
So what did you end up using for the geocoding?</strong><br />
We used Google.    There’s a limit of 2,500 times per IP in a 24 hour period which is an issue if you hope to get a lot of hits on  your website.   So what we do is we actually pass it off to JavaScript on the client side, so the server’s IP address comes from the user’s computer. Not that we expect 2,500 hits a day, but we have no clue as to how many hits it will get.   But we thought it’d be nice just in case.  We don’t want people trying to use it and it’s broken.</p>
<p><strong>Have you had requests from the community for anything like this?  It doesn’t have to be specifically MyLawmaker, but just more interactive stuff?</strong><br />
I think a lot of people really like it.  When our FCAT project launched in the summer, it got a ton of use.   It still kind of does.  A lot of those projects that are usually attached to stories initially get a lot of hits.  With a project like this once we told some of our colleagues about it, they were like  “Wow, that’s a great idea.” With the state senate website, you can only search by zip code.   Then it will tell you the districts that are in that zip code and you have to click on that and see if you are located on a little map of the district, so ours is actually a little better than part of the state legislature’s.  But I guess that’s the goal.  We want to make sure that people can find the information and find whom to call if they have an issue.   A lot of people were quite surprised…they didn’t believe who their state legislators were.  Said, “That can’t be true.”  But it was, and they wouldn’t have known otherwise.</p>
<p><strong>Why do you see this type of work as important?</strong><br />
It’s interactive.  When you pick up a newspaper, you read a story and it kind of ends there.  What’s really cool about this is it helps you find out broader information.  You can go searching a given database online and become more aware of your community. That’s part of what we do, as journalists, and as news organizations, we try to inform the public.  To do it in a way that’s automated, that doesn’t require our constant supervision or our constant writing of stories, helps because it frees up time for us to do other stuff.  It still gives people information and more context when it comes to stories.  I believe that a well-informed populace is much better than an ill-informed populace.  It’s also really cool and lots of fun to do.</p>
<p><strong>Do you enjoy living in both worlds – the reporting and the developing aspects?  What are the advantages and disadvantages?</strong><br />
Yes, I do.  I guess time is a disadvantage in everything we do.  Part of it is because of the reporting, I can come up with projects that we can do.  I think if I was only a code monkey and I was never out on the streets, I wouldn’t find out what data is available or what data we can build on our own. It also helps you keep track of the news.  Like this is being built in response to the fact that the state legislature is meeting on Monday to start a new session. If I was just a reporter, I wouldn’t be aware of different ways to think and inform the public.  And if I was just a developer, I would be a little blind to some of the opportunities that there are to inform the public, and make cool stuff.</p>
<p><strong>Any other advice?</strong><br />
Something I wish I’d been told when I was younger is failure happens, especially with this sort of stuff, so you really need to get used to it, and we all fail.  Your failure is a failure, unless you learn.  Then, your failure becomes a win.  If you’re always trying to learn stuff, as a journalist, if you’re always working to develop different skill sets, whether it’s Web development, normal computer-assisted reporting, GIS, narrative storytelling, it all helps you, it all helps the other things.  Whatever new skill you learn in journalism will add to your big palette of rocking.<br />
<strong><br />
Would you recommend all or more reporters get into the coding side of things?</strong><br />
It doesn’t hurt.  It doesn’t hurt to understand the basics of data.  If you’re a city hall reporter, it helps to know basic Excel, it helps to know Access. There’s a ton of cool stuff you can do because of it.  If you are a feature writer, and you write longer narratives, and stuff like that, you can still find stories through databases, you can still find extra people to interview through those methods.  It helps in every aspect I think, just to have a little bit.  Whereas I have made the intense plunge into being a total nerd when it comes to this stuff, if that’s what you want to do, that’s what you want to do.  I don’t think that should be a requirement, but I think you should have at least the bare bones basics of what’s going on, because knowledge is power, and knowing is half the battle.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >January 31, 2010 -- <a href="http://michelleminkoff.com/2010/01/31/data-delver-matt-waite/" class="wp_rp_title">Data Delver: Matt Waite, St. Petersburg Times</a></li><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >February 12, 2010 -- <a href="http://michelleminkoff.com/2010/02/12/data-delver-gregory-korte-cincinatti-enquirer/" class="wp_rp_title">Data Delver: Gregory Korte, Cincinnati Enquirer</a></li><li >February 12, 2010 -- <a href="http://michelleminkoff.com/2010/02/12/data-delver-william-hartnett-palm-beach-post/" class="wp_rp_title">Data Delver: William Hartnett, Palm Beach Post</a></li><li >January 12, 2010 -- <a href="http://michelleminkoff.com/2010/01/12/data-delver-ted-mellnik-charlotte-observer-database-editor/" class="wp_rp_title">Data Delver: Ted Mellnik, Charlotte Observer database editor</a></li><li >April 5, 2010 -- <a href="http://michelleminkoff.com/2010/04/05/data-delver-phil-meyer/" class="wp_rp_title">Data Delver: Phil Meyer</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://michelleminkoff.com/audio/boyle_1.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>Data Delver: Cheryl Phillips, Seattle Times</title>
		<link>http://michelleminkoff.com/2010/07/11/data-delver-cheryl-phillips-seattle-times/</link>
		<comments>http://michelleminkoff.com/2010/07/11/data-delver-cheryl-phillips-seattle-times/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 03:51:32 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CAR]]></category>
		<category><![CDATA[data delvers]]></category>
		<category><![CDATA[data visualizations]]></category>
		<category><![CDATA[cheryl phillips]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data set]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dataset]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[seattle times]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=988</guid>
		<description><![CDATA[Programming note: This Data Delver series was a lot more regular before I actually became a &#8220;Data Delver.&#8221; This is one of two interviews that&#8217;s been sitting in my draft pile.  I spoke to Cheryl Phillips back in March 2010, and the below interview should be interpreted in that context.  Sorry for the delay, Cheryl, [...]]]></description>
				<content:encoded><![CDATA[<p>Programming note: This Data Delver series was a lot more regular before I actually became a &#8220;Data Delver.&#8221; This is one of two interviews that&#8217;s been sitting in my draft pile.  I spoke to Cheryl Phillips back in March 2010, and the below interview should be interpreted in that context.  Sorry for the delay, Cheryl, but better late than never (I hope.)</p>
<p>One of the areas in journalism most ripe for data work, as I see it, is enterprise stories.  At papers with small CAR staffs, there&#8217;s often a serious strain on the time of CAR reporters and editors seeking to provide context and fodder for long-term projects, often investigative, and enhance shorter one-off daily pieces, often breaking news.  Spend too much time on one area, you&#8217;re neglecting the other.  At the Seattle Times, one editor is called the Data Enterprise Editor, and her time is largely based in project work, that breaks out of the daily story routine.  She works to include interactivity on the website, from searchable databases to Google maps.  And she works with a group of reporters focusing on suburban areas, that are too often undercovered.</p>
<p>It&#8217;s her job to organize and foster collaboration across the newsroom, to create the best data-based stories and projects possible.  The woman who holds this title?  The Seattle Times&#8217; Cheryl Phillips.<span id="more-988"></span><em></em></p>
<p><em>This interview with Phillips is a part of my continuing series I’m calling  “<a title="Data Delvers" href="../category/data-delvers/">Data Delvers</a>,”  where I pass on summaries, quotes, transcripts and audio clips from conversations  with journalists using technology to find, analyze and convey  data-driven stories and/or <a title="projects" href="../category/projects/">projects</a> to the  modern audience.<br />
</em></p>
<p>Bolding within Phillips&#8217; answers denote some of the quotes I found most interesting.</p>
<p><strong>Please describe your role as Data Enterprise Editor.</strong></p>
<p>The data enterprise work is basically me and a small team, two other people.  We focus on computer-assisted reporting, and then try to take that CAR work a step further and do some interactivity online with it, like a searchable database, whether it’s a Flash piece, interactive map, or database. The stories vary, some are longer projects, some are, “Let’s just create this Google map for a feature piece.”  That has nothing to do with investigative journalism, but it creates a more interactive environment for the paper.  That takes a big chunk of my time.  The other thing that takes an almost equal amount of time would be that I’m an editor for a team of three reporters that cover suburban communities.  We try to make them pretty mobile, so they’re out often, but the idea is that they do enterprise.  It’s not like a daily suburban story.  It’s like, outside the city, what’s going on, what are the issues of note. One of my reporters is doing a big piece about all these revised floodmaps that are coming out, and what the impact is going to be on these rural communities.</p>
<p><strong>When did you start?</strong></p>
<p>I’ve been doing this job a year and a half, since Sept. ’08.</p>
<p><strong>How long has the paper been doing suburban reporting?</strong></p>
<p>We used to have an East Side bureau, but then, when we had cutbacks, we eliminated that bureau.  We also had another bureau covering the suburbs to the north.  So, this is an effort to make sure that we don’t forget about those suburban communities which still want to be covered, but <strong>we can’t cover every city council meeting, so we cover important news that matters</strong>.  We can give a sense of place for our readers by telling these stories.</p>
<p><strong>Can you tell me about your career path to the Seattle Times?</strong></p>
<p>I’ve been all over the place.  I started in the ’80s back in Texas, then I went to Montana, which is my home state, and I worked for a small Gannett paper there [Great Falls Tribune]. I was on loan to USA Today for about half a year.  Got back in ‘95.  Then I went to the Detroit News and was a CAR projects editor there.  I went from there to USA Today, and was a database editor.  You probably heard the story about how I left USA Today.  I was fired for <a href="http://www.ajr.org/Article.asp?id=2435" target="_blank">touching a piece of artwork</a>, along with two other people.  I did a project for Dateline on drunken driving, and then I was hired by the Seattle Times.</p>
<p><strong>Can you pinpoint any marked differences between broadcast investigative work for Dateline vs. print reporting?</strong></p>
<p>It was stunning to me, the difference. I hadn’t truly recognized it.  I did a lot of work for this Dateline project special.  The editor from Dateline did a lot of work, too.  They did a lot of filming focusing on one woman who was hit by a drunken driver, and her recovery.  I spent months analyzing data from four different suburban metropolitan areas, looking at sentences for manslaughter where someone had also received a DUI for vehicular manslaughter when they were sober. <strong> The result we found was that if you also had a DUI, you got the lighter sentence on average, so you got penalized more for being sober than you did for being drunk, which is kind of stunning, and it boiled down to two sentences on air.</strong> I could have written an entire newspaper article about that, but it was important for them.  They were willing to spend the time to invest in my work, but it was just a piece of this visual narrative, so it was very different.</p>
<p><strong>What is it that drew you to CAR in the first place?</strong></p>
<p>I just felt like there were stories that were going untold, that you could tell if you understood what was happening in bigger swaths of information.  You could use these technologies and tools and become a better reporter.  One of my very first projects was really simple, it wasn’t a big chunk of data.  I used a Lotus spreadsheet to analyze the partnership agreement for the Texas Rangers, back when George W. Bush was one of the owners of the team, to figure out how much he would get if he sold the team, and how much everyone else would get. It was a formula, so I had to use a spreadsheet to do it.  It was the first time I’d been exposed to that.  I had a CPA friend who helped me with it.  And I was like “Oh, wow, I can actually do this,” and it was kind of amazing.<strong> It opened a new world for me</strong> and it kind of went on from there.</p>
<p><strong>What’s your role in IRE?</strong></p>
<p>I’m chairman of the board at IRE, and I’m a past president.</p>
<p><strong>What’s fueled your involvement in that organization?</strong></p>
<p>I wouldn’t have learned anything had it not been for IRE.  I started going to conferences in the mid-‘90s, and I would have gone earlier if I had known about the organization.  My first conference was when I was in Montana, and I was on loan to USA Today, and my paper from Montana didn’t really have the money to send me to a conference, and the other database editors at USA Today basically said, “Well, yeah, I’ll share a room with you.  My point is, <strong>I had no money and a whole slew of people took care of me, from sharing rooms to not letting me buy meals, and it was really stunning</strong>.  So, I ended up rooming with someone from USA Today, and literally, no one would let me buy anything .  It was just great, and I learned a ton, and I saw what was possible.</p>
<p>I went back to my small Montana paper and started to incorporate that into my work, and turned out some pretty good stories that I couldn’t have done otherwise.  So, my involvement in IRE has come because <strong>I wanted to make sure that other people could have that same experience, and produce some great journalism based on what they learned.</strong></p>
<p><strong>As far as the future of CAR, do you see this as a skill more reporters will be required to have?  Do you see it more as the role of a CAR specialist?</strong></p>
<p>There will always be a role for a CAR specialist, now more than ever, really.  I hope more reporters will gain basic computer-assisted reporting skills,  that they will all know how to use a spreadsheet, they will know how to calculate percentage change, basic stuff, especially as we try to develop searchable applications. <strong> But when it comes to dealing with really complex data sets, you’ve got to spend some real time in that world.  Because, if you don’t use these skills often, then you lose that.</strong> I’m an example of that.  It’s been a few years since I even used ArcView mapping programs, I’m pretty slow and clunky now and it’s because I haven’t had a need to do that, to use that map expertise.  So I go to my CAR specialist, and I have him do it, because unless I’m going to be doing it all the time, I need him to make sure it doesn’t get screwed up.</p>
<p>I have reporters who don’t do it all the time, they’re not CAR specialists, but they do have computer-assisted reporting skills. I think the balance is that they do the work, which is great, and I want them to keep doing that work, but it gets run by a specialist or by me, to make sure that somebody checks that analysis, just to be doubly sure.  Anyway, we always check, but it’s especially important when it’s someone who doesn’t use high-level CAR on an everyday basis.</p>
<p><strong>How do you decide which projects are worthy of interactive and/or searchable database treatment?</strong></p>
<p>I think it depends on a couple of things.  It’s similar, I think, to how the graphics department thinks about the graphics that they do for the paper.  Do they aid the reader in a better or deeper understanding of the story?  That’s one piece of it.  Another piece of it is: Would the reader be interested in more information?  On the Web site, in a text file or just in the paper?  A lot of people are often interested in diving down into the numbers, that’s something which I think can help with greater transparency.  If it’s one where you think someone would be interested in those numbers, or it would tell them something useful, create a database for it.  If it’s not, if you don’t think people are going to go to it, if they’re not going to be interested, or if it doesn’t illuminate in some way, then we don’t do it.</p>
<p><strong>How is this work broken down at the Seattle Times?</strong></p>
<p>Another part of the Data Enterprise piece of my job is that I work across departments.  It may be that the business editor is having a reporter working on a story about home values.  So, she’ll come to me and say, “Hey, do this with us.  We can create something online,” and she’ll say something about what they’re trying to achieve.  Then, I’ll go to the online department, and I’ll say “What resources do we have if we create this searchable interface?  Can you do some design with it, or give it some extra treatment?”  It’s sort of a collaborative conversation.  Also, depending on the level of time involved, I think about if it would take our CAR specialist, or me, x amount of time, because we also have this project coming.  It’s really a mix.  <strong>We’re very collaborative, we talk about everything.</strong></p>
<p><strong>Do you try to bring all the departments in at the outset of a project?</strong></p>
<p>Yes.  Pretty much.  In ’09, we did an interactive Flash map, it was an environmental graphic.  We won the James V. Risser Prize for environmental journalism, Justin Mayo was the CAR specialist on it.  We did this really nice thing that took quite a bit of time, it was very complex.  We had brought in everyone from the beginning.  The photographer was there, two reporters, Justin, and another reporter.   And we had the Flash guy involved from the very beginning.  We took a look at logging permits, and kind of showed how there was flood damage in particular areas that had been logged heavily.  We ended up using these maps, we were creating these maps for our reporting use, to say, “Oh, look, here’s this hazard zone.”  <strong>We found ourselves using it so much as a reporting tool that it dawned on us, in part because we had the Flash guy involved from the beginning, that we really needed to put this online.   If we use it to help us understand a pretty complex subject, then it really would help the reader.</strong></p>
<p><strong>Speaking of readers, what feedback have you gotten from the community to this sort of work?</strong></p>
<p>I don’t get a lot of phone calls, or things like that.  They respond to our stories saying, “Thanks for getting this information,” or “Gee, I’m really glad I can look this up.”  That’s really about the extent of it.  I would say more feedback comes in the way of traffic, and <strong>our searchable databases get some pretty good traffic</strong>.  Even something simple.  We did election results, where we created a quick searchable database for the elections, and that got an incredible amount of traffic.  You could go to the various counties, and see what those counties were doing, and people seemed to like having it all brought together in one spot.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >January 11, 2010 -- <a href="http://michelleminkoff.com/2010/01/11/importance-of-combining-data-analysis-with-context-reflections-on-readings-from-week-two/" class="wp_rp_title">Importance of combining data analysis with context (reflections on readings from week two)</a></li><li >February 21, 2010 -- <a href="http://michelleminkoff.com/2010/02/21/text-file-or-database/" class="wp_rp_title">Is a flat text file or a database right for an app?</a></li><li >April 11, 2010 -- <a href="http://michelleminkoff.com/2010/04/11/data-delver-paul-monies-oklahoman/" class="wp_rp_title">Data Delver: Paul Monies, The Oklahoman</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >March 18, 2010 -- <a href="http://michelleminkoff.com/2010/03/18/my-next-move-la-times/" class="wp_rp_title">My next move: LA Times!</a></li><li >February 2, 2010 -- <a href="http://michelleminkoff.com/2010/02/02/recognize-the-importance-of-journalistic-creativity/" class="wp_rp_title">Recognize the importance of journalistic creativity</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/07/11/data-delver-cheryl-phillips-seattle-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J-school: It&#8217;s relevant but demands you take charge</title>
		<link>http://michelleminkoff.com/2010/06/05/j-school-relevance/</link>
		<comments>http://michelleminkoff.com/2010/06/05/j-school-relevance/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 20:33:28 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[data visualizations]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[theory]]></category>
		<category><![CDATA[medill]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1007</guid>
		<description><![CDATA[I love journalism shop-talk chat, really.  Of course, I&#8217;d rather be DOING the journalism, but it&#8217;s important to see where others are at, and it&#8217;s kind of fun to feel like part of the club, and dream about the future.  The #wjchat chats on Twitter emerged about the same time my data journey started, but [...]]]></description>
				<content:encoded><![CDATA[<p>I love journalism shop-talk chat, really.  Of course, I&#8217;d rather be DOING the journalism, but it&#8217;s important to see where others are at, and it&#8217;s kind of fun to feel like part of the club, and dream about the future.  The #wjchat chats on Twitter emerged about the same time my data journey started, but my participation in these activities has dropped off recently.  This is especially ironic this past week, as the <a href="http://wthashtag.com/transcript.php?page_id=8567&amp;start_date=2010-06-02&amp;end_date=2010-06-03&amp;export_type=HTML" target="_blank">discussion centered on the relevance of j-schools</a>.  And I&#8217;ve been thinking about that topic a lot.  After all, two weeks from today, I officially graduate from Medill.</p>
<p>I&#8217;m looking forward to it, yet it seems sort of surreal.  Graduation marks the end of one chapter, the beginning of another.  But I started the new chapter already.<span id="more-1007"></span></p>
<p>As much as I love connecting with journos, I&#8217;ve discovered my underestimation of the year: I&#8217;ve got more to learn than I ever could have imagined.  People have said it in countless Web discussions.  Find a project, do it, pick up skills along the way.  So, I&#8217;m concentrating on that like I&#8217;m cramming for finals, but with a never-ending study period.  Producing an app in a day uses some skills, doing it right over the course of months is a totally different ballgame.</p>
<p>This is where I am now.  But that chat topic begs the question: Was there a point in going to Medill?  Did it mean more than the opportunity to walk across a stage in a purple gown two weeks from today?  Is it just some archaic tradition that has nothing to do with my new coding life?  To these questions, I want to shout at the top of my virtual lungs, &#8220;It was essential!  It mattered!  Without j-school, what I am doing would not be possible!&#8221;<br/><br/></p>
<h2>It&#8217;s about much more than curricula</h2>
<p>Don&#8217;t rely on the curriculum of your j-school.  Fine, Medill doesn&#8217;t teach coding, most j-schools don&#8217;t.  Maybe your school doesn&#8217;t teach this or that, doesn&#8217;t have the right specialization.  It doesn&#8217;t matter.  The most valuable lessons I learned from j-school didn&#8217;t happen in  a structured lecture hall.  They took place off the cuff, with colleagues while working on a story, with professors hounding them during their office hours.  J-school taught me story structure, technical skills, office politics, the philosophy veteran journos bring to the table.  I&#8217;ll say it again: We must apply our journalistic curiosity to learning about our craft.</p>
<p>It&#8217;s an approach I&#8217;ve taken to my work at the Times (Look, I&#8217;m all Cali-centric now, and don&#8217;t use &#8220;the Times&#8221; to mean NYT anymore &#8212; weird).  Even as I work on a project with the LA Times masthead at the top, it feels like school.  And that&#8217;s a good thing.  You couldn&#8217;t ask for better teachers.  Yes, so knowledgable, but also patient and kind, always available, and so, so, dedicated.  Whether it&#8217;s the data analyst who&#8217;s been at this for decades, or my fellow Web devs who&#8217;ve both been at the Times for less than 3 years, they have so much to offer.  Would I dare to not ask a question because no one assigned it?  Ha! Would you not ask a question at a press conference because no one told you to?  If you&#8217;re in this industry, or even if you just have one curious bone in your body, I hope not.<br/><br/></p>
<h2>Life at the Times</h2>
<p>So, what&#8217;s it like at the Times, for those curious?  I suppose &#8220;the best working environment I&#8217;ve been fortunate enough to encounter&#8221; is not a sufficient answer.  And I&#8217;ll add my continual disclaimer.  <a href="http://www.pbs.org/mediashift/2010/06/why-journalists-should-learn-computer-programming153.html" target="_blank">Should all journalists be programmers?</a> No.  We each have our specialties.  I do wish all journalists knew that this work exists, and understood the basic building blocks of what coding makes possible, and how long it takes.  That being said,  I don&#8217;t believe every journalist needs to embark on this path, and if you do, it is a career shift.  It&#8217;s one I&#8217;m frankly in love with, but not everyone needs to/should go this insane.</p>
<p>In the end, my day-to-day life isn&#8217;t all that different from how Medill functioned.  Bring your own ideas to the table, incorporate the feedback of others.  Communicate what you&#8217;re working on to others.  Instead of working with client papers, keep the rest of the team and the editors up to date.  But mostly, frankly, just get stuff done.  The &#8220;Los Angeles Times&#8221; may sound glamorous, but that&#8217;s not why I&#8217;m there.  (And no news organization is safe in this day in age.)  In the end, I walk in every day, and type code on a computer, just like I did when I was practicing.</p>
<p>Each day, I improve a tiny bit (one hopes), and gain a deeper understanding about how far I&#8217;ve yet to go.  And once the myriad of files cover up the desktop background image that says, &#8220;Los Angeles Times,&#8221; I almost forget where I&#8217;m working, but always remember why I&#8217;m working.  Providing information to the public, taking full advantage of the power of the Internet.  Embrace the future.  Inform the readers.  It&#8217;s a mantra.  It is the combination of journalism and computer science, and both tool sets inform each other.  If you just want to code, you can make a lot more money, and have a lot more job opportunities elsewhere.  If you want to write, same thing (although less with the money part.)  But that&#8217;s not why I started down this path.</p>
<p>I&#8217;m part of a tight-knit group that already feels like a family.  I know many people search their whole lives for that.  And when we work, we mean business.  After all, these are the people who brought us <a href="http://projects.latimes.com/wardead/" target="_blank">California&#8217;s War Dead</a>, and <a href="http://projects.latimes.com/mapping-la/neighborhoods/" target="_blank">Mapping LA</a> and <a href="http://projects.latimes.com/homicide-report/" target="_blank">Homicide Report</a>.  It is an honor to be working alongside them.</p>
<p>So, our team sits, fairly quietly, and you hear some talking, but more of the clicking of keyboards, and the occasional muttering, and the even more occasional cheering when something actually works (okay, that last one&#8217;s me).  And while I am fortunate enough to get help to get conceptually unstuck &#8212; often when there&#8217;s a bug, it&#8217;s up to you to fix it.  After all, it&#8217;s your application.  Just like in Medill, no one can write your story, no one can tell you what you did to make the CMS give you what was known as &#8220;the dreaded Alt error.&#8221;  Work with others, but be self-sufficient enough to build products on your own.  (If you&#8217;re wondering, no, nothing&#8217;s been launched yet, but you&#8217;ll see what gets done, all in time.  I&#8217;ll keep the blog updated on that score.)</p>
<p>But before you can do this kind of work, and push beyond the curriculum, you must be acutely aware of the basics.  And that&#8217;s where j-school comes in.  Teach me AP style, teach me how to write a lede, teach me all that journalism has taught us for the past decades and centuries.  Tell me your experiences, help me form my own experiences, because I&#8217;d rather get that knowledge sooner than later.  We  can only move forward once we understand what history has taught us.<br/><br/></p>
<h2>J-school provides building blocks</h2>
<p>We each make our own experience from what we learn in j-school.  I have colleagues from my cohort who are anchors, TV reporters, radio reporters, social media producers, Web producers and much more.  Our platforms range from print to magazine to online to broadcast (TV and radio).  We all took many of the same classes, but made the overall experience our own.</p>
<p>So, I thank Medill, with all my heart, for all the lessons, all the grounding, all the exposure to new ideas that taught me just how little I know.  I thank Medill for the essential building blocks. I thank Medill for being a practical program, giving me a playground to try some cool new things out.  I&#8217;ve still got that playground, it&#8217;s just bigger now.  I stumble every day. But if it weren&#8217;t for j-school, and specifically Medill, I&#8217;d be stumbling a whole lot more.</p>
<p>I use what I learned in j-school every day, both what was in the curriculum, and what wasn&#8217;t in the curriculum.  I accept my Medill professors as my teachers, I accept the NICARians as my teachers, I accept my LAT colleagues as my teachers.  And once in a while, my own experiences or what others have told me allow me to pass on some of my knowledge.</p>
<p>The learning never ends. A curriculum can speed it up, but if you don&#8217;t learn how to self-teach, someone else will.  It&#8217;s scary and invigorating all at the same time.  That&#8217;s a big reason why I spend my life this way.  I feel lucky to have found what drives me, and my graduation wish for everyone is to be able to apply your curiosity to discover what drives you.  Oh, and also, the realistic caveat &#8212; I hope the job market recognizes the importance of our passions so that we all find a way to make a living doing it.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >February 15, 2010 -- <a href="http://michelleminkoff.com/2010/02/15/striving-toward-visual-storytelling-not-just-presentation/" class="wp_rp_title">Visual confections are more than mere presentation</a></li><li >March 8, 2010 -- <a href="http://michelleminkoff.com/2010/03/08/piece-de-resistance-data-viz-wrapup/" class="wp_rp_title">Piece de resistance: Data viz wrapup</a></li><li >March 2, 2010 -- <a href="http://michelleminkoff.com/2010/03/02/guest-post-better-integrating-data-in-our-newsroom-culture/" class="wp_rp_title">Guest Post: Integrating data with our journalism</a></li><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >March 5, 2010 -- <a href="http://michelleminkoff.com/2010/03/05/why-we-do-what-we-do-pursuing-the-sparkle/" class="wp_rp_title">Why we do what we do: Pursuing the sparkle</a></li><li >January 18, 2010 -- <a href="http://michelleminkoff.com/2010/01/18/committing-fact-errors-in-visualizations/" class="wp_rp_title">Committing fact errors in visualizations</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2010/06/05/j-school-relevance/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
