|
By Reg Charney
The U.S. election is playing itself out even as I write this.
While the final result is not known, we do know that computer-based
system could have improved voting immensely. At the very least, the
vote counts could be known within seconds of the polls closing. The
act of voting could also be made clearer, faster and less error
prone. The need for the infamous “butterfly” ballot could have
been eliminated entirely.
This column outlines a system design to do that. As you may
expect, it is not a simple problem. There are three major elements:
- The GUI design
- The Interface design
- Security Issues
|
Language Choice
Touch Button to
Select Language |
|
|
ü |
English |
|
|
Espaňol |
Figure #1: After selecting English
|
Verify Language
Choice
You chose English.
Is this correct? |
|
|
ü |
Yes |
|
|
No |
Figure #2: Verify Choice
|
Help Tutorial
Do you want help
using system? |
|
|
|
Yes |
|
ü |
No |
Figure #3: Getting tutorial
|
Political Party
Choice
Do you want to vote
by party? (By saying Yes, you pre-select those candidates
and proposition that your party supports. You can still
override the pre-selection and choose individual candidates
or propositions later.) |
|
|
|
Yes |
|
No |
Figure #4: Vote by party
|
Presidential Choices
Select your choice
for President |
|
|
|
(Republican)
George W. Bush -President
Dick Cheney -Vice President |
|
|
(Democratic)
Albert Gore –President
Joe Lieberman -Vice President |
|
|
(Reform)
Pat Buchanon –President
Ezola Foster –Vice President |
|
|
(Write-In Candidate)
President
Vice-President |
|
|
(None of the above) |
Figure #5: Presidential Vote
|
Verify Presidential
Choice
You chose Albert
Gore and Joe Lieberman for President and Vice President. Is
this correct? |
|
|
ü |
Yes |
|
|
No |
Figure #6: Verify Choice
|
Board of Education
ChoicesSelect your choice for Board of Education (select any
3 of 4) |
|
|
ü |
(Republican)
Adam Adams |
|
ü |
(Democratic)
Bob Billings |
|
|
(Reform)
Cary Carter |
|
|
(Independent)
Ira Iving |
|
|
(Write-In Candidate)
President
Vice-President |
Figure #7: Sample n of m Votes
|
Verify Board of
Education Choice
You chose the
following 2 candidates for Board of Education:Adams Adams
Bob Billings. You can choose 3 of 4 candidates. You can
select 1 more candidate. What would you like to do? |
|
|
ü |
Keep my choice of just 2 candidates. |
|
|
I want to make 1 more selection to add to my previous
choices. |
|
|
I want to change my choices. |
Figure #8: Verify Choice
Some general principles apply to whatever GUI design is used:
- The GUI is simple and consistent
- Always give feedback to the voter
- The voter can change their mind at any time, until they
finally accept all their choices and submit their ballot to be
counted.
- The voter can navigate easily to any part of the ballot at
any time.
- The GUI must be able to provide help in a variety of
languages.
The Interface Design element takes into account the following:
- The device the voter uses may be local to the polling
station or remote, as in overseas or on the Internet.
- The voting device needs to be able to work online or
offline. Thus, both store and forward and straight
client/server architectures should be supported.
- The Interface Design must be tolerant of component failure.
- The Interface can be used by people who are visually or
otherwise impaired.
Security issues are very real in this new Internet and computing
age. These security issues include:
- Only registered voters get a ballot.
- The system should be auditable so all parts of the system
can be verified to be working as intended. This implies that
the system itself needs to be Open Source so as many eyeballs
as possible can check for security and other issues.
- Voting early and often should be detectable without
compromising which voter cast which ballot.
- Voting over a network, spoofing is detected and discarded.
- The resultant database can not be corrupted or changed,
other than through legitimate means
- Reports can not misrepresent the actual data.
Because of this litigious age, changes in the ballot must be
accommodated up to the last minute, as allowed by law. This need to
accommodate change will affect all other aspects discussed so far.
The GUI
There are four possible types of selection: 1 of n, like voting
for president; m of n, like voting for 3 board members out of a
slate of 7; and n of n, where a voter can vote on any or all 15
propositions. For any type of selection, “None of the Above” is
allowed. The fourth type of selection is along strict party lines,
with allowances to override specific issues and candidates.
State laws determines who and what can appear on the ballot, in
what order people and propositions appear, and whether check boxes
are on the left or right side of names. Also, some states allow for
write-in selections.
What is not allowed for in most state laws is what happens when
more choices are available than can fit on a screen or normal
polling device. The issue here is whether the position on the ballot
prejudices the vote. For example, do you want your favorite
proposition to be the last one of 37 on the third page of
propositions.
Man-Machine Interface
The GUI is just one aspect of the interface with the voter. We
can also use audio feedback where voice commands are used to make
selections and the choices are spoken back to us. Whether to use
male or female voices is then an issue, particularly if different
languages are possible. Also, unless we have highly directional and
limited range sound or headphones and mike, we have a privacy and
security issue using an audio interface.
For the visually impaired voter, a magnifying glass may be part
of the interface to increase the size of parts or the whole of the
screen.
For novice voters or those that have never used a similar system,
tutorials should be available, usually immediately after selecting
the language for the ballot.
The election board may also choose to include pictures or video
clips of the candidates, their families, pets, guns, dead relatives
and anything that the candidate’s political advisors say is an “at
home” touch. Why, we could even include a selection where the
candidate states their position on any given issue.
The use of the magnifying glass, audio I/O, pictures, etc should
be made part of the preferences that appear as part of the GUI.
Security—The Voting Token
A voting token consists of a uniquely encoded key. Each
registered voter can receive one or more tokens from a set of tokens
for that voter, but only one token of the set can be used. Voting
tokens can be sent by mail, email, fax or given out at the polling
station. Upon starting the voting process, the voter is asked to
enter the token manually or through a reader. The token is valid
until the voter casts their ballot, at which time, all tokens in the
set is marked as used and kept in a “Used” database. Thus, the
number of tokens must match the number of ballots cast.
The voting token consists of a precinct, county, state, time and
date of issue, media code, and a unique serial number as a minimum.
It can also contain the voter’s name and address. The voter token
is kept entirely separate from the actual ballot information. Think
of a voting token as a key a house and the ballot as the contents of
the house.
Security and Privacy
It is tempting to track ballots and voting tokens with place and
time stamps, but that allows for matching who votes and what they
voted for. However, the secrecy of the vote may need to be balanced
with the need to avoid fraudulent ballots. For example, how do you
protect against ballot box stuffing? Normally, you would match
polling place attendance lists against votes cast.
The Database
The database must have distributed capabilities; transaction
processing with commit and rollback; the ability to encrypt
individual pieces of the information; and, various levels of
security. The transaction facility ensures that if the system fails
for any reasons, at most, only one vote will be lost. Encryption
ensures votes remain secret. The security levels help ensure only
authorized personnel have access.
Design choices include: is there one encryption key for the whole
database or for each individual ballot or for each precinct? What
happens if the decrypting key is lost. How do we protect against
this?
By Reg. Charney
By now you must have gathered that this issue concerns automating
the voting process. While the basic design of many aspects of an
automated system are discussed here, a system design of the
magnitude needed can not be really done in the space we have
available here. I would like to propose an Open Source project to
create an effective voting system. The project needs volunteers to
design and build the system. Many questions are unanswered. For
example, what language to use. Among the obvious choices are Python,
C, C++, and Java. I hesitated to include Perl because of its
tendency to become unreadable and unmaintainable. I thought that Tk/Tcl
could be used as a first cut at the GUI. Again, a choice needs to be
made, but I have no major bias, except that it be available on a lot
of platforms under a wide variety of Open Source operating systems
like Linux and its distributions.
In the main article, I talked about giving the voter the ability
to easily access any part of the ballot. Again, there is a need to
review alternate methods for doing “site maps”, keeping in mind
that the voter may be using a mouse or their finger.
I could go on, but I need to feedback. What do you think needs to
be done and how? Please send any comments to vote2k@accu-usa.org.
By Reg. Charney
The falling fortunes of the dot coms and the uncertainty of the
election results, even before the election, have affected the jobs
figures. While the number of jobs offered has fallen since April,
the decline has leveled off. Chart #1 shows the normalized job
trends over the last eleven months. Ordinarily, things that don’t
change are not very interesting. But in this case, the fact that
things have leveled off is good news.

(Note: Chart #1 is normalized for the number of jobs in January
of this year. That is, the number of opening in January 2000 has
been taken as 1.00.)
Over the last 18 months, a number of platforms have competed for
dominance. One of the interesting aspects of this is how fast demand
for the main platforms has been growing or shrinking. Demand is
defined as the rate of acceleration/deceleration in the trend line
for the period shown. From Chart #2, we can see that demand has been
slowing for the older platforms, while the newer ones, like Windows
2000 and Linux has accelerated faster than all others. Again, the
exception to the rule is Solaris. It is right up there with the
newbies. This indicates that Sun is increasing its dominance of its
markets. These demand lines are positive at the moment because of
the long period of expansion. Over the last 30 days, demand for all
platforms has followed the general trend and decelerated. However,
the short term has not yet outweighed the long term demand.

|