For the first time ever, Iowa’s caucus results for the voting of the Democratic Party candidates were not delivered on time and this caused a huge spark across the country.
What exactly caused this mess and whom to blame for such an unfortunate start of the Presidential election process? As it turned out, the issue was in the mobile application developed by Shadow, Inc. The app was designed specifically for counting political votes and turned out as a trouble spot after the very first use. In order to understand the impact that its malfunction caused, let’s have a closer look at Iowa’s caucus and its meaning for the whole campaigning process.
What exactly is Iowa’s caucus and why does it matter so much?
A caucus is a physical gathering of people in informal places (i.e. churches, libraries, schools) for determining the party’s nominee. Even though Iowa has only 49 delegates, its caucus is very special because Iowa is the first state where people start voting. Therefore, people were really looking forward to the voting results from this state - but the mobile application used to count the votes failed on multiple levels.
The problematic application: what we know about it
The application that caused all this controversy was developed by Shadow - a for-profit company that was founded in 2019. The app was developed as an attempt to match the technical advantage of the Democratic Party but did not meet the expectations during this year’s election.
The application was designed to replace the legacy Democratic software. According to the New York Times report, the application was developed in just two months and was not tested as thoroughly as needed for such an important software product, used for political goals. However, it turned out to be difficult to download and use and eventually had to be replaced with manual tally. According to Elesha Gayman, the Scott County Democratic chair, there were just too many layers of the app that made it really confusing and hard to understand and use.
As the official reports state, there has been a “coding issue” with the app. While there are concerns about the possible hacker’s attack, the Iowa Democratic Party chair Troy Price stated that there was no cybersecurity intrusion and the whole system was secure. So one of the reasons for the app’s malfunction was that Iowa Party decided to withhold certain technical features of the app that, in turn, led to poor performance.
The issue with app’s distribution
One more critical thing about the infamous application was its distribution. Normally, a user goes to an App Store or Google Play Market and downloads the app. Well, that was not the case with the Shadow app as it was distributed through the testing platforms such as Apple’s TestFlight and TestFairy (for iOS and Android).
The thing about mobile testing platforms is that they are used for the apps that are not yet finalized. By distributing an app through a testing platform, developers can identify the possible bugs and test the app’s usability as well as its capability to perform equally well on different platforms and devices. As well, the testing platform does not actually test the app on the presence of malware which increases the security risks.
Moreover, the distribution of the Shadow app via TestFairy was performed the platform’s free tier, not the enterprise one. That means, the company simply ignored the TestFairy’s enterprise plan that comes with unlimited data retention, single sign-on authentication, and end-to-end encryption, opting for a free plan instead.
The case with the Shadow app and Iowa’s caucus results teaches a few valuable lessons:
Never rush building a software product, especially if it is designed for such important purposes as political voting,
Plan the development of a software product well in advance,
Always perform 360-degree testing of a software product before uploading it to a distribution platform,
Pay attention to performance, usability, and security collectively - do not ignore any of these aspects.
When developing such applications, it is important not to be misled by the company’s promises on quality delivery. Instead, one should pay attention to the previous projects and testimonials from the clients in order to ensure that the product will be robust and user-friendly, matching not only the business goals but expectations of the end-users as well.