The Science Behind Strutta's Voting Process

Posted by Strutta Team

Since this post was published, Strutta has further improved the voting process, streamlined the user login flow, implemented the Strutta Fraud Guard and introduced a Facebook login and share option.

Of all of the services that we offer as part of our online contest software, it is our secure voting process and user verification that truly set us apart.

Settling on a user-friendly, safe and easy voting method has not been easy, though. In fact, since our launch in late December 2008, we’ve made two major improvements to it, and completely redesigned the look of the process a few times over as well.

We thought it would be fitting to share a little “behind the scenes” of how our newest voting flow for online contests came to be.

First, a little history, provided by our Systems Architect, Steven Wittens:

  • All of Strutta is built on top of the open source Drupal system. This is a popular platform that runs some of the most trafficked sites on the web. In particular, we use the Drupal Voting API module to tabulate our votes, which is a tried and true solution. The code for all of this is freely available at for review.
  • On top of Drupal’s own high quality code, we add some additional measures to ensure fairness. Firstly, we require all accounts to be signed up with a valid (and verified) e-mail address, and we have several safeguards in place to prevent abuse of common e-mail services. Secondly, our entry browsing system equalizes exposure for all contest entries, regardless of when they were added. When we present random entries to content voters, our system prioritizes those entries that have been viewed the least. Thus everyone gets a fair share of exposure, and the benefit you get from submitting early is minimized.

With a few notes about how this has been implemented on our site for the latest version of the voting process, here’s Senior Developer Mike Holly:

  • Our users are required to verify their accounts (by clicking an activation link sent in an email) before voting. In an effort to streamline the registration process as much as possible, and provide “instant gratification” to our users, we initially decided to record all votes immediately. However, as users often failed to verify their accounts, unconfirmed votes were removed from the system after a certain amount of time. Unfortunately, this led to a great deal of confusion amongst our users, as decreases in vote counts were perceived as errors in the system.
  • We’re glad to announce that we have resolved these usability issues and have run the new system through extensive usability tests. With the new system, anonymous users must still register when voting or submitting entries, but, this time around, all new votes and entries are kept in a “pending” state until the user clicks the email verification link. When the verification link is clicked, the user is notified that their votes have been made permanent and finally redirected back to the contest site. Once at the site, the user can clearly see that their vote has been recorded. We’re hoping that these changes help make our system as transparent and usable as possible.

Our User Interface Designer, Ross Howard-Jones shares a few words about the user experience in the voting process:

  • We really wanted to clean up the login/register iframe (the registration box that appears) within our competition platform to help with user flow and clarity. The first version wasn’t quite as flexible as we needed it to be. We kept on running into issues of the size of the iframe, so one one the first things we improved was to have the iframe expandable.
  • The second was the look of the iframe. The design was simple, but still felt out of place when initiated within one of the unique themes that our users had come up with. We needed something that would work well across the board with all of the themes. We came up with a even simpler design that incorporates transparencies to blend with the theme behind it. This seems to keep the user’s experience more seamless.
  • The last thing was to improve not only the language within the iframe but also position of the copy to make everything more obvious to the user. The user’s actions now flow together to make everything feel a bit more linear and supported.

So you can see that a great deal of work and preparation go into something that is meant to seem intuitive and easy. That’s the challenge: building a tool that is accessible to all levels of internet users, and that is low-friction for people to enter online contests and cast their votes.

We’ve also been asked several times about “single sign-on” for member sites, and other methods of verifying identity and we are exploring all of them, especially for our pending API.

We’re pleased with this latest iteration of the voting process, but we know it’s not likely the last change we’ll ever make. As always, we invite your feedback.