Archives
- July 2010
- May 2010
- April 2010
- February 2010
- December 2009
- November 2009
- July 2008
- May 2008
- April 2008
- January 2008
- December 2007
- November 2007
- March 2007
- January 2007
- October 2006
- September 2006
- August 2006
- June 2006
- May 2006
- April 2006
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- April 2005
- February 2005
- January 2005
- December 2004
- April 2003
Electowidget
For the past couple of months, I’ve been working on Electowidget. Electowidget is a plugin for MediaWiki designed to make it possible to conduct Internet polls and elections using many different voting systems, including the Schulze method, Instant Runoff Voting, Approval voting, and even plain old Plurality.
Electowidget isn’t designed for secure public elections. Rather, it’s designed for the types of informal polls and elections that currently happen on wikis today. It’s also designed as a tool to help election theorists provide comparitive examples of how a given result will be tabulated comparing multiple different systems.
All data is stored on wiki pages, in JSON format, and some parts of the system currently require you to get your hands dirty editing JSON. My next step is to hide as much of the JSON away from the end user as possible, so that editing raw JSON
isn’t necessary. One nice bit about JSON is that it’s a very machine-friendly format, so I don’t anticipate that step being too tough to accomplish.
The ultimate goal is to make a library that can plugged into most any CMS or other PHP application. A lot of the functionality is already such that this is possible.
This work is seemingly unrelated to my work on Spectaclar (user management project), but there is a tie-in. I’ve done some initial work on a CMS-independence layer which can be helpful in porting plugins to different CMS systems. I haven’t decided yet just how far I’ll take this, but I keep this idea in the back of my mind whenever I’m in that part of the code.
Anyway, I hope people find this useful. I anticipate it’ll be useful for at least some of the things I’m doing, so I suppose that’s good enough for me.