[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 which is slightly (though not seriously) different than the version currently on the road.
The unit is great because:
The unit is not so great because:
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.
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.