Originally Drafted 13th October, 2016
We’re lazy creatures. That and things cost money. When things take too much effort or cost too much money, we don’t take advantage of them. Only those people with enough spare time or money can do them. I first came across this phenomenon when studying traffic engineering. Widen a freeway and the amount of traffic it conveys will increase to utilise that new capacity. The newly accessible capacity of the road becomes quickly known by local residents that previously took public transport, rode bicycles, walked or just didn’t travel at all, and then they decided to utilise this additional capacity. The opportunity to travel either more directly, in more comfort or more quickly than the alternative drives the opportunistic behaviour to utilise that additional capacity. Theoretically it should be possible to build a freeway with an extremely large number of lanes that has capacity that far outstrips the physical quantity of vehicles that could ever use that route between two set locations, even including for external visitors. The sheer cost of doing so generally precludes this from ever happening on a macro scale but the limit still exists. Hence there’s a point at which increasing accessibility reaches a point of diminished potential such that it is unlikely to ever be exceeded.
A more popular example I came across recently relates to watch bands on an Apple Watch. The watch itself is quite expensive, however unlike many other watches in the world, it may have its bands easily replaced in less than a minute when the wearer needs to exercise, change to a dressier outfit or go off to work. Changing the band changes the appearance, feel and usefulness of the watch without having to have a second watch as was previously the tradition: two watches, one for normal day use and one as a dress watch. Replacing bands on a traditional watch is a cumbersome, frustrating exercise but with this watch in particular that’s no longer the case. As changing the bands becomes more accessible, the possibility of changing bands becomes easier. As cheaper alternative bands become available, this further drives accessible choices for more people. Of course people will eventually reach a limit whereby they have more than enough bands to cater for every circumstance they personally desire, at which point the maximum potential is exceeded once again.
A final example is changing code in mass-deployed devices. When I was starting out my career software updates were handled by physical ROM ICs, that were attached by sockets to the motherboards of the control cards in the field. Changing out the firmware was a manual, slow, annoying task that was very expensive. Many locations didn’t have a network connection of any kind and wireless was very uncommon and even less common for data connectivity so this was just accepted as reality. At time progressed and the internet became what it is today, with mobile data networks becoming wide-spread, there was a more and more accessible data path to end devices for manufacturers. Over the air updates then became the preferred method of fixing problems and this accessibility drove opportunistic updating of end devices. This seems like a good thing at first with manufacturers able to correct problems even ofter their devices had left the factory, however it drove manufacturers and engineering companies down another route: minimally tested software. As the speed to fixing bugs after the device shipped improved, management circles pushed the key features (heavily tested we hope) out the door with the devices quickly, leading to many features being far less tested and requiring future OTA updates to be applied. Provided these were low-impact bugs then that’s probably a good trade off but end users don’t always see it that way.
As always no one complains about good software, they only complain when it breaks and just because you can ship something today less tested with the aim of “fixing it later” doesn’t mean that you should. The opportunity to quickly fix problems is tempting but rigorous testing and qualification will generally save time and money in the long run. The only question to ask to ponder is whether the availability has driven opportunistic thinking and if it has, what opportunistic cost will you incur for it? Opportunity cost cuts both ways.