Most of us have lived this scenario before: you are cramming for a big final, meeting, or something important, and you need your computer, software, internet, or printer to work. You give yourself a very short period of time to have your technology do what you have asked it to do a thousand times before. You have planned your “cram session” around trusting that your technology will work in this very small window of time. You go to print, send, save to pdf, whatever it is, and… nothing.
How does it know that you need it to work at that exact moment, that you have allocated a very precise amount of time for it to do what it has done many times before, and it just doesn’t?
The experience of the Iowa Democratic Party (IDP) during the Iowa caucus garners my sympathy. They spent time and money to bring the caucus out of paper votes and verbal phone votes via a call center to a modern, mobile solution. They wanted to move into the 21st century and have an app where voters could submit their votes and track candidates on the app, in real time. If I can live track my Amazon package, why can’t I, in theory, track the success of a candidate I am voting for in an election?
However, when it was go-time for the IDP’s app, IowaRecorder, it didn’t work.
What went wrong
The scenario of technology not working when you need it to for something very important at a very specific time and nothing happens seems all too common. While hindsight is always 20/20, the app seemed like a promising idea. Take the resources that would have been put into counting paper votes put them into a more automated, modern solution. This would allow anyone with a phone to be able to download their app and support their favorite candidate.
We’ve been building mobile apps at MotionMobs for the past decade, and there are a few things that lead us to believe that the IowaReporter app was less of a technology-shutdown scenario and more proof why government agencies are struggling to have modern technology improve dated processes.
With an election, your customers are voters. Around 175,000 Democratic Iowans voted in the 2020 Iowa caucus. That’s a hefty audience to onboard to a new application, and anyone who has ever launched an app before will testify to the slow process of user acquisition. The app wasn’t announced until two months before the caucus, leaving a very small window of time to inform voters about the app and educate them on how to use it. If users don’t know about the app, how will they use it to vote?
Many caucus goers reported that the app wasn’t able to download onto their phone, and if it was able to download, they were unable to successfully get into the app. Some would argue that if the IDP had taken the time to educate users on the app and how it worked, they would have been able to figure out early on that there were issues with the app.
While this user base isn’t extremely large in comparison to streaming apps like Netflix or Hulu, there were still a significant number of users accessing the app at the same time. An app like this one would have needed a substantial amount of testing around user access and education. Not to mention, a significant amount of security testing would be needed to verify eligible voters from non eligible voters. It is unclear around what, if any, user or security testing was conducted.
Not enough development time
Many sources site that the app went from conception to launch in around two months, which seems like a short period of time given the factors of relying on users to download the app with inconsistent internet speeds and different devices. For testing alone, most developers use the number of anticipated users to determine how much time would be needed to test the app across variables like testing on different operating systems and devices and varying amounts of traffic (polls opening versus polls closing).
All things considered, Shadow Inc. greatly underestimated the delivery timeline of launching the IowaReporter.
A few different sources divulge estimated costs for the app, some report the app costing approximately $60,000, with others citing higher prices when including amounts politicians paid for additional functionality like software rights. On average, app development at MotionMobs costs around two times more than what the IowaReporter was said to have cost, and that average excludes consulting and advisory fees.
Price normally is determined by the amount of specific functions (i.e. only allowing registered users to vote on the app versus letting anyone, anywhere vote on the app). Concerns around the pricing and functionality of the app should have been raised. A few sources site that what was built was a very elementary and templatized code for the app, which might be why the app was priced at that price point, but the real reasons are unclear.
The politics around IowaReporter
The IDP also appeared to have some politics of its own when choosing their developer, Shadow, Inc.
Shadow, Inc was started by a nonprofit corporation called ACRONYM. Business and tax records show that Shadow, Inc. and ACRONYM are registered at the same address, and the CEO of Shadow Inc. previously worked as the COO and CTO at ACRONYM.
Not to mention, a number of executives at Shadow, Inc. previously all worked together and have personal and professional ties to the IDP. The app developers, funders, and clients seem to be intertwined either professionally or personally. Regardless of political party preference, it likely would have benefited the IDP to have vetted additional app development firms and received a handful of quotes.
The selection of Shadow seemed to be secretive, and the level of actual app development experience of the developers at Shadow is unclear.
When looking for a development firm, it is important to find one that is honest about their skillset and what they can and cannot build. Also, when selecting an app developer for any kind of app, it is always wise to receive quotes from a few different firms and to understand the firms background in development.
Unless you’re comparing US-based developers to overseas outsourcing, variations in pricing are generally indicative of the differences in what will be built, not the actual quality of the code.
The technology failed
In the end, and sadly for the IDP, their app technology failed them. Whether it was the amount of time they spent building and testing the app, or a disconnect on the pricing of the app, it’s clear this combination of errors lead to disaster.
When choosing an app development partner, look for one who can understand the core purpose of your app, how that purpose impacts function, and the expectations and limitations of the intended user groups. If the quote has a longer timeline or is more costly than what you were expecting, ask questions. Understanding why there’s more work to be done than you expected might be the difference between a rushed app job that no one can use or an app that is released at the right time with the right kind of functionality. Otherwise, your technology could fail you, even on a national level.