Never ask "Why we can't develop working voting software that works"!
Ask yourself “WHY on Earth should we do it?”, instead.
A few days ago, after the epic software fail of the 2020 Iowa Democratic caucus, P. Wayner gave five technical reasons why we could write software to get to the moon, but not to count votes, even if the first task seems, from a technical point of view, way more complicated than the second. The shortest possible answer is that this belief is false. The real answer are the five reasons given by Wayner (please do read his article for details):
- Code was simpler then: the Apollo 13 computers were millions times less powerful than any smartphone manufactured today. Consequently, they needed and could handle, only code much simpler than what we use today.
- Security was simpler: NASA programmers didn’t have to worry about hackers cracking their rockets from an Internet that didn’t even exist
- Function was the focus: Apollo astronauts wouldn’t care less of nice buttons and wallpapers, as long as their computers just worked
- Fewer moving parts: the Lunar Lander’s guidance computer had only one thing to do, however important. Any modern smartphone “does a bazillion things at the same time”.
- Freedom from lawyers: NASA programmers didn’t have to deal with lawyers ready to sue them out of existence (“Amazon’s Terms of Service are much longer than the code in the Lunar Lander computer”)
All true, all unnecessary
From the technical point of view, Wayner’s article is perfect (besides being a very clear and pleasant read). It’s just unnecessary. Because even if we could write “voting software that works” it would still be half wrong, half dumb to use it. I already explained why here. But don’t take just my word for me. Listen also to who just exaplained that:
- Technology is just “a tool that is sometimes wielded by those who don’t really know what they’re doing”
- the Iowa software failure “also speaks to tech’s ugly habit of providing solutions to problems that don’t exist. If it ain’t broke, don’t add a tech layer to it”