Host your election on the ElectionsOnline website, and:
- There’s minimal setup involved.
- The site is hosted in a cloud environment and enjoys all the system redundancy inherent to cloud hosting. Translation: The site’s uptime is as good as money can buy.
- Behind the scenes, the software ties in with SocketLabs (email relay experts) to ensure any emails it sends enjoys as high a probability of reaching the inbox as possible.
- Professional design work ensures the ballot presents in a very voter-friendly format.
These are all very good reasons to host your election on the ElectionsOnline site. But this post examines some very good reasons to integrate Evote into your own web site using the Evote API (Application Programming Interface).
For those who aren’t aware, it is possible to set up an election at the ElectionsOnline site, then through some wizardry have that election’s ballot consumed by your own site. This is done using something called “web services,” which is a terribly unimaginative name for the ability of two computing systems to pass information back and forth in a way that makes the information understandable to each system even though they may have very different underlying technologies. For example, the two computing systems could be the ElectionsOnline web site and your organization’s own website. The information being passed back and forth would be the ballot along with some authentication information to make sure you’re able to access your ballot, and only your ballot, from the ElectionsOnline system. And the underlying technologies would be the ColdFusion-powered server hosting the ElectionsOnline site and the whatever-powered server driving yours. That could also be ColdFusion, but might be PHP, ASP.NET or something totally different.
There is additional work involved as the consuming web site (that is your web site since it would “consume” the web services published by ElectionsOnline) needs a place where voting occurs and the necessary authentication to protect this area of your site from unauthorized users. So why would a client want to do this?
- The voter database stays fresh in real time. Consider this scenario. You’re hosting an election on the ElectionsOnline web site, and two weeks prior to the start of the election, you load the voter roster into the system and the election lasts for another two weeks. Towards the end of the election, the voter roster would be nearly four weeks old and could have become stale since it was first loaded into the system. “Stale” in this context means some voters could have become eligible who weren’t included originally. Or just the opposite, a voter who was loaded into the system at the outset could no longer be eligible. You of course have the ability to add voters and toggle the eligibility of any voter in the system. But if you’re a large organization, the number of voters that need this sort of manual attention could become overly burdensome to keep current. Integrating the ballot into your own site where voters are authenticated against your master database in real time results in the most up-to-date voter eligibility status associated with their record without having to take additional measures in a separate system to keep their eligibility current.
- Single sign-on. Your voters do not need to be aware of any username and password other than what they use already to sign in to your own web site. Plus, if they’re already signed in to your web site for an unrelated purpose, it would be very easy for you to present them with a link that takes them straight to the ballot without them having to answer a call-to-action in a separate email or login to a second web site.
- Branding. You may wish for the ballot to have a look and feel consistent with your organization without any of the ElectionsOnline branding visible on the ballot. Then again you may not. This may be the number one reason so many clients host their election on the ElectionsOnline site rather than to utilize the API—they want it to be visually evident that the election is being conducted through a trusted election specialist. By using the API, you get complete control over the look and feel of the ballot’s “skin” and can really style the ballot to your own custom specifications.
- Use the voter’s preferred language. Evote supports multiple languages and the API supports the ability to pass a language code to the system. This means you may pass a code representing a specific voter’s preferred language to the API so they see the ballot in one language while another voter sees the ballot in a totally different language. You may even pass a comma-delimited string of language codes to display the ballot in multiple language in case you wish to have a voter’s preferred language as the primary language and use some other language, English for example, as a secondary language.
While it’s true that setting up the election framework to consume Evote’s API into your own web site is a job for a bona fide web developer, it’s also a one-time job and not something that would need to be redone in subsequent years. There’s no additional charge for using the API, it’s a standard feature of Evote and one fully documented with step-by-step instructions in the Evote Integration Manual. It’s not appropriate for every client, but the larger ones in particular should at least know that it’s an option and give it serious consideration.