Selectricity: Difference between revisions

From WikiDotMako
No edit summary
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Final Countdown for readying Selectricity for Live Version, Aug 22 2008:
== What is Selectricity? ==
* Upgrade to Rails 2.0 and debug
* Early results option is buggy, when the 'view results while election is going' option is checked, the links going to the results pages malfunction, especially if the election is "open"
* Make a note + conditional regarding what pictures can be uploaded for custom embeddable widgets
<strike> Make sure there's a user account page, and that it displays and links to all their elections. Then, if too many elections to be displayed are in the control panel, link to their account page instead.</strike>
* Implement or bugshoot the 'remove voters' option
* Elections don't end! Implement vote expiration code. Also, a cron job that runs every couple minutes to go through expired elections and e-mail out to particpants.


:''What is this Selectricity? What might communities use it for?''


Mako is working on:
Selectricity is "voting machinery for the masses." It consists of a suite of tools to allow groups of people to make decisions using cutting edge voting technologies.  While most voting technology projects are geared to government based decision-making, ''Selectricity'' aims to apply decades of voting research created for governments toward every day decisions. The system emphasizes preferential decision-making, cryptographic means of voter verifiability, and algorithmically complex election methods.


* Embeddable elections for mtvU
Small group decisions are pervasive and persistent. Often, the simplest methods lead to less than ideal outcomes. Imagine the following scenario:
* Selectricity


Justin is currently working on:
:A group of friends needs to select a restaurant for a meeting. The group has strong, divergent feelings: half the group loves Chinese food but hates Mexican; half loves Mexican food but hates Chinese; everyone thinks Italian would be a good option. A simple voting will never select the Italian restaurant because it has the least votes.  Forgoing a voting system altogether will usually result in a decision by the loudest in the group or the first person to speak up.
*Readying Selectricity for PRODUCTION USE
*Embeddable elections displaying votes that are over.
* Right now, the views are filled with complicated loops and array references. If possible, create back-end methods that order the arrays before hand, specifically by degree or victory in each case (not just that of the winner) and then present those to the views.
* Support for custom styled widgets
There are several ways to make this possible. One way is allowing people creating elections to upload their own background images, with specified constraints for pixel size. Another is to give merely choices of color schemes pre made. - Creating your own Selectricity skins


The plan for implementing custom widgets is here: [[CustomWidgetsPlan]]
Using preferential election methods, Selectricity groups in these types of situations makes better decisions quickly and easily by selecting the most preferred method or the choice that maximizes preference within the group Of course, Selectricity is not limited to mundane decisions like the one in the example --- it has already been used both to schedule meeting times, poll friends on the name of a child, and elect non-profit boards of directors.


* Improved visualization over time
The current "live" Selectricity currently includes the following different major modules:
This problem may be at the conceptual level as well. What is it that people need to know about elections occurring over time?


