Tribune DataViz

Matters of interest, from the data reporters and developers across Tribune Publishing

Archive for the ‘Events’ Category

Creating compelling visualizations

leave a comment »

At ONA13 in Atlanta, Georgia, Emily Chow of the Washington Post and I spoke about visual literacy and picked apart a few projects we’ve worked on over time. These are some rough notes from that talk.

Got it?

This is the type of thing that jumps to mind when I hear the term “infographic.” Please don’t make anything like it.

Infographics, especially done like the above, usually suck at communicating information. This wild rainbow of colors, random decorative icons, and confusing layout could probably be distilled to a sentence or two of text. It’s important to think about function. At the end of the day, graphics is a storytelling medium. If you can’t get the message across, you’re doing it wrong.

While this is a fun art piece, I wouldn’t train a barista with it.

While this is a fun art piece, I wouldn’t train a barista with it.

Comprehensive vs. complementary graphics

The above is an example of a comprehensive infographic, one that tries to cover an entire concept in a single image. Here’s another fun example:

Sometimes a comprehensive graphic is the answer, but it’s rare. Issues that are difficult to visualize (national debt, global warming) can be the best choices for comprehensive infographics. One of the biggest pros for a graphic like this: it’s incredibly easy to share, because it encapsulates a topic, and may have a longer shelf life.

That said, graphic elements can be helpful. News apps like KPCC’s Firetracker can benefit greatly from smart iconography. In this particular case, the colors used cause the icons to recede into the background, and the icons are, for the most part, also labelled. (Reliance on someone’s memory to recall what an icon means is a bet for confusion.) Apps like this provide much more information in a more structured way than infographics ever can.

KPCC's Firetracker app attempts to follow California wildfire response.

KPCC’s Firetracker app attempts to follow California wildfire response.

Complementary graphics are those which can’t stand alone, but need to be placed inline in the context of a story.These can be used to illustrate small bits of the story that cannot be told as well in text as they can be visualized. [examples?]

If you have a graphics desk, you can often explode those graphics into web-friendly inline graphics. At the Trib, we use our Tarbell platform to create these as quickly as possible.

Here’s another great example, from KQED, of the possibilities for using your graphics desk well. (Since KQED is a broadcast outlet, I’m pretty sure this was created for the web, but these sorts of maps are fairly common among graphics teams.)

Explanatory vs. exploratory graphics

Some graphics lead people through a concept. Some let people play with a concept. Depending on your story and data, you may want to create a visual that displays an overall trend, or one that lets people see very granular information.

Often, for exploratory graphics, a simple table or searchable database is the best tool for the job.

Maps can often be both. A zoomed-out map can offer an overall view, while offering a zipcode search that allows folks to drill down to their own location.

Another way to look at this is to balance the two. Annotate your graphic. Make it clear what the trends are, where the story is. Then allow for exploration as an additional layer.

Speaking of maps…

Maps are tricky things. Having geodata does not necessitate the creation of a map. For instance, this powerful package about the houses of fallen soldiers uses a map as its main navigation tool, interrupting the experience. While the information isn’t irrelevant, it’s also not the point of the package. It would be better shown as a small locator on the story itself, instead of playing such a starring role.

What do you call a traffic jam caused by drivers slowing down to look at an accident or other diversion on the side of the road?

What do you call a traffic jam caused by drivers slowing down to look at an accident or other diversion on the side of the road?

Maps can also pose color difficulties, even more so than other graphics. A heatmap like this dialect survey map can be indecipherable if the wrong colors are used. (Red-green colorblindness is especially prevalent.)

A few tools to help you choose “safe” colors:

Your colors should also be meaningful. One of the biggest weaknesses of the Chicago Crime home page is that the colors on the map don’t actually mean anything. We made that map trying to make neighborhood boundaries clear, but the end result looks like we’re trying to tell you something about crime in those areas.

Deciding what viz to do

Sometimes, all you really need is a bar chart. For instance, this small part of the Seattle Times’ report on methodone abuse:

Screen Shot 2013-10-19 at 11.37.41 AM

Though the chart depicts usage and death levels of several drugs over time, it makes a single point that is immediately clear. (Usually, graphics that make a single point are the most effective.)

However, sometimes a bar chart is exactly the wrong answer. These shooting average graphics from Grantland would be terribly difficult to understand as bar charts:


LeBron James, what you doin’?

The blog post that accompanies those graphs gives you a peek into the process behind creating such a graphic. There’s often quite a bit of ideological ping-pong that occurs. Emily has a fantastic post on how the Post’s team created a map-less geographic breakdown of gun homicides and suicides by race. (Again, maps are tricky!) Her breakdown of the struggle of creating the graphic illustrates the importance of bouncing your ideas off of others when possible, and also that you have to make a lot of things before you make the *right* thing. It’s always a process.

