« « Journ curricula’s need for transition isn’t unique

Heading to PBS: Dreams do come true » »

The power of linkable data apps (my second LAT app)

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’ve spent much of my “summer” 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’s financing various propositions in California. The first step was getting the Prop 8 application out back in late June. I’m really into the idea of templating data apps recently. Make a custom interface, but make it resuable, so it doesn’t have to stop as one application. It’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.

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’s attention to it, whatever, they have a way to point someone else to that exact spot. We don’t do enough of it in the data apps world. Web frameworks make this easier, Flash interactives do not.

Creating permanent links to records and aggregate pages of our data is essential. It’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’s a searchable database to go with that campaign? Don’t just tell me they donated a lot of money, show me.

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’s data for personalized news, and yet another lesson I take away from my time at the LAT.

PS — 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’ve pulled out as a query, and it’s sorted, but you want to separate the list into subcategories, you want this. Figure out an attribute that’s going to change, and enter that info as a label, inside the {% ifchanged %} tag. It’ll show up when the code and text inside the tag changes — makes sense. This tip has made an ongoing project a lot easier, which I’ll be able to chat more about in a few weeks once it launches.

« « Journ curricula’s need for transition isn’t unique

Heading to PBS: Dreams do come true » »