Wednesday, December 12, 2018

Automated lies, network disruption, and Cogeco

After a bout of significant Internet disruption from Cogeco - upload and download speeds are highly-variable with upstream being intermittently non-existent and I don't expect them to know or really care what's wrong, even if I called - it's become apparent how non-resilient a lot of software is to inconsistent network performance.

It reminded me of how much our software lies to us about what is wrong. The software can't tell me that my ISP is performing poorly, so it says that the connection can't be made (it can - just slowly). Or it says that the Internet is down (it's not - it's just slow). Or it says that the web page is broken (it's not - it just can't be loaded fast enough).

Automation lies because it doesn't know any better. Even the best automation lies for this reason. It assumes that giving you some information is better than giving you truthful information. Exception handling is difficult and time-consuming; and most developers don't care that much about it, if they even considered it at all.

This has been apparent since the days of call centre call trees, if not sooner. It's not possible that every single time I call my financial institution, that the wait times are going to be a long time because call volumes are abnormally high. But that's what the system is programmed to say when wait times are high. You can't prove otherwise, it's just doing what it's told, and the person responsible has probably already been promoted and the problem is now beneath their pay grade.

Given our increasing daily interaction with software and other forms of automation, I can't help wondering if all of these miniature lies told to us throughout the day affect the standard of truth we expect elsewhere in our non-automated interactions.