Written by Heather Billings

October 19, 2013 at 11:49 pm

Steal this code: Presentation to Hacks/Hackers-OpenGovChicago

with 4 comments

On Wednesday, October 19, I presented a talk on using TribApps tools and libraries to a joint meetup of the Hacks/Hackers Chicago and OpenGov Chicago groups. It was roughly based on spreading information about the resources describe in my earlier blog post, Apps for Metro Chicago.

Here are the slides I presented.

Here are links to a few things I referenced:

Written by Joe Germuska

October 19, 2011 at 6:42 pm

Posted in Events, Open Source, Talks

NewsApps hosts ChiPy-Hacks/Hackers Meetup April 14

leave a comment »

The Chicago Tribune News Applications team wants to introduce hacks to hackers. We’re hosting the April meeting of the Chicago Python Users Group (ChiPy) and planning an agenda that should be of crossover interest to journalists and coders alike.

The main event will be a reprise of Christopher Groskopf‘s PyCon 2011 talk, “Best Practices for Impossible Deadlines,” where he provides a general overview of how the Tribune NewsApps team has developed its methodology for building applications at the speed of news.

Also on the agenda:
* Jason Grotto (Chicago Tribune) and Jeff Kelly Lowenstein (Hoy, formerly Chicago Reporter) will present brief case studies of computer assisted reporting projects they’ve done, explaining the theory and practice of finding stories in data

* Larry Adams and Nate Nichols will present the how and why of using Python to create domain specific languages (DSLs) as part of Narrative Science’s algorithmic news production process.

* Lightning talks: each speaker has exactly five minutes to present on any topic of likely interest to the audience. News Apps team members will be presenting on projects, tools and/or tricks of the trade. You can present as well!

If you’re interested in presenting a lightning talk on anything pertinent to news and technology, please send an email to — only people who make contact before the event will be allowed to present, and if we get too much advance interest, we may need to subject the list of topics to some kind of vote.

Don’t be shy, five minutes is not long—you probably have something interesting to share.

If you have a topic that might be longer than lightning-talk length, email with a brief description of the topic and the timing, and we can see if it fits in.

ADVANCE RSVP IS REQUIRED in order to gain admission to Tribune Tower. RSVP at the Hacks/Hackers meetup site or by email to


Written by Joe Germuska

March 31, 2011 at 11:03 am

Posted in Events

PyCon retrospective in brief

with 4 comments

Last week Ryan Nagle and I travelled down to Atlanta for PyCon 2011. There I finally had the opportunity to deliver my long-considered talk “Best Practices for Impossible Schedules” which summarizes much of what I’ve learned about developing software in a news environment.

PyCon was a tremendous conference and I’ve love to talk at length about all the great things I saw, but instead I suggest you all do yourselves a favor and peruse the PyCon presentation archive. The audio and video quality are exceptional this year. Here are a few that you shouldn’t miss:

After a relatively disappointing DjangoCon last year, this conference was a very refreshing weekend of geek bliss. I’m very excited for the next two years in Santa Clara the two beyond that in Montreal.

Written by Christopher Groskopf

March 18, 2011 at 1:39 pm

Posted in Events, Talks

CrowdMapping the Chicago Blizzard

with 12 comments

A cargo train on the south side of Chicago

A cargo train on the south side of Chicago, a day after the blizzard, Thursday, February 3, 2011. (Alex Garcia/Chicago Tribune)

Last week Chicago experienced its third-largest blizzard on record. When we came into the newsroom on Monday morning, forecasters were warning us that it a big one was on the way. Our team considered various ways we could contribute to covering the story and decided to focus on implementating a variation on the Snowmageddon Cleanup project originally launched by PICnet with the Washington Post in the wake of the February 2010 DC blizzard.

Put simply, Snowmageddon Cleanup is a tool meant to help connect people who need shovels with people who have them. The tool is built on an open source application called Ushahidi which drew much attention after it was deployed to help with crisis response after the January 2010 earthquake in Haiti. The Ushahidi team provides a hosted solution at which makes setting up an instance quite easy, so we spent Monday configuring a basic setup modeled off of Snowmageddon Cleanup hosted at While we were setting up, our friend Justin Massa of the Metro Chicago Information Center volunteered to help with administration and outreach, including asking MCIC intern Resney Gugwor to serve as a report moderator as well. Deborah Shaddon, the Chicago city lead for CrisisCommons, also found us and introduced us to a number of enthusiastic volunteers from the wider community.

Graph of CrowdMap reports

Number of reports submitted per hour during the height of our CrowdMap activity (click to view full-size)

