Ranked Choice Voting Visual Studio

Introduction
Tap box to see more
Ranked Choice Voting (RCV) is becoming more and more popular at State & County level voting locations. However, there is much confusion on what it is, and how the votes are counted.

There are dozens of websites that have many discriptions of different versions of RCV, of which some offer paid for services that use proprietory equations, which offers no visible security against the votes being tampered with.

Our goal is to provide an open source Ranked Choice Voting process that is clearly understandable and one that can be installed and used on the Ballot Location's own tablets & computers, without requiring any dependancy on outside services or outside access, offering the most secure enviornment.

RCV Quick View
Tap box to see more
The Primary difference between "Ranked Choice" voting and the standard "One voter One vote" systems, is that Ranked Choice allows you to vote on more than one candidate at a time in terms of 1st Choice, 2nd Choice, 3rd Choice, etc.

Ranked Choice Voting is not new, dating back to the 1800s. And there are many different versions. Here is a short list
- Plurality (First Past the Post)
- Run-Off
- Instant Run-Off
- Condorcet
- Borda Count
- Single Transferable Voting (STV)
- Single Transferable Voting (STV) w/ Borda elimination
- Meek Style STV
- Meek Style STV w/ Borda elimination
- Pair Wise
- Approval Voting
- and many more

And All of these have different equations of how to count the votes & select a winner. Many of these were built on top of a previous one, so they are similar. And a few add different features such as, electing the top two candidates, and more.

"Looks too Confusing & Complicated" ~ Is the most common argument against RCV.

We agree, trying to learn each one of these systems, and then selecting the best one to use is a daunting task...

RCV Visual Studio, realized that we could build a single process that can offer everything these other systems offer at the same time.

This process is quite simple, it's based on 2 steps, for every candidate, first ~ eliminating and removing the weakest candadate, and 2nd ~ shifting the remaining choices up in the preferance level.

for example, if my 1st choice loses, then my 2nd choice becomes my 1st choice, & my 3rd choice becomes my 2nd, etc.

there is no calculating percentages or threasholds reaching 50%'s, or 35%'s etc...

Its very simple. it's only the shifting of a pointer to the data in an array. and is lightning fast !!! That might be hard to grasp, but we have built a visual demo, that makes it super easy to see in action and understand how it works...

RCV ~ also eliminates the "Spoiler Effect" and Gerrymandering (as described later).
RCV ~ introduces new faces & new candidates w/o Party Alignment & Commitment.
RCV ~ Gives us more Options & Choices, more information on issues & referance for future support.

Some describe RCV as a Consensus-Based voting system rather than a majoritarian one.





A
-
A
-
RCV Visual Studio Demo


How To
Click the "How To" button above to open and close the "How To" pages.
This Is a How To Page, All the Buttons & Tables shown here are merely pictures, they are not functional.

How does it work ?

On startup We have already loaded a randomly generated sample of a small election so you can see the actual data table layout. You can Reload a new one at anytime by clicking the
"Make Sample Button". In the "SETUP SAMPLE ELECTION" tool on the demo page under this Introduction



In a real Election We could have 10's of thousands of voters per voting location. Here, for this demo we are limiting the number of voters to no more than a few hundred for the sake of being able to view the logic by stepping through the counting process ... This program could handle millions of voters the same way ...

The actual data is stored in arrays, the display tables are only here to help us visualize how the ballot counting is performed.

In our RCV elections selecting the winner is based on 1st, eliminating the weakest Candidate and then adjusting the remaining choice preferances.

for example, if my 1st choice loses, then my 2nd choice becomes my 1st choice, & my 3rd choice becomes my 2nd, etc.

This way we can cover All aspects of any RCV Election we have seen, with the same process.

Feel free to test every button & options, play with it, you might grasp it all immediately, If not, click on the "How To" buttons & follow the How to Pages, you will quickly grasp it All, enjoy :]
How To
This Is a How To Page, All the Buttons & Tables shown here are merely pictures, they are not functional.

The first tool you will see is the
Setup Sample Election Box,


A Sample Election takes 3 parameters, # of Choices, # of Voters & # of Candidates:
click on anyone of these parameters buttons & a dropdown menu will show, and select a value,

Note: The # of Choices cannot excede the # of Candidates and is self correcting.

the Make Sample button creates & loads a new random sample, The Save Sample & Load Sample buttons work, but are not ready for easy use yet (involves cut & pasting now), to be automated soon.

