New app: Neighborhood Watch
* Note: This post came from a version of this blog that got lost in a server failure. It's been restored from old RSS feeds, Google caches and other sources. As such, the comments, links and associated media have been lost.
I've launched a new app at work: Neighborhood Watch. We've got lots of plans for it, but at launch it focuses on home sales in over 200 neighborhoods in Pinellas and Pasco counties in the Tampa Bay area.
The seed for this app actually started in 2004, when I wrote this. At the time, we did 30 stories in two days across all the zoned editions of the Times in one shot. One snapshot in time. This new app will do the same thing ... every week. The maps, the data, the trends, the graphics, all will updated by script, no human intervention required.
The app is built in GeoDjango -- the branch version that has now been merged into Django 1.0 -- and that has been a joy to work in. If you have any GIS interest, check out GeoDjango.
If you check out the app, you'll find that we've done a lot of visualizing the data we have: there are county trend graphics and each neighborhood has maps and graphics like this. I've also used the data and different aggregations to automatically generate a story for each neighborhood. It won't win a writing award anytime soon, but a reporter didn't have to write "Sales up, prices down in Foo" over 200 times every week for the rest of their natural born lives either. It's strictly utilitarian -- it gets the job done, leaving reporters to write stories like this, looking at the market more broadly with more nuance.
I'm going to write about a lot of things based on what I've learned from doing this app. I've got a ton of stuff stored up to write about, so stay tuned.
Today, I just want talk about web apps as an act of journalism. I've written before that I'm really not a fan of the whole data universe, data desk, data whatever nonsense. I've thought a lot about that while developing this app, an d specifically about what I am and what I do.
Put simply, putting a database online is not an act of journalism. A feat of computer programming maybe. A public service, in most cases. But not journalism. Journalism, at its core, is the act of extracting meaning and context from information. Would you print your raw notes? No. Three search boxes and a submit button is like printing notes to me. It is devoid of context, of meaning.
I have worked hard to make Neighborhood Watch an act of journalism. The neighborhood pages are loaded with context: maps showing locations, a story summarizing what's going on in that neighborhood, two graphics charting trends over time, other nearby neighborhoods (geographic context) and other neighborhoods with a similar median value as that neighborhood. More features are coming.
Now, I say that the typical newspaper data dump bugs me, but that's not to say it doesn't latch onto an ethos of the web: at some stage, if you want it, you should be able to get everything. Most data ghettos will let you see every record in a database. You may have to page through it hundreds of times, but you can see it. Ideally, they'd let you download the data yourself to do with it as you please. Most don't, and it's unfortunate.
At the top of the neighborhood pages in Neighborhood Watch are tabs, giving a user all sales in that neighborhood for a given year. At the bottom of that page is a button that creates an Excel spreadsheet of the data that they can use to analyze the data any way I didn't.
What I have done with the neighborhood page is try to do what a journalist would do -- answer the questions most people would have. I'm not a reporter anymore, but I'm still a journalist doing journalism. But I'm also a data geek, and often have questions about something a journalist can't answer in a general interest story. So I've done what a data geek would do: give you the data, so you can answer your own questions.
So, it may be a distinction lost on the vast majority of users, but it matters to me: I'm a journalist and I'm going to do journalism. Instead of using words and stories, I'm using code.