Notice: add_custom_image_header is deprecated since version 3.4.0! Use add_theme_support( 'custom-header', $args ) instead. in /var/www/html/shows/wp-includes/functions.php on line 4329 ITP Spring Show 2008 » Cause Caller: An Empirical Test of A Participatory Democracy
-->

Cause Caller: An Empirical Test of A Participatory Democracy

Frederick Benenson

Cause Caller delivers on the promise of participatory democracy through open source VoIP and semantic technologies.

http://www.causecaller.com

Classes Thesis

The promise of a truly participatory democracy has never been clearer than digital media has made it today. The unique distributive nature of the Internet provides a platform that has the potential deliver on this promise by facilitating better group action at lower cost, thereby encouraging actual participation in democracy. There have been many meaningful developments in bringing better information and actions to citizens looking to use digital networks to serve their political needs, but many useful tools and databases remain proprietary and costly while others remain too general or ineffective for political action.

Cause Caller is a specific tool designed to address the needs of a distributed, participatory democracy. It is built upon fully extensible components including Semantic Media Wiki, Asterisk PBX and Amazon's Elastic Computing Cloud. The goal of the project is two fold: one, to develop a useful application demonstrating a particular and unique use of Asterisk, and two, to nurture a repository of information about political representatives that is free, editable, and reusable.

Background
Benkler, Sunlight Foundation, Open House Project, Downhill Battle Call Your Rep Application, MoveOn.Org Call Automation, Political Databases

Audience
Any citizen interested in organizing a virtual phone bank and/or contributing to a project to organize and collect information about political causes and politicians.

User Scenario
User A is interested in organizing a virtual phone bank for a local issue affecting their town, but does not have the time or organizational capacity to find the resources necessary for staging a phone bank. User A then goes to CauseCaller.com's Wiki to create a cause, adding politicians from the database, and also adding her own politicians. The Cause is then reflected on the front page of CauseCaller.com and she sends the permanent link to her fellow citizens, encouraging them to start phone banking. The local politicians from User A's town receive a flood of interested calls regarding the issue and subsequently make a better decision that represents their constituent's wishes.

Implementation
In an effort to create an extensible and easily updatable database I've chosen Semantic Media Wiki as the backend for this project. SMW allows for creation of meaningful semantic web statements (following the Resource Description Framework specification) inside wiki pages. I've further simplified the maintenance of the database by adding a Semantic Forms extension to the wiki, allowing easy HTML form editing of entries. The entire system is built upon Amazon's Elastic Cloud Computing platform which allows relatively frictionless scaling of my services, if need be.
The front end of the site uses a RDF parser to analyze pages from the SMW and display the relevant information. When users decide to start phone banking, that information is passed onto to Asterisk which then implements the same kind of technology see in CommitteeCaller.com

Conclusion
For one, RDF is an extremely robust, though somewhat immature language, and does not scale very well. In order to serve users in real time, the SMW's RDF store must be dumped, then loaded into a MySQL abstraction layer, creating serious overhead for data extraction. I've worked around this issue by exporting the RDF of certain pages (Category:Causes) on the fly, but the queries are expensive and particularly taxing when multiple pages need to be parsed on the fly.

SMW intends on implementing a stronger API to allow for real-time extraction of RDF data, but for now, Special:ExportRDF is as best as anyone can do, so extracting data from a SMW remains non-trivial.

As of this writing, I've got another month of thesis, so there's plenty more to learn!