polling station marker "Vote Free"

Web User's Guide

Votorola is software for hosting open, continuous elections in the public sphere. This guide covers the use of its Web interface. (It is an incomplete draft, pending release of beta-one.)

  1. Login
  2. Register
  3. Vote
  4. Register a Candidate
  5. View the Election Results
  6. Patrol the Electoral Register

For voting in real elections, an electoral subserver must be pre-installed in your local community (city or region). For test purposes, a demonstration subserver is usually available online. Its electoral districts are configured for Toronto, but anyone can use it. It provides most of the examples and screenshots in this guide.1

http://zelea.com:8080/votodemo/w/

browser window
An electoral subserver's home page. It provides a brief description of the district, and a summary of recent electoral activity.

Login

Click login at page top, and you are taken to the login page.

Choose OpenID or email authentication.

browser window

If you chose OpenID, then continue to the next section. If you chose email, then skip to the last section, and enter the key you received.

Authenticate with your OpenID provider.

browser window
The login page of an OpenID provider. Different users will see different screens here, depending on their providers.

Cross-authenticate by email.

You might not see this screen. It only appears when you are logging in for the first time, or with a new OpenID.

Enter your email address at the prompt, and press Send.

browser window

Finally, enter the key that was sent by email, to complete the login.

browser window

Register

Click on the Register tab at page top, then Registration.

browser window
The registration page, as a new voter would see it.

Most of the fields are optional, and may be left blank. The exception is the Residence field. If a valid local address is not entered here, then a warning appears at page bottom.

browser window
A bar prediction, warning of an incorrect postal code.

A warning Bar Prediction appears whenever an incorrect values is detected. In the example above, the postal code does not begin with an ‘M’, as expected for the local electoral district. Until this is corrected, the user will be barred from the voter list.

browser window
After correcting the postal code and re-submitting, the bar prediction is lifted.

Get trust.

Registration is not the only qualification for entry to the voter list. In most cases, a certain level of trust is also required. To see what level is required, click on the Voter List tab.

browser window
A view of a voter list. Every list has a trust level, which is the minimum level required for any voter to be included. In this example, the level is actually zero.

Whatever minimum level of trust is required, it is best to aim for a level one higher; the minimum may be increased at any time. In the example shown above, where the minimum is zero, it is best to aim for a level of one.

Trust is obtained from other voters in the neighbourhood. To reach a level of N requires the trust of N others, all of whom must be at a level of N or higher. So, to reach a level of one, you need the trust of one other person at a level of one; to reach two, you need two others both at a level of two; and so on.

browser window
Browsing a local neighbourhood in the voter list.

The voter list may be used to browse the neighbourhood in search of potential trust sources. In the example shown above, the user has found a nearby street with trusted voters. If any one of those voters (already trusted) agrees to extend his or her trust to the user, then the user's own trust level will rise to one. (If you cannot obtain trust because too few voters are registered in your neighbourhood, then you must contact your local registrar. Instructions will be provided in a future release.)

browser window
A trusted voter, and also a potential trust source.

Trust is typically limited in range. Trust sources must be located in the local neighbourhood, at a short distance. Before requesting trust from a neighbour, you may wish therefore to test the distance by extending your own trust to that neighbour.

Extend trust.

To extend trust to a voter, go to the voter's home page and click on the Trust link. A Trust Edge page appears.

browser window
Extending trust to another voter. The technical term for the extension is a ‘trust edge’.

If no bar is predicted at the bottom of the page, then the voter is within range. Press the Trust button if you wish to complete the extension. The voter's page will reappear, with the trust extension acknowledged.

Web page detail

Whether you have acquired sufficient trust or not — whether or not you are in the voter list — you can still vote. Any votes you cast will be remembered by the system, but they will not actually be counted until your name enters the list.

Vote

Choose an election.

Click on the elections tab at page top, and choose an election. Then click on its Vote tab.

browser window
The voting page for an election, as you are likely to see it for the first time.

Cast a vote.

Enter the email address of a candidate, and press the Vote button. You can vote for anyone; there are no pre-declared candidates.

browser window
Casting a vote, it responds by showing the projected trace of the vote. In this case, the trace is a short one; because the candidate, herself, has not cast a vote.

We'll come back to this vote, in a moment. Note that the candidate has received no votes except yours (1), and has cast no vote of her own. She may be unknown to other voters. You can help her out, if you wish, by registering her.

