Uncategorized18 Feb 2009 11:03 am

To help my students develop their projects, I’d like to model the project development process by writing about two projects that I’m pursuing over the next two months:

  • entering an application for the Sunlight Foundation’s Apps For America competition
  • writing a grant proposal on the application of semantic web technologies to art history for the NEH Digital Humanities start-up grant competition

In this post, I will tackle the first topic only.

I will write some of my background thinking leading to more formal statements of my project proposals, produced in a format I outline in Mixing and Remixing Information » Project Proposal Format.

Government Transparency / Apps For America

A place to start is of course to read the rules of the Apps for America competition. To enter, you need to produce a working application to submit by March 31.

Note the criteria for apps for America [emphasis mine]:

  1. Usefulness to constituents for watching over and communicating with their members of Congress
  2. Potential impact of ethical standards on Congress
  3. Originality of the application
  4. Potential usability of the application
  5. Code quality of application

To get a feel for how to do to stay in the competition, you should look at the APIs, scan them for their capacities, and  also start brainstorming ideas:

As you do so, reflect on their own interests questions and passions.  As I thought about my own interests in this area, the following came to my mind:

  • I would like to influence government (to the small or large degree that I can)  to go in a “good direction”. There are things I care about to varying degrees.  My friends’ interests affect my own.  For some issues I can and would like to put in a lot of work.  For other areas,  I might just monitor the issues.  For yet other topics, I would want to take intermediate levels of action like write my congressional representative, and notify others about what I know etc.
  • I want to help people learn and do research; I have an educational and teaching and journalistic angle.  I think of serving intermediaries, building tools to help people collaborate, learn, teach, etc.
  • I’ve been recently focused on learning about senators and was astounded about how little I know about such a powerful and relatively small group of people.  Hence I have in mind developing a tool to help people to get to know the players and the ecosystem of Congress.  Do people really know their representatives? Would it help both the politicians and the people you somehow they knew each other better?
  • I like to make a more regular habit of writing my government officials.  I know of many issue-specific websites that get you fired up about this is an issue and then urge you to write your congressperson and provide you boilerplate letters.  How can that process be better integrated into my own workflow and that of my friends and ultimately of all concerned people and organizations?
  • One learning goal for myself:  learn how to use Freebase and explore semantic web technologies and approaches. I’d also like to learn Django and one of the JavaScript libraries plus some good database skills.  I know the theory pretty well, but I’ve been longing to build a real world application.
  • My educational focus and focus on tools for the intelligent layperson and for those who mediate between specialists and laypeople (educators, journalists).
  • My bias:  some visualizations are good first applications of an API — but I (personally) don’t find that most of them yield that much insight  (Since some do, I need to be more precise about what I really trying to say here) …I want to build tools to let people find answers and then let them incorporate those answers in an interpretive narrative.  I also lean towards stuff that connects insight to action.  Tools that let people network with friends and lobby congress, write their newspapers, etc. (tradition models of activism….the one that seems to be implicit in lots of issue-oriented websites (e.g., EFF Take Action, Save Darfur’s model for lobbying Congress)

While brainstorming ideas, I looked for some inspiration at Project Ideas – Sunlabs wiki and the list of Big Issues

Some brainstorms:

  • a website (or desktop application) thing that makes it easier and more fun to communicate with your congressional representatives and representatives key to your causes….[I’ve heard it said that we often underestimate the impact of some well-placed communication with congressional reps….]
  • alternative dashboards for tracking bills and members of congress.  I’ve tried  Govtrack.us  but I’ve not been able to integrate it well into my own workflow.  No excuse, I suppose, since govtrack.us has an API.
  • tools to let people more easily crowdsource the quick reading and analysis of bills, both of fast-moving ones and slow moving ones. I didn’t think that attempts like that of the Huffington Post to solicit comments from readers on the stimulus bill is the way to go…but what is?  I was wondering whether anyone attempted to use Amazon’s Mechanical Turk to partition out pieces and then aggregate the results in a hierarchical editorial process, like the one  used to look for Jim Gray (though, alas unsuccessfully).
  • an educational application to learn more about your senators and congressional representatives, the committees.  Maybe a quiz game?  I found that I had never heard the name of most senators until I started doing computation on their names.  Is it useful to know their names and what they do?  For whom?  And if so, how to make a game out of it?
  • how to implement some of the ideas in  Blaser, Britt, David Weinberger, and Joe Trippi. “Digital Government through Social Networks: A Natural Alliance?.” Puebla, Mexico. http://dotorgware.com/documents/DGSNA-SocialNetworks435VCDs1.pdf.
  • any way to improve on TARP tracking or the stimulus spending documented at http://recovery.gov — or elsewhere?  (I have to say that this is a very fast moving area, one that is seems to be too fast moving for me because I can’t devote full time on this topic.)
  • Data-mining the flow of money, the voting records of congress (which I don’t think is in the Sunlight Fdn Apis–but might be in govtrack.us apis), and other data about the congress to identify “statistical anomalies” that might indicate some sign of untoward behavior.   My guess is that you would need some serious statistical knowledge +   some theoretical and empirical knowledge of how political influence really works,  which is beyond what I can do unless I line up some expert help…. (Being a Numb3rs fan, I was wondering whether one could use math used to model how jurors influence one another to members of Congress.

What I’m settling on for the purposes of writing this model, knowing that I might change if there’s a good reason to….but also keeping in mind the March 31 deadline.

A Specific Project:  Using Freebase to Prototype/Build a PolDB

Though I’m certain yet that this is the project I plan to submit, I’m leaning towards building a prototype for PolDB, which is described on the Project pages as:

Build an open IMDB-like service for All 300,000+ elected officials in the country and build biographies on all of them much like the style of IMDB. Allow for community participation, submission and vetting.

Accomplishing this task is beyond what I can do by March 31 — however, I will explore how much progress one can make towards building PolDB by leveraging Freebase, the Wikipedia, and other sources of data, including the Sunlight Labs API.

Let me now answer the questions (in point form) listed in the project proposal.  What I’d like in the actual proposals is a more integrated narrative.

What problem is your project aimed at solving? Alternatively, why would someone want to use what you are making in your project?

According to Metaweb Technologies, Inc. : About:

Freebase, created by Metaweb Technologies, is an open database of the world’s information. It’s built by the community and for the community – free for anyone to query, contribute to, build applications on top of, or integrate into their websites.

My project aims to seed a PolDB using freebase.org as the database and possibly application hoster (using the Acre platform). One model I have in mind of an existing application built on top of Freebase APIs is bioventurist.com (and its companion Freebase base http://bioventurist.freebase.com/) (You can read more about it on the Freebase developers’ list.

Is your project doable given the constraints of time, our starting knowledge, etc?

Yes, if I don’t aim to build the entire PolDB project.  I plan to start by making sure that congressional data already available in APIs such as the Sunlight Labs API gets into Freebase properly.  I will see to what degree the native Freebase interface for a base will accomodate editing and vetting by the community.

What interface are you imagining? Is it a web, desktop, or mobile application? What platform are you running? Often a rough sketch of the interface can help clarify a lot of issues

I’m imagining a web application such as bioventurist.com using Freebase as a back-end.  I will also prototype a data extractor so that the data for PolDB will not be tied to the Freebase indefinitely

What data or services are planning to bring together? Be specific.

  • Freebase
  • Sunlight APIs
  • NYT Congress API
  • govtrack.us APIs — to look at name reconciliation of congress folks.

What’s your plan for getting the data. Often the data you might want might not be easily available.

Beyond the APIs for congress…..that becomes trickier [need to think through this]

Do the APIs you plan to use actually support the functionality that you need in your application? Show how it does so.
What programming language do you plan to use?

Action Plan

Break down the project into steps. You can end up changing the steps later, but I want to make sure you have a clear conception on what the steps are.

  • learn Freebase 101 — the UI, metadata schemes, APIs
  • implement a small base completely — e.g, US Senators first — a sample that is small enough that I could conceivably enter most of it by hand.
  • evaluate what I’ve done to figure out how to scale up.

[More details would be good….]

Highlight what you are currently working on.

Right now, I’m learning Freebase.  On Saturday, Feb 28 I will attend an event at Freebase headquarters on how to build a base.

Identify areas of “high risk,” areas that you are uncertain about and/or things that might undermine the entire project. Write about how you are planning to deal with these potential problem areas.

Some risks:

  • how are we to keep the freebase system up to date after I am no longer working on it?  Will it be worse to have a pile of old data?
  • Are there barriers in the APIs that prevent me from taking data there and pushing them into Freebase?
  • Will the issues be so complicated at the federal level that I won’t be able to get to the state and local levels?
  • Is it too risky to use Freebase?  What kind of lock-in?

[I have to write about what I plan to do….]

If you are unclear about what you might want to do, I’d suggest starting with Flickr-centric ideas if you don’t have any other ideas in mind.

Trackback this Post | Feed on comments to this Post

Leave a Reply

You must be logged in to post a comment.