Feb 4, 2020 - Technology

Software disaster sinks Iowa caucus

Biden supporters caucus in a Des Moines, Iowa, gym. Photo: Chip Somodevilla/Getty Images

The disastrous rollout of the Iowa Democratic Party's new vote-reporting app Monday night looks to go down as a software train wreck for the ages.

The big picture: Coding disasters have been with us as long as there's been software, and in the past they've led to exploding space missions and lethal doses of radiation for cancer patients. In this case, the failure of a new app, followed by long delays with a phone-reporting backup system, seems to have crippled the calendar-leading Iowa Democratic caucuses — adding a fresh element of instability to our troubled election system.

Details: A statement by the Iowa Democratic Party released late Monday night said "The app did not go down, and this is not a hack or an intrusion."

  • But a letter from the Biden campaign to the Iowa Democratic Party said, "The app that was intended to convey Caucus results to the Party failed; the Party's back-up telephonic reporting system likewise has failed."

Between the lines: We don't yet know exactly what happened in Iowa. But it has all the earmarks of what engineers call a "cascading failure."

  • The app either failed in some way, or users simply found that they couldn't use it easily and resorted to the phones instead.
  • The phone system may not have been properly staffed since the app was going to take care of most of the reporting.

Background: The Iowa Democrats' app plan had raised questions about security, in an election climate attuned to fears of hacking and meddling.

  • In an NPR story on the app last month, the Democratic state chairman "declined to provide details" about who made the app or what kind of security testing it had undergone, but said that security was "a priority."

Our thought bubble: Vulnerabilities may have been less of an issue than usability.

  • The profession of software engineering has learned a lot about how to test products before distributing them.
  • But their testing regimen works best when deadlines are flexible and small numbers of real users can be exposed to a new program so it flaws can be found and fixed.

An election — or caucus — night offers neither of those conditions.

The bottom line: Iowa may have presented what software developers call an "edge case" — one that pushed Iowa's candidate selection process way over the edge.

Go deeper

Finger pointing continues over Iowa app fiasco

Illustration: Sarah Grillo/Axios

It's been two days since app problems delayed returns and cast a stain on the Iowa caucus, but the blame game continues.

Why it matters: So far, two things seem pretty clear. It's not a good idea to rely on an app as the primary means of tabulating election results, and the app used in Iowa was also pretty bad.

Nevada Democrats say their caucus won't use Iowa's app

Photo: Jeff Bottari/Zuffa LLC via Getty Images

Nevada's Democrats say their Feb. 22 caucus will not use the same vote-tallying app that's being blamed for the unprecedented delay reporting Monday's Iowa caucus results. CNN previously reported Nevada would.

Our thought bubble: When software introductions fail as badly as Iowa's just did, engineers typically "roll back" their system to its last previously functioning state. For Nevada's Democrats, that's likely to mean turning back the clock to the way they did it four years ago.

After Iowa, thinking smarter about election security

Illustration: Aïda Amer/Axios

The big lesson from Iowa: Security is only a starting point in protecting elections. Usability, reliability and redundancy are just as important.

Why it matters: As long as election officials neglect software fundamentals and view security only as a matter of locking hackers out, we will keep facing trust-eroding system meltdowns like this week's Iowa caucus fiasco.