You’re gonna be hearing a lot about the Iowa caucuses today.
And not for why we all expected to anyway.
You’re probably already aware that last night the Iowa Democratic Party failed rather dramatically in the one job they had yesterday: to collect and report the result from their caucuses.
(The what and why of “caucus” as opposed to “primary” are not gonna be addressed here today.)
They were using a new phone app connected to a centralizing storage and reporting system to manage the results, and this new system seems to have failed spectacularly.
Yeah, that’s bad.
But not in the way the media seems to be latching onto: it’s not evidence of pro-Biden shennanigans, and it’s not an argument against digitizing any of these processes.
And the delay in reporting the results is actually to the credit of the state Democratic Party.
Shennanigans?
Yeah; the IDP failing to announce a winner will probably have an effect on the course of the rest of the Democratic primary. The winner in Iowa historically gets a boost, largely from the favorable press coverage the win generates. 538 would be the site to see for a discussion of that.
And with no winner announcement, the post-caucus media focus is on the Party’s screwup rather than on the winner so that potential boost (for whoever should have received it) has pretty much evaporated at this point.
But given the procedures the Party seems to have had in place, there’s no way this was intentional; that would have required way too many people to be in on it and would have left far too much evidence to point to interference.
That may be wrong, since it’s based on the Party’s own description of the process; the inevitable investigation will determine whether that’s true. But on the information that’s currently public, it’s extremely unlikely that this was intentional.
It was definitely a major tech screwup, though.
Seriously: Iowa has around 1,700 precincts each of which need to report data. Even if each precinct is reporting (say) 10 pieces of data that’s still only 17,000 data points; at 100 per precinct it’s still only 170,000.
That’s nothing.
Any novice web app developer can throw together an app that can receive that much data and produce a usable report. And you could run it effectively on a consumer-grade laptop.
So it’s likely that the Party’s claim that the issue was in inaccurate reporting is true: that’s the most likely spot in the system for a mistake to manifest, especially if they did even minimal testing in advance.
(They don’t appear to have done a state-wide dry run, or at least no one is mentioning it if they did; if they did skip that step then that, at least, would have been a pretty major mistake and be squarely the Party’s fault.)
And since all software has errors in it, it’s not really surprising that the first live-data run would have some output glitches. That’s normal.
The important thing to notice here is that they caught it.
And they caught it before announcing any results.
This is actually a very good thing.
It means that the processes they had in place for collecting the precinct level results via parallel systems and cross-checking those inputs against each other worked.
So don’t get cought up in a media frenzy today.
With what I can see reported so far, it looks like the IDP experienced a fairly typical coding screwup but had a system designed with good validation so they identified and are addressing the problem.
They’re doing this right.
Although their communications people do seem to be screwing the pooch in dealing with the media on it.
I’m seeing some reports that the last time IDP tried this their developer/vendor was Microsoft. If they made that mistake again it might explain a few things.
Apparently it wasn’t Microsoft this time; apparently it was a consultancy called “Shadow, Inc.”.
And that actually isn’t a joke.