Have you noticed that software bugs are a lot more prevalent than they were just a few years ago? We no longer expect things to work the first time we press the appropriate button, and we have work-arounds at the ready. We are conditioned to reboot our phones and computers when the system hangs.
Think about tens of thousands of apps, software hand-crafted with the best of intentions. They must run on dozens of different hardware platforms, running Windows in a dozen different versions, iOS, Linux, and Chrome OS. Each of these is continually monitoring the Web for new input, possibly WiFi and Bluetooth as well. They are paying attention first and foremost to the user in front of the machine, who may click his mouse anywhere at any time, or touch a touchscreen, or issue a verbal command, or type a keystroke. All these programs must pay continuous attention but not hog so much CPU time that the computer gets hung up with internal maintenance and can't do the substantive tasks we're asking of it.
Much of this software is tested extensively by internal testers, but none of it has experience in the real world before it is released to the public.
This is a crisis unfolding in slow motion. The number of combinations of things that can go wrong is growing exponentially, and the overhead is growing even faster than computer speeds are growing to keep up with it. Everything in our lives from scheduling to delivery to communication to the electric grid and the Defense Dept--it all runs on interconnected software that is more fragile each year than it was the year before.
Expect things to get interesting.
|The views expressed in this article are the sole responsibility of the author
and do not necessarily reflect those of this website or its editors.