On Tuesday we configured our CrowdMap to accept reports by email and SMS in addition to the web form, and we worked with our colleagues around the Tribune to publicize the service.  By midnight on our first day we’d approved 192 reports, and many more came in overnight. Things really picked up speed at the end of the workday on Wednesday: as our team went home and left the administration unattended for a couple of hours, more than 200 reports came in. We rallied the troops and spent the evening approving reports and looking for any reports which seemed to merit some kind of additional follow-up (more on that later), set up a project twitter handle (@ChiSnowMap), and wondered what we’d gotten ourselves into.

Thursday brought another nearly 300 reports, although spaced out more evenly through the day.  By Sunday morning when we disabled submission of new reports, we had received about 1,100 reports, of which 1,053 were approved and posted on the site.

Chicago Snow Crowdmap report statistics

Overview statistics of reports submitted to the Chicago Snow CrowdMap. (Click to view full-size.)


We were excited that so many Chicagoans heard about the map and chose to use it to report issues, offer help, and tell stories of “victories”. However, looking back, it’s hard to gauge just how much help the system provided. Here are a few things we’ve identified which we will do differently if we do something like this again.

More Partners

Erik Hersman, one of the creators of Ushahidi, observed that technology was only 10% of their solution. That sounds about right, especially because in our case we had only to do minimal configuration of an existing tool. In the future, we’d like to work more closely with government agencies, other media organizations, and independent civic groups to be more sure of connecting all the dots.

Specifically, even if we work more closely with the city, I don’t think we are going to be dispatching plows based on crowd reports. Streets & Sanitation has a process, and they aren’t looking to us to supersede the city’s own 311 call center. I’d prefer a tool that is more clearly organized around helping citizens help each other in the many small ways that 311 could never handle.  (Of course, it’s also technically feasible that we could set up a bridge between a crowd-sourced solution and the city’s 311 system so that calls they get which are not “actionable” could be routed to the crowd tool, and also administrators could forward requests which are for the city to cover directly into the 311 system.)

And if the site is more organized around neighborly help, it would be good to work with volunteer organizations like Rotary, Kiwanis, scout troops, churches, and the like to get more offers for help in the system and to have more eyes reviewing the site and helping to match offers for help with requests.

Finally, while we appreciated the story leads we gathered from the tool (see below), we’re much more interested in making sure that everyone who could benefit from it knows about it. Next time we’ll work with any interested local media organizations to set up a site in partnership, so that there are no obstacles to them promoting it widely.

Review Software Options

CrowdMap was a good solution because it didn’t require writing any code, and only took a few hours to configure. However, the flip-side of easy-to-launch is that less customization is available. We might have liked to have a few extra pages of information or resources, or to put more specific text on the “submit a report” form. Ushahidi (CrowdMap’s big brother) is also available for installation on our own servers, and if we went that route, we could almost certainly have added those kinds of customizations.

While Ushahidi and CrowdMap dominate the discussion of crowd-based crisis response applications, we began to wonder if it was actually designed to solve problems other than ours. Ushahidi’s origin was in collecting reports of violence during elections in Kenya. Administrators would then edit the reports with assessments of “source reliability” and “information probability,” with the ultimate goal of marking reports as “verified.” We weren’t particularly concerned with making those calls for the reports we received.

In retrospect, we were thinking of problem reports as bugs which needed fixing. (We are software developers, after all.) We were looking for ways to adapt CrowdMap to work more like a bug tracker, allowing us to indicate that a report had been assigned to someone, or that it had been resolved and could be hidden from the default view. We tried a few hacks using categories and editing report titles, but didn’t quite find a strategy that satisfied. If Ushahidi will continue to be deployed in this kind of situation, it might benefit from building in a few concepts from the world of bug-tracking software.

One specific challenge we encountered was maintaining contact with people reporting issues. In some cases people made pretty specific requests for help, but did not provide any contact information, or if they did, they provided it in fields which are not public by default. Since we weren’t going to be able to help each person making a request, it would have been better if helpers could directly contact people in need. We had at least one case where a helpful citizen went to a specific address which was posted, but couldn’t reach the resident to establish exactly what help was needed.

Of course, there are conventional bug-tracker applications which I guess could be applied to a situation like this, although I don’t know of any which integrate with a map or with SMS-reporting, and most bug-trackers would be intimidating to regular folks. There are also existing “civic bug trackers” like SeeClickFix which are in some ways closer to what, in retrospect, we wanted, although we’d have to do more development of our own to customize it for a specific event.

The News Angle

While it wasn’t our primary goal, it’s worth noting that reports to the Crowd Map did support some of the Tribune’s reporting. Early on Wednesday morning, an editor identified about a dozen sources to contact for more detailed accounts of their blizzard experiences, and those supported several stories including this one.

In Closing

