votingworks / vxsuite

https://voting.works
GNU General Public License v3.0
30 stars 6 forks source link

VxAdmin: determine how to prevent customers from printing the wrong type of ballot #1964

Closed mattroe closed 2 years ago

mattroe commented 2 years ago

Possible implementation from Product meeting discussion 2022-06-16: force selection of ballot features (live/test, precinct/absentee, ...).

VxAdmin should have an explicit choice to select the type of ballot (absentee/precinct) before printing?

Perhaps we add a confirmation modal after clicking a button to print any type of ballot? Modal: "Do you want to print 3 test absentee ballots? (Cancel) (Yes, Print 3 Test Absentee Ballots)" This flow is analogous to the print dialog that is used when printing most things from a computer.

Is one type of ballot is printed most commonly? If so, we use a confirmation modal on the lesser travelled path?

per discussion in m13 retro: https://docs.google.com/document/d/1FRpWlnEjVeVBMwqAcJOdd4emV1k9MoonNJiNxHwt4f4/edit#

mattroe commented 2 years ago

Simplest solution in my opinion would be to just have no option automatically selected and require a user to make a selection to enable preview and printing.

beausmith commented 2 years ago

Regardless of the implementation, a user who is not paying attention could still print the wrong type of ballot.

Because the Election Manager role is now only printing ballots and no longer editing election def, there is no need for them to see a ballot preview before selecting the type of ballot they wish to print.

  1. Click Ballot tab and see a screen with options for ballot type, mode, and quantity.
  2. When they choose ballot type, the ballot preview is updated to reflect selections. They can then change the mode (live/test/sample) and quantity to print.
  3. They click the print button to print.
  4. Ballots are printed.
  5. Screen reverts to no ballot type selected.

Questions:

If this implementation is selected, the System Administrator view of the Draft Ballots screen should not require clicking any ballot options to view ballots before printing.


Alternately, we leave the UI as is and add a print confirmation modal which clearly confirms ballot type, ballot mode, and quantity:

Print Official Absentee Ballots? (Cancel) (Yes, Print 3)

Print Sample Precinct Ballot? (Cancel) (Yes, Print 25)

Print Test Precinct Ballot? (Cancel) (Yes, Print 4)

Benefits:

mattroe commented 2 years ago

We're adding an additional click to print in either case: at the first step in option 1 and at the last step in option 2.

My bias is towards option 2 as I think the question in a modal is likely to be the strongest mistake prevention. @beausmith which do you prefer?

mattroe commented 2 years ago

Taking this out of milestone for future work

mattroe commented 2 years ago

Not prioritizing until we see what happens in m14, will reopen if the issue presents itself again.