Selectricity: Difference between revisions

From WikiDotMako
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Todo for Release ==
== What is Selectricity? ==


* Upgrade to Rails 2.0 and debug
:''What is this Selectricity? What might communities use it for?''
* 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"
** I think the error is related to the 'format' parameter that only exists for created elections, yet I can't seem to find it's origin. A quick hack would be to put hat parameter in the view, but I should probably ask Mako where the format parameter is really being generated.
* 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>
* <strike>Implement or debug the 'remove voters' option </strike>
* 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 participants.


== Current Status/Rules ==
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.


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


* Embeddable elections for mtvU
: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.
* Selectricity


Justin is currently working on:
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.
*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]]
The current "live" Selectricity currently includes the following different major modules:


* Improved visualization over time
* [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.
This problem may be at the conceptual level as well. What is it that people need to know about elections occurring over time?
* [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.
* [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.


<strike>Embeddable Widget scaling</strike>
== Current status ==


Alyssa is thinking about:
:''Is it ready for communities to use? At what stage of development is it?''


* Animated graphs
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.
* Outputting data directly for use in Many Eyes and Swivel.


Other things that need to happen:
Code is available, under a free software and open source license, in our [http://projects.mako.cc/source/selectricity/README source code repository].


* Improved testing functionality
Currently released features on [[http://selectricity.org selectricity.org] are listed in the previous section.
* Work on the SMS gateway
 
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]]
[[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]