Complex adaptive technologies refer to networks of technologies that can adapt and respond to each other. Classical examples of this being swarm robotics, the Internet routing system or urban transport networks. With the rise of the Internet of Things, networks of adaptive technologies are set to become much more prevalent. Adaptation is the capacity of a system to alter its state in response to some event within its environment. This capacity of adaptation is something we associate more often with biological systems as opposed to the technologies we design. The industrial world we have engineered is in many ways a relatively static one. We produce things like electrical power grids, buildings, and chairs, and then they sit there, specifically designed not to change. Every day that one walks by the same advertisement on the street, it presents the same information to thousands of people. But it will only be of any relevance to a very small percentage of them, and because it is static, they will only take note of it the first time before tuning it out to become simply background noise.
Now imagine if that advertisement changed every day, that is to say, it was dynamic. Instead of a poster, we put in a screen that could be updated. It would be of more relevance, more functional. Now let’s go even a step farther. Imagine if this screen could receive information about the profiles and preference of the users that were in its vicinity, and dynamically deliver content relevant to their interests. This is the world of complex adaptive engineered systems and, as information technology provides us with the tools for building smarter technologies, it is increasing the world we have to design for.
To understand this transition from static to adaptive systems, let’s take the history of the Web as an example. Web 1.0 was a very static system where web developers hard coded web pages. When you visited a site, the server just gave you the same page that had been written possibly two or three years earlier with no changes. Web 2.0 that we all know and love leveraged new server-side scripting technologies to get information in and out of databases, and thus dynamically updating web pages, making them interactive and change over time. The emerging Web 3.0 uses semantic technologies and social networking to adapt content relevant to your specific profile and interests, thus making it not just dynamic but also responsive to the context.
Outside of the Web, the massive cost reduction in integrated circuits is leading to sensors and actuators being placed in many devices and objects. As packages within supply chains, cars in traffic and electrical power grids are becoming smarter, they can respond to events within their local environment through real-time mesh networks. But they can also feed data into large centralized systems for analysis, allowing for greater optimization through dynamic load balancing, as things like washing machines and street lights begin to have the capacity to adapt their power demands to the current load on the system.
There are essentially two levels of these complex adaptive engineered systems that we need to consider: the micro and the macro. On the micro-level, we need elements with some form of control system. A control system is a mechanism for taking in information, processing it according to some set of instructions, and generating a response that alters the state of the component. Of course, all living creatures have this, from the simplest single-celled organisms to the most complex, the human brain. However, we are increasingly using what we call cyber-physical systems to enable all kinds of technology to have this adaptive functionality, as they become part of networks of technologies that can communicate and respond to the changes in state of other technologies in real time, as is the case in automated production lines, airplanes, and mass transit systems.
On the macro scale, when we are designing these adaptive systems, we can no longer rigidly control the system and determine its functionality in the way we can when, say, design a bridge, as the end result is going to be more organic, like an ecosystem of products, devices and people interacting and adapting within networks rather than the rigid mechanical systems we are used to. Therefore, if we take away this key feature of control that is central to our traditional conception of being able to design, where we see constraining the autonomy of the components as a prerequisite to design, how can we then engineer these adaptive systems at all? The answer is to work with the innate features of adaptive systems, not against them.
Adaptive systems by definition adapt to their environment. If we place a plant in a new pot or a child in a new school they will adapt to that particular environment. This is part of the dynamics of what biologists and ecologists call homeostasis. They do this through the process of synchronizing their state with that of other elements that they are exposed to, and this is the key to designing adaptive self-organizing systems. We don’t try to directly alter the state of the components. We indirectly influence them by designing the connections within the environment that the system operates in.
If we want people to be more environmentally conscious, we don’t tell them to do this or not do that. We connect them with the natural environment, expose them to the consequences of their actions both negative and beneficial. When a consumer picks up an anonymous product in a supermarket of a city, a few thousand kilometers from where it was produced, they are totally disconnected and disassociated with it. But when we tell them a story about the product’s life-cycle, make them feel engaged and a part of that process, they are more likely to take ownership and responsibility for their actions. We as designers of the product or service have not tried to manipulate them.
We have simply connected them with the reality of their environment and left it up to them as to how they adapt and respond. Thus, designing these adaptive systems is about creating open platforms that connect components. If we want to design an urban environment that offers a better quality of life to its citizens, we need to build open spaces where people can interact and self-organize to develop the socio-cultural fabric.
Dampening & Amplifying
Inversely, when we disconnect things, if say we build an expressway through the center of our residential community and thus divide it well, so people adapt to their immediate environment and use these boundaries to emphasize the differences that divide them. Tensions and inequality can arise. But disconnecting things can also be used to our advantage, to dampen down the undesired activities in the system. This is a naturally occurring event within complex adaptive systems. Think of how societies regulate their values and norms by ostracizing or disconnecting those who break them. YouTube integrated this into the design of their platform by allowing users to flag down videos that are thought inappropriate. Thus, we can see how designing complex adaptive systems requires us to look at both the micro-level of the individual components, to design their control systems or at least understand how they work, and consider the macro scale where we build platforms that either amplify desired behavior through connections or dampen down undesired behavior through disconnecting them.