So you've decided to delve into the wonderful world of open government. Good for you, newly-minted civic hacker!
But soon you realize that there's a swamp of esoteric jargon to wade through. Sure, after a good bit of Googling, the haze starts to clear. Then you notice that the most insidious type of jargon is the acronym.
Everything related to government, either directly or tangentially, tends to have a long name. That long name gets shortened into an acronym that can collide with others. For example, MARC can refer to a train system, a bibliographic standard, or a regional planning group. One of the most important organizations in the transparency movement is commonly referred to as CRP, the Center for Responsive Politics, but a Google search hides the correct result all the way at the very bottom.
So we need something a bit better than Google, to help us solve this small, specific, but incredibly annoying problem.
This is a project slated for the Great American Hackathon, led by Luigi Montanez. It'll be a web app, similar in feel to the online dictionaries currently out there.
The plan is to host the app on Google App Engine, specifically using the JRuby package. This means that the app will be built with Sinatra and use DataMapper to access the datastore.
The glossary encompasses:
- Government departments and agencies. All levels.
- Legislation, like BCRA and RICO.
- NGOs, not-for-profits, civic and business groups.
- Domain-specific jargon, like SSN and EIN.
The glossary will have two interfaces:
- A desktop web interface, using some standard templates.
- A mobile web interface, for optimized for iPhone and Android using jqTouch.
We'll need to scrape and load the following:
For the learning experience, we'll build everything using Behavior-Driven Development, so that means Cucumber, Webrat, Shoulda and supporting libraries.
Here are a few Cucumber-style stories to get us started:
Scenario: Search for an existing acronym
Given I am a site visitor
When I go to the home page
And I fill in "Search" with "FEC"
And I press "Submit"
Then I should see "Federal Election Commission"
Scenario: Search for a missing acronym
Given I am a site visitor
When I go to the home page
And I fill in "Search" with "FFC"
And I press "Submit"
Then I should see "Not found"
Scenario: Submit a new acronym
Given I am a site visitor
When I go to the submit page
And I fill in "Acronym" with "FFC"
And I fill in "Full Name" with "Federal Fun Commission"
And I fill in "Website" with "http://ffc.gov"
And I fill in "Description" with "In charge of ensuring fun!"
And I press "Submit"
Then I should see "Thanks for your submission"