The federal government may have closed during #snowmageddon 2010, but Jessy Cowan-Sharp and Robbie Schingler didn’t. They created OpenGov Tracker, a Website that tracks citizen ideas for federal agencies related to the Open Government Directive.
Cowan-Sharp shares what inspired them and how they did it.
In its own way, the public consultation process happening on IdeaScale right now is a historic activity, but so few people know about it. We thought that a single access point would give a sense of the participation on all the different sites, a window into the discussions happening, build some excitement, and inspire people to participate. We also thought maybe a bit of healthy competition would emerge between the different agencies, spurring additional participation. Finally, we wanted to call out and celebrate the ideas of those people who have made valuable contributions, so we promoted the most popular ideas across all agencies.
When we realized the IdeaScale site had an API, we grabbed the ideas for the NASA site and started playing around. Seeing that each idea object included counts of comments, votes and lots of other information, we realized it would be easy to pull out those basic stats, calculate a few additional ones and aggregate them for all the agencies. So, we started building. The way the sites are set up, you have to register separately for an API key for each of the agencies, which wasn’t so bad– but of course then it turned out that although each agency has the same set of nominal categories, each is represented by a different category ID in the backend. This makes sense when you realize that IdeaScale is used to supporting multiple, completely stove-piped clients. But that was a fun hour or so of tediously building an index to match up the category names with each agency’s numeric category IDs.
As the number of ideas started going up, we realized that our numbers looked wrong. Upon closer inspection it turned out that the API was truncating result sets at 50. We were worried that as soon as any agency had a category that went above 50 ideas, the site would basically be useless. But IdeaScale was really helpful, and lifted the limit for us. We really appreciate that.
Of course a few agencies chose their own route instead of IdeaScale, so we haven’t included them. I’m of two minds on this. I think it’s great if agencies have their own vision for things and do something different and unique to them, since it shows they’re interested. At the same time, as a developer, it really helps us promote your stuff when there’s a common interface for accessing it. It would be neat to see us collectively put some thought into common interfaces, where feasible, for data objects on government sites and projects.
I always fail to appreciate how time consuming presentation is. Pulling out the data was much easier and faster than tweaking the layout and style. But it’s important you do that well, or obviously no one will stay on the site long enough to look at those numbers. Thankfully, Robbie’s pretty good at that part!
The site is built in using Python with Tornado as the web framework. We’re in the process of adding in MongoDB as a backend data store. It took about two evenings and two full days before we deployed it.
Right now the site focuses a lot on numbers. We’re working on a few additions that will bring out more of the actual content to highlight the diversity of contributions. I love looking over the tags and the titles, and appreciating how different the ideas are, how different the focus of each agency is, and how each one has its own microcosm of terminology, challenges and touchy issues. It’s actually really educational to scan the lists of ideas and learn what’s happening in the different agencies.
When we first released the site, it was just what we call a “tinyhack,” a quick and dirty project to get something useful up and running. We weren’t even saving the data. But a lot of people have asked for the ability to look at contributions over time, so now we’re growing up the code a little bit, adding a proper data store on the backend. That will also enable us to easily display trend lines, pull out more content, etc.
But there’s only another 25 days to go, so we need to optimize value provided and time to deployment. That said, we’ll make sure the data continues to be available after the consultation process is over so more fun stuff can be done by those who want to.