Consistency vs. Adaptability

In a recent lecture on Ubiquitous Computing, the lecturer talked about the foreseen future of ubiquitous computing. One of the primary tenets of this movement is that devices will be able to communicate to each other independent of human input, and essentially make decisions together based on observations of the human environment. If the lights, coffeepot and tea kettle all observe that you usually rise at 7am, they can all, independently or in conversation with each other, decide to schedule themselves to activate around this time so that we might be able to ‘leave the mundane behind’ and focus on ‘the truly important stuff.’

I think that, while this sounds like an engineer’s dream, there is a practical problem in this that touches on a very basic human limitation.

I’m not a cognitive psychologist, but from what I understand from the literature, our brains make sense of the world by constructing progressively higher-level representations of complex systems so that we can, in essence, “learn what we need to forget” and move through our space without taking time to consistently observe every part of our environment. This is a sense-making mechanism, and allows us to become comfortable in an environment so that we can shift our attention to less basic needs. This is much like the vision for ubiquitous computing claims to support, but with one important difference: we idealize a system and then it largely becomes a static entity in our mind, only re-adapting itself when it senses drastic changes. If entities outside of this system are responsible for making decisions to change it, then we can no longer ‘trust’ our very basic environments - our homes, our offices, our cars - and instead have to exist in a state of anxiety, not knowing where or how it will change next.

One practical example from my own experience to serve as an illustration:

I find it fascinating to consider the mechanisms behind understanding how a public transit system in a foreign city works. I find the transit system in Montreal to be fairly easy to understand: the Metro lines are named after their terminal stations, the busses are all numbered and named after their primary route. When visiting a foreign city, however, I find myself having a sense of anxiety over navigating their transit system. From living in Montreal, I have formed a cognitive high-level model of how a transit system should work and, when visiting a foreign city I’m struck by the anxiety I feel over a system that is largely similar but just different enough. To quote Artemus Ward: “It ain’t the things that we don’t know that gives us problems; it’s the things we do know that ain’t so.” I believe that the anxiety is caused, not by the *similarities* in the transit systems, but by the differences in the way the foreign system functions that are different from my mental model of how a transit system should function. These differences are small in comparison to the larger picture, but are just enough to force me to re-evaluate and exist in an ‘anomalous state of knowledge’ until I can re-form my model.

In a nutshell, what I think this boils down to is that we largely value consistency above adaptability. Consistency allows us to feel comfortable, to not constantly worry about whether my coffee pot will turn on if I’m on vacation and burn the house down. Once we endow our machines with independent intelligence, however, I think we will expect them to bear responsibility for their actions. If I forget to turn the coffee pot off, then I am responsible and can, at least, come to some sort of resolution. If my machine behaves independent of my will, however, and burns my house down there is no responsibility and no accountability. I trusted it and it broke my trust, but it’s still a dumb machine and I ultimately have to bear responsibility for a device that is an independent thinker. This is a very basic flaw in the design of adaptable systems that reaches beyond a simple engineering problem.

One of the tenets of ubicomp to deal with this is manual overrides - the ability to bend a device to your will even if it senses otherwise. In a world run by ubiquitous computers, however, I think this would quickly become overwhelming to the point where we would actually spend *more* time managing our environment to operate in a consistent way than we would if we simply controlled everything manually.

To put totally bogus, but illustrative, numbers on this, I would guess that our ability to get frustrated with a system is not in the 90% of the time that it does work, but in the 10% of the time that it doesn’t work.

Microsoft Office used to have an adaptive menu system that would hide all but the most used menu items under a collapsed menu. The justification behind this was certainly a noble one: too many options leads to cognitive overload, so only display the items that are statistically needed most. What this meant, however, was that for any behaviour outside of the statistical ‘norm,’ it would take significantly more time to hunt through the collapsed menus and sub-menus to find what you were looking for. I think Microsoft has abandoned this approach in later versions simply because people valued consistency over adaptability.

Once independent devices are thrown into the mix, that problem becomes exacerbated. If we simply have a statistical system, like a neural network, observing and finding patterns in our behaviour and then adapting itself to our statistically average behaviour, then it’s not the 90% of the time that we come home from work and the lights automatically come on, it’s the 10% of the time that we come home late and find that the lights have been on for hours that will leave us frustrated. Even more insidious is the emergent behaviours these statistical systems train on, where they learn a pattern that is so hidden from us that we don’t understand *why* they behave in a certain why. When systems adapt to hidden patterns in our behaviour, I think that we will have no choice but to manually override our homes to behave in a way that we find consistent. This defeats the purpose of an adaptive system, and ironically adds more cognitive overhead as we struggle to understand these machines, and then struggle to understand how to bend them to our will. It may make you wish for days of the on-off switch.

I don’t think that ubiquitous computing is invaluable. It’s quite clear that computers will become more and more pervasive and less visible. I do think, however, that we need to be clear about what we’re actually trying to do. If it’s to make life better for everyone, then we need to put *people* first. This includes taking into account their very real limitations, even if it is at the expense of solving a cool engineering problem.