Register a Candidate

Is the candidate registered?

If you click on the candidate's email address, on the voting page (above), you are taken to her own page.

browser window
A voter's page. It shows her registration data (top), and a summary of her election standing as a candidate (bottom). In this case, it appears that she is unregistered.

Note, it says she has received no votes, even though we just voted for her. That's because the results shown here are from the last count, which was conducted before we voted. Our vote will not show up until the next count, perhaps in a day or so (it depends on how frequently the counts are scheduled, by the electoral administrator).

Note also, the candidate's registration data at page top (above) is missing. And she is not in the latest voter list. We might be able to help her out with these things, and make her more visible to the other voters.

Altin as the candidate

Click altin at page top, and you are taken to the altin page.

browser window
The altin page, which effectively lets you login as another user (with limited privileges).

Press Altin, and you are returned to the candidate's page (further above). But this time, the Edit link for her registration is enabled.

Register the candidate

Click on the Edit link, and it takes you to the candidate's registration page. If the fields are actually editable there (meaning the candidate has never registered, nor set any of the fields) then you are free to edit them yourself, on her behalf.

browser window
The editing page for the register, after submission. Here we have entered the new candidate's name, and a link to her Web site.

We left her residential address blank, however. We're not sure whether she would approve if we entered that part, ourselves. So she won't get into the voter list (as the warning at page bottom explains) until she completes the registration herself.

Now, click on the candidate's email address, at page top. It takes you back to her own page.

browser window
The same user's page after registration. Her name and Web link are now shown, just as we entered them.

Press altout, at page top. You can also press send mail, to inform the candidate about the election, if you wish.

View the Election Results

Revisit the voting page.

From time to time, you may want to check on your vote, and see how it is doing.

browser window
The voting page for an election, showing the projected trace of a single vote, with cumulative counts where other votes have cascaded in.

Things have changed since the vote was initially cast. The candidate has attracted another voter, for a total of 2 votes received. Carrying these along with her own vote, she has given a total of 3 votes to a second candidate. And so on. The voting mechanism here is a delegate cascade.

View the overall results.

Click on the Results tab, for an overview of the election results.

browser window
The results page for an election, showing the a summary of turnout, and a table of ranked candidates. The candidates in this example are computer generated.

Click on the email address of any ranked candidate, and you are taken to that candidate's page.

Trace votes backwards, from a candidate's page.

browser window
A candidate's page, showing votes received, and the principal voters.

Click on the email address of any of the voters (above), and you are taken to that voter's page. If we click on marion@iquorum.net, for example, we'll see where her 10 votes came from. And so on, back up the cascade, perhaps to our own voter page.

Patrol the Electoral Register

To ensure that only the local residents vote, and nobody registers to vote twice, and so forth, voters will be able to ‘patrol’ the electoral register. They will have tools to identify false registrations, and to report them within the trust network. They will elect Registrars, with special powers, to help them. The tools, trust network, and Registrar elections are unfinished, pending the beta-one release.

Browse the voter list.

The first thing is to browse the voter list, especially in the vicinity of your own neighbourhood. This part is actually coded, so (very briefly) here's how to use it:

Click on the Register tab, at page top, Then click on the Voter List tab.

browser window
The top of the voter list, showing all of the neighbourhoods (not many, on this test subserver).

Click on the links to descend into particular neighbourhoods. In the examples shown here, the neighbourhoods are organized by postal codes.

browser window
The bottom of the voter list, showing a single, local neighbourhood, and all of its voters (again, not many, on this subserver).

Doubt signals were added for release 0.1.10, and we'll explain how to make use them, shortly...

Notes

1.

Examples and screenshots in this guide are from either the demonstration subserver at http://zelea.com:8080/votodemo/w/, or its off-line counterparts at other URLs. Screenshots are taken at different times and with different versions of the code, so they are not always consistent.

Bug Reports

Please report bugs to the mailing list, or to the maintainer (below).

maintainer Michael Allan

Copyright 2008, Michael Allan. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Votorola Software"), to deal in the Votorola Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Votorola Software, and to permit persons to whom the Votorola Software is furnished to do so, subject to the following conditions: The preceding copyright notice and this permission notice shall be included in all copies or substantial portions of the Votorola Software. THE VOTOROLA SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE VOTOROLA SOFTWARE OR THE USE OR OTHER DEALINGS IN THE VOTOROLA SOFTWARE.