Justin has completed:
* [http://selectricity.org/quickvote/create Selectricity QuickVotes]: Simple, quick web-based elections. A QuickVote can be created in under 1 minute by a user with no experience with Selectricity. Voters usually vote in under 30 seconds.
* Embeddable Widget scaling:
* [http://rubyvote.rubyforge.org/ RubyVote]: A library that incorporates the algorithmically complex parts of election method. This makes it possible for software developers with their own applications to simple add advanced voting machinery and better election technology into their application.
The voting and results page for embeddable widgets should now be functioning and should scale as a function of how many candidates there are.
* [http://selectricity.org/about/anywhere Selectricity Anywhere]: A simple SMS/mobile phone-based interface to Selectricity that allows users to create, vote, and view results entirely from a normal "non-smart" mobile phone.


Alyssa is thinking about:
== Current status ==


* Animated graphs
:''Is it ready for communities to use? At what stage of development is it?''
* Outputting data directly for use in Many Eyes and Swivel.


Other things that need to happen:
Selectricity is under active development and new features are added each month. That said, currently released features have already seen thousands of users of a variety of types and are well tested. We understand that we're  building election software and, as a result, we're very conservative about releasing new features. Everything on the "live" site is tested in a large number of real world environments over weeks or months.


* Improved testing functionality
Code is available, under a free software and open source license, in our [http://projects.mako.cc/source/selectricity/README source code repository].
* Work on the SMS gateway
 
Currently released features on [[http://selectricity.org selectricity.org] are listed in the previous section.
 
Features that are completed and that are currently under testing include:
 
* ''Selectricity Full Elections'': A more sophisticated and feature-rich interface to to the voting machinery more suitable to more organized Election.  These election can have voter rolls, anonymous and voter verifiable ballots, and more detailed feedback.
* ''Selectricity Embeddable Elections'': A version of Selectricity that allows users to simply embed elections onto their own websites or blogs and avoids having to send users to the Selectricity website. Additionally, Embeddable elections allow users to upload custom themes so that the look and feel of an embedded election more closely matches a website administrators' look and feel.
 
Up-to-date information on the precise state of current Selectricity development can be found on at [[Selectricity/Status]].
 
:''Has it been tested in a community?  Where, exactly, and what was learned?''
 
QuickVotes have been used by thousands of individuals and groups for a vast variety of different decisions. For example, many users have used the system to select meeting times.
 
Full elections, currently unreleased but being tested, have been used by several communities including the non-profit's Students for Free Culture and Sugar Labs to elect their boards of directors. We are currently in conversations with several universities about running student government elections.
 
== Get and adapt Selectricity ==
 
:''How can people get started adapting this tool to their own communities?''
 
Information on downloading, modifying, and adapting Selectricity is available  here:
 
:http://projects.mako.cc/source/selectricity/README
 
Many users have already contributed patches and functionality. For example, several new election methods (i.e., different ways of counting votes) have been contributed to RubyVote by volunteers and users who loved Selectricity but had a "pet" method that was, at the time, unsupported.
 
== More information ==
 
Additional information is on the [http://blog.selectricity.org Selectricity Blog]. Additionally, users can email [mailto:team@selectricity.org team@selectricity.org] with bug reports, feedback, patches, or any questions.
 
== Other Pages ==
 
* [[Selectricity/Todo|TODO list for the next Selectricity release]]
* [[Selectricity/Status|Current development status]]
 
[[Category:Selectricity]]

Latest revision as of 02:13, 24 March 2009

What is Selectricity?[edit]

What is this Selectricity? What might communities use it for?

Selectricity is "voting machinery for the masses." It consists of a suite of tools to allow groups of people to make decisions using cutting edge voting technologies. While most voting technology projects are geared to government based decision-making, Selectricity aims to apply decades of voting research created for governments toward every day decisions. The system emphasizes preferential decision-making, cryptographic means of voter verifiability, and algorithmically complex election methods.

Small group decisions are pervasive and persistent. Often, the simplest methods lead to less than ideal outcomes. Imagine the following scenario:

A group of friends needs to select a restaurant for a meeting. The group has strong, divergent feelings: half the group loves Chinese food but hates Mexican; half loves Mexican food but hates Chinese; everyone thinks Italian would be a good option. A simple voting will never select the Italian restaurant because it has the least votes. Forgoing a voting system altogether will usually result in a decision by the loudest in the group or the first person to speak up.

Using preferential election methods, Selectricity groups in these types of situations makes better decisions quickly and easily by selecting the most preferred method or the choice that maximizes preference within the group Of course, Selectricity is not limited to mundane decisions like the one in the example --- it has already been used both to schedule meeting times, poll friends on the name of a child, and elect non-profit boards of directors.

The current "live" Selectricity currently includes the following different major modules:

  • Selectricity QuickVotes: Simple, quick web-based elections. A QuickVote can be created in under 1 minute by a user with no experience with Selectricity. Voters usually vote in under 30 seconds.
  • RubyVote: A library that incorporates the algorithmically complex parts of election method. This makes it possible for software developers with their own applications to simple add advanced voting machinery and better election technology into their application.
  • Selectricity Anywhere: A simple SMS/mobile phone-based interface to Selectricity that allows users to create, vote, and view results entirely from a normal "non-smart" mobile phone.

Current status[edit]

Is it ready for communities to use? At what stage of development is it?

Selectricity is under active development and new features are added each month. That said, currently released features have already seen thousands of users of a variety of types and are well tested. We understand that we're building election software and, as a result, we're very conservative about releasing new features. Everything on the "live" site is tested in a large number of real world environments over weeks or months.

Code is available, under a free software and open source license, in our source code repository.

Currently released features on [selectricity.org are listed in the previous section.

Features that are completed and that are currently under testing include:

  • Selectricity Full Elections: A more sophisticated and feature-rich interface to to the voting machinery more suitable to more organized Election. These election can have voter rolls, anonymous and voter verifiable ballots, and more detailed feedback.
  • Selectricity Embeddable Elections: A version of Selectricity that allows users to simply embed elections onto their own websites or blogs and avoids having to send users to the Selectricity website. Additionally, Embeddable elections allow users to upload custom themes so that the look and feel of an embedded election more closely matches a website administrators' look and feel.

Up-to-date information on the precise state of current Selectricity development can be found on at Selectricity/Status.

Has it been tested in a community? Where, exactly, and what was learned?

QuickVotes have been used by thousands of individuals and groups for a vast variety of different decisions. For example, many users have used the system to select meeting times.

Full elections, currently unreleased but being tested, have been used by several communities including the non-profit's Students for Free Culture and Sugar Labs to elect their boards of directors. We are currently in conversations with several universities about running student government elections.

Get and adapt Selectricity[edit]

How can people get started adapting this tool to their own communities?

Information on downloading, modifying, and adapting Selectricity is available here:

http://projects.mako.cc/source/selectricity/README

Many users have already contributed patches and functionality. For example, several new election methods (i.e., different ways of counting votes) have been contributed to RubyVote by volunteers and users who loved Selectricity but had a "pet" method that was, at the time, unsupported.

More information[edit]

Additional information is on the Selectricity Blog. Additionally, users can email team@selectricity.org with bug reports, feedback, patches, or any questions.

Other Pages[edit]