Feb 4, 2020 - Technology

Software disaster sinks Iowa caucus

Photo of Biden supporters caucusing on bleachers in a Des Moines gym
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