How To
1
ACTIVE TABLE ~ Step 1
-
-
This Is a How To Page, All the Buttons & Tables shown here are merely pictures, they are not functional.

The Sample Election Display :


This display includes the ACTIVE TABLE,
The election counting process is based on the elimination of the weakest candidate, one by one, The Table is as wide as the # of Voters ... To see All the votes, simply slide the table left & right.

In each round there is a Step1 button
click on it,
and it will mark all the votes for the Candidate with the fewest votes in yellow & the other choices under each yellow box are marked in green.


And then a Step2 button will appear,
click on it,
and it will remove the Candidate from the Table with the fewest votes, and shift all lower Choices up ..

under the Active Table is also a the PREVIOUS TABLE


which follows the Active Table one step behind to assist in visualizing the upshift in choices after each elimination.

Go thru all the rounds for the sample election,
Note: as example if there are 5 Candidates (A-E), there will be 4 rounds of eliminations,


The "Reload Sample" button will reload the same previous random Sample,


For a New random Sample, click the "Make Sample" button in the SetUp Tool above.

The Sample Election Display also has 4 more Tables to show how the votes count for each Candidate

click the The "Show Totals" button & The "ACTIVE VOTE TOTALS" Table will be inerted between the ACTIVE & PREVIOUS Tables.



Also on this Table you will also see a "Show Initial Totals" button, click on that and you will see the Initial Vote Totals,



On each of these Tables there are two Tables side by side which may be out of view, depending on the size of your device, drag the blue Title bar to see both, you can also drag each table individually.

Hope you enjoy, It has been very difficult trying to pack this much Visual Information on a device as small as a phone and still be able to navagate through the data with minimal scrolling, The Tablets & Desktop Displays are easier & quicker to see everything at once.
about
ACTIVE VOTE TOTALS
ACTIVE COUNT SUMMARY
ACTIVE COMBINED TOTALS
INITIAL VOTE TOTALS
INITIAL COUNT SUMMARY
INITIAL COMBINED TOTALS
about Tables text


How To
PREVIOUS TABLE
~ This is a Copy of the Active Table ~ before eliminating the candidate
Notice ~ how the green boxes on this Table have been shifted up in the choice levels in the Active table above, giving them a higher ranking.
about Process text


How To
Sample Parameters
about Sample Parameters text
On Voting Security
Tap box to see more
This Project is based on two primary premises ...

(A) The first is acknowledging that anything that uses the Internet to store voter data or calculating equations in any way, can & likely will get hacked (compromised) at some point, especially when it comes to voting. And the best way to remove that problem by not engaging the internet for transmitting voting data or processing the data in any way.

(B) The Second, is acknowledging that there can always be an inside breach or tampering of the ballots. We think we might (and it is a Big might) be able to solve that problem too .. This is a WORK IN PROGRESS at this stage .. but we are working on it ...

We think we can build a secure system much like how blockchain works, that can't be broken or tampered with. without telling on itself

Let's say the ballot location creates an encripted mirror of the actual ballot database every 15 min, and we allow the staff and anyone who has voted to take & keep a copy ....

This may seem difficult, but it's really not, let's say you have 10 candidates & 5 Ranked choices per candidate, and 50,000 voters at that location ... that's only 50 x 50,000, or a 2.5 MB picture !!, and that is a small file, in today's world ...

And it's printable, can be scanned and used to mirror the actual votes up to that time...

And in this way, even if someone at the voting location tampers with the database, or the results are challenged after the election and called for a time consuming recount.

... we've got potentially 50,000 mirrors available to challege a breach or a recount call and build a new matching database to be compared to the official one on location, from the mirrors in minutes.... and no-one can claim that ALL the 50,000 voters and staffers are lying !!!

Now, here's another important point,

Typically a printed copy of a voters ballot is not provided to voters for security reasons ... because .. let's say someone has threatened or paid a voter to vote a certain way ... If a copy of their ballot is not provided ... then there is no way to prove that they voted like they were directed to ... so that possible threat goes away...

So we can't provide the voter with a copy of their vote... but we can allow the voter to check the Integrity & Accuracy of their mirror, at anytime ...

anyway, we are looking at all aspects of these security problems and are trying to get a working demo on this finalized, when & if we do, we will present it here to be tested, challenged, criticized & all.

And reguardless of this hopeful 2nd Premise ... Our Demo works perfectly & It very well demonstates how All RCV Elections can & should be counted.
Referances
Tap box to see more


TESTING tbl7B
Vertical Display
-
z