It’s hard to tell just what impact we had with the crowd map. While they were a small fraction of our overall reports, we did have about fifty people offering help and another 50 reporting victories (my favorite: “Here in Logan Square, I went outside with my boyfriend to build a snowman and came back inside with a fiance. This blizzard’s not so bad after all.”) I’d like to think that even more people would have helped each other out if we could tune the tools and the process a little bit. And there was clearly a lot of enthusiasm for the general idea.

Major thanks are due to:

  • my NewsApps teammates, Brian Boyer, Christopher Groskopf, Ryan Mark and Ryan Nagle, for all kinds of contributions to setting up and managing the application;
  • Justin Massa and Resney Gugwor of MCIC, who also helped administer, and to Justin also for working his many contacts to spread the word about the site;
  • Jessica Jackson for approving reports, researching and entering dozens of shelters and parking accomodations as ‘solutions’, and going out with a shovel when a “dig me out” report from her neighborhood came in;
  • Jenni Prokopy for researching medical options for people who feared missing dialysis treatments if they didn’t get plowed out;
  • Daniel X. O’Neil for helping clear out reports during the Wednesday evening burst;
  • Deb Shaddon and Heather Blanchard for connecting us to the CrisisCommons and CrisisCamp Chicago communities;
  • the Ushahidi/CrowdMap team, for providing an out-of-the-box solution;
  • Mobile Commons, for donating an SMS code;
  • Laura Lanford and Daniel Edwards from Chicago CERT, Cathy Graham and Chris Thompson from Humanity Road, and Jus Mackinnon, from southern England for helping garcinia cambogia reviews reports and look for people in urgent need;
  • @ColonelTribune and many other folks on twitter for helping to spread the word.

Things were moving fast most of the week, and I may well have overlooked other helpers; if so, I sincerely apologize.

Written by Joe Germuska

February 9, 2011 at 10:35 am

Posted in Events

PyCon 2011: Newshackers assemble!

with one comment

PyCon 2011, Atlanta, March 9-17

At PyCon 2011 I will be delivering a talk entitled Best Practices for Impossible Deadlines, which will go in depth on the incredible variety of ways we’ve found to shave precious hours off the software development process. Special attention will be paid to Python and Django tools developed in the newsroom.

I know that many of you reading this will be blowing your conference budgets to attend the 2011 CAR conference in February, but if you’re not, or if you can make it to both I strongly encourage you to come to PyCon this year. Its got an impressive line-up of talks and tutorials. I’m also planning to organize an OpenSpace for news developers and perhaps another for those working with government data, if someone doesn’t beat me to them.

If you’re going to be there, please let me know so we can plan to connect early in the conference. Hope to meet many of you there!

Written by Christopher Groskopf

January 10, 2011 at 9:58 am

Posted in Events, Python, Talks

September ChiPy Meeting at Tribune Tower

leave a comment »

We’ve arranged to host the September meeting of the Chicago Python User Group at the Tribune Tower. Here are the details as emailed by Brian Ray to the group mailing list:

Chicago Python User Group

History, Tradition, Technology and Journalism meet this Thursday at one of our nations most historical landmarks, Tribune Tower–right off the Chicago River on the Magnificent Mile.  This new venue speaks to the movement of journalism into technology and technology into Python.

So, this will be one of most interesting venues and will provide a solid platform for the best user group meeting in the  history of newspapers. We may even channel DjangoCon going on at the same time on the West coast.

Bring a friend. This is going to be great!

RSVP Right NOW to: brian (at) if you even think you might make it.


  • (30 min) Somewhat Advanced SQLAlchemy  – Daniel Griffin
  • (30 min)  Python port of Geo::StreetAddress::US library – Joe Germuska (hey, that’s me!)
  • (30 min)  “Not using AMQP to super charge your Django apps!”  — Garrett Smith
  • (15 min)  “Hello, and Beyond” — Clyde Forrester

When: Thursday, September 10th, ~7pm

Location: Tribune Tower, 435 N. Michigan Ave.

RSVP to brian  (at)

Other Meetings

  • (before) Kinzie Chop House (some plan to gather around 4:30)
  • (after) Billy Goat is obvious (and with merit) OR CND Gyros & Lounge

About ChiPy

ChiPy is a group of Chicago Python Programmers, l33t, and n00bs. Meetings are held monthly at various locations around Chicago. Also, ChiPy is a proud sponsor of many Open Source and Educational efforts in Chicago. Stay tuned to the mailing list for more info.

ChiPy website: <>
ChiPy Mailing List: <>
ChiPy Announcement *ONLY* Mailing List: <>
Python website: <>

Written by Joe Germuska

September 9, 2009 at 12:20 pm

Posted in Events

Tagged with ,