[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Card Encoder
A new solution for
encoding smart cards at the polls was introduced at the sales
meeting. It is the Rosetta Personal Access Reader 2 (PAR2) from Spyrus. Now that my backup PAR2 unit is
on the road with sales and likely never to be seen again, it is time for a
description on how to use it. The following describes version 0.2.0.0
which is slightly (though not seriously) different than the version currently on
the road.
Why?
The unit is great
because:
- Its cheap and reliable
- Its easy to
use
- It encodes cards very
quickly
- Its small and looks
cool
The unit is not so great
because:
- It doesn't do anything other than encode
cards
- The battery life may or may not be sufficient and the
batteries are hard to replace
- It does not support I2C smart
cards
- Its small
How to use the Card
Encoder
To turn on the reader, press the CARD/ON key. To turn
the reader off, press the CALC/OFF key. If you press
the CALC/OFF key when the unit is already off, it will enter
Spyrus' calculator menu. Ignore this menu: we are working with
Spyrus to have it removed. The unit will time out and automatically turn
off if no keys are pressed for a couple of minutes.
The unit has six slots to store
ballot information: 1 through 6. You access the slots by pressing
the 1 though 6 keys on the reader keypad. The slots all start out as free;
that is, not loaded with any card.
The current slot is always
displayed in the lower left corner. On the
right is the number of cards that have been programmed by that
slot.
Cards are loaded into the unit
by inserting a smart card that has been programmed with Poll Book 3.13.7.
This new poll book encodes a description of the ballot onto the smart card so
that it can be displayed on the reader's LCD. Ballot Stations do not need
to be upgraded; the new card format is compatible with the old
format. The ballot description is currently the base precinct label plus
the party short label for nonpartisan ballots. The catch here is that the
LCD can only display 12 characters, so you have to make sure the base precinct
and party labels are short enough to
fit.
When a programmed card
that has not been loaded is inserted into the reader, the
reader displays the description for the card on the first line of the LCD
and prompts the user to load the card. If the current slot is already
loaded with a different card, the reader advances to the next free
slot. At this point the user can either press enter to load the card, or
press 1-6 to switch to a different free slot. If there are no free slots
left, the reader displays Full. and the user
must remove the card from the reader.
When a card that is programmed and already loaded into
a slot is inserted in the reader, the reader automatically switches to that
loaded slot, displays the card description, and prompts the user to clear the
card. To clear the card, press enter. If the user does not
wish to clear the card, they simply remove it from the reader. The card is
then ready for voting.
When a cleared or voted card is inserted in
the reader, the reader prompts the user to encode the card with the current
slot. If the current slot is free, the reader automatically advances
to the next loaded slot. At this point the user can either
press enter to encode the card or press 1-6 to switch to a different
loaded slot.
If all slots are free, the reader displays Empty. and the user must remove the blank card from
the reader. If the card fails to program
for whatever reason, the reader will display Failed. and again the user must remove the
card.
To reset all slots to free again, insert a manager card
and press enter. Once reset, the user
must remove the manager
card.
Limitations/Enhancements
Obviously, there is the six ballot limitation. It
might be reasonable to increase that to nine some day, but we would
rather leave some room for expanding the data stored on the smart cards than
promise nine ballots now. The reader has very limited memory.
The idea here is that the unit should be cheap enough to have more than
one reader in the poll for such cases, or even to assign one reader for
each ballot. It is basically useless for absentee centers; that
will need a different solution.
There is currently no way to free a single slot.
If you load the wrong card into the reader, you have to free them all to get rid
of it. We had considered providing a reload function to load a new card
into the current (loaded) slot, but the problem with that is workers in polls
with more than one reader might accidently reload a card meant for the other
reader. This would leave them SOL if they don't have a programmed card for
the overwritten slot sitting on the table to load
again.
Currently the Spyrus reader is only capable of reading
so called ISO T=0 smart cards. Traditionally we have used these
for our manager cards only. Supporting the I2C memory cards we are
currently using for voter cards is a matter of talking Spyrus into supporting
them plus a little coding on our part.
It would be nice to create a new face for the reader
with our new company logo and maybe some labels around the LCD for the various
fields.
Challenge voter cards are currently not supported,
though this is planned. The current idea is to allow the user to
(optionally) enter a n-digit challenge voter number at the Clear? prompt, instead of removing the programmed
card. This would not be a large project.
Probably a "log in/log out" function would be
worth while for the perception of security. Another idea might be to
have a "lock slots" manager function so poll workers don't accidently blow them
all away with a manager card. We could also hide the free slots from poll
workers once locked.
Other ideas and suggestions are welcome on
the lists as usual.
Ken