-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add total ballots cast pop up validation during tabulation #679
Comments
Confirming what we expect the workflow to be here.
X should be the number of rows configured in the CVR Files tab. Since they can technically be both folders (with a bunch of CVR files within) and explicit files, I changed the language to "CVR Targets." Eventually, #675 will have ALL that specific information elsewhere. Y should be the same as the |
@chughes297 I changed the text to "CVR Targets" what do you think? Since it can be both individual files AND a folder with N actual CVR files within. |
I like it. A couple questions
And I think "Number of Voters" should be "Number of Ballots" |
|
For a progress bar are we talking about inside of that popup somewhere? Like at the top or bottom? Or maybe even within the "Number of Ballots" header since that is the only thing I think that would take time? And we would set the % complete to be the number of configured CVR targets that have been checked for ballot count? |
Left: before/during tabulation the bottom rectangle is a progress bar. Underneath the progress bar is an explainer of the current step (during tabulation) or the total ballots (after tabulation). Progress bar will have two phases:
|
Would the pop-up above satisfy the needs of #674? This feels cleaner than adding more info to the tab, but I'm fine doing both. |
For users who don't know that this information is going to eventually show up in this pop-up, I think that having the CVR count show in the "CVR Files" tab somewhere would be still be helpful. They might need to see and confirm that before they feel comfortable hitting Tabulate. |
I like where this popup is headed!!! Confirming some things
Before tabulate is clicked
After tabulate is clicked
After tabulation is complete
|
Continuing this conversation in #674 |
Correct
I haven't given this too much thought, but I expect it will stay open, show a brief error message, and refer users to the log to see more.
Still thinking about how loooong file paths are handled...
Yes, though I'm not sure the UX there is as intuitive. Once people feel that they "completed" the top section, they may be less likely to look back at it. To me, it makes more visual sense to have it at the bottom, along with a done message, like "Successfully tabulated N ballots". Either way is easy enough, and we can easily change from one to the other after we feel it out.
Correct
Correct
Correct
Correct
Yes, except:
Yes, or (if following the bullet point two above this one), instead of Step 2 going from 0-100 it will just go from (e.g.) 90-100:
Correct
Correct
Correct, or "Successfully tabulated N ballots" (duration is in the audit log if they care)
Something like this, yes |
Another note: I suspect that Tabulate By X may be a Step 3/3 here. |
@artoonie how much work is it to show a "Number of Ballots: Calculating..." line under Number of CVRs in the "Configuration Summary" section that would fire off a thread to read the CVRs BEFORE tabulation. Once that thread has read through the CVRs to get a total ballot count it would show "Number of Ballots: XXX". On top of that, as you said, once tabulation is finished it would say something like "N total ballots tabulated" under the progress bar. Testing timing it took ~20 seconds for the 1,050,000 ballots of the Minneapolis Mayor scale race. I would like to give the user the option of waiting for that before tabulating (to avoid a misconfiguration during a results livestream for example) but also provide less patient users the ability to tabulate immediately. Tabulating immediately you would still be shown clearly the ballot count in this new modal with the "N total ballots tabulated" under the progress bar. If a user kicks off Tabulate while that task is running it would automatically kill it before running the actual tabulation. Any concerns about memory issues with running that on its own thread or race conditions if someone decides to just hit tabulate before it is complete? |
Technically I don’t think this would be difficult. There may be other
concerns, like:
1. What goes in the audit log?
2. Do we re-read the CVRs after they hit tabulate?
3. If so, what if a CVR changes — would the UI show the wrong number or
update to show the correct number?
4. Is there a benefit to doing this automatically versus having a button
that says “Count CVRs without tabulating” or similar?
…On Thu, Apr 11, 2024 at 4:48 PM Mathew Ruberg ***@***.***> wrote:
@artoonie <https://github.com/artoonie> how much work is it to show a
"Number of Ballots: Calculating..." line under Number of CVRs in the
"Configuration Summary" section that would fire off a thread to read the
CVRs BEFORE tabulation. Once that thread has read through the CVRs to get a
total ballot count it would show "Number of Ballots: XXX". On top of that,
as you said, once tabulation is finished it would say something like "N
total ballots tabulated" under the progress bar.
If a user kicks off Tabulate while that task is running it would
automatically kill it before running the actual tabulation. Any concerns
about memory issues with running that on its own thread or race conditions
if someone decides to just hit tabulate before it is complete?
—
Reply to this email directly, view it on GitHub
<#679 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEDFZC6GE26VNRQ3AOHU73Y43ZLPAVCNFSM6AAAAAAYUGWLFSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGUYTEOJVG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I added an Implementation header to the original comment with a summary of the current state of this request. Since we've had a bit of back and forth I wanted to try to capture the latest. @artoonie The way I wrote implementation the first step, reading CVRs to calculate and display the total number of ballots, happens automatically. You discussed a proposal with distinct buttons for the distinct steps. Either way will satisfy our requirements. Can you either provide a brief writeup on how distinct buttons will work or if it is easy enough just code it up so we can take a look? |
Created a followup ticket #825 for a more granular progress bar once we are done with initial implementation. For this ticket, the bouncing progress bar while working is enough. |
@artoonie it looks like @chughes297 updated the original comment (see section "Open Questions // TODOs") with some of the stuff I noticed when testing last night. Could you please make sure all of those are addressed before we finalize this? |
Sure thing:
This is fixed
This is fixed by preventing closing the modal
@chughes297 I assume this is referring to the output files? @yezr can we make a ticket to address this? |
Created #836 as a P2 to investigate estimating the time these post-tabulation tasks will take and including that in our progress bar. As the other bullet points are fixed, I'll remove that "Open Questions // TODOs" section! |
Request
Have a pop up validation question asking if the expected total number of ballots cast = ##### before running the full tabulation.
Implementation probably looks like having this popup appear after all CVRs are parsed but before the round-by-round count proceeds.
This allows admins to check ballot totals before they get round-by-round results, which could help avoid issues like this.
Implementation
Before tabulate is clicked
Reading CVRs (X of Y)
where Y=total number of configured CVRs and X=number of those CVRs that have been parsed through. Once the work is complete, that indicator will be replaced with the number.After tabulate is clicked
Tabulating Round by Round Tallies
.After tabulation is complete
Open Results Folder
The text was updated successfully, but these errors were encountered: