 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 more often associate 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 we walk by the same advertisement on the street. It will present the same information to thousands of people that day, 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 more relevant, more functional. Now let's go even a step further. Imagine if this screen could receive information about the profiles and preferences of the users that were in its vicinity and dynamically deliver content relative to their interests. This would be the world of complex adaptive engineered systems, and as information technology provides us with the tools for building smarter technologies, it is increasingly 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 a good 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 streetlights begin to have the capacity to adapt their power demands to the current load on the system. There are essentially two levels to 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. But increasingly we are 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 technology that can communicate and respond to the changes in state of other technologies in real-time, as is the case in automated production lines, aircrafts, 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, say, designing 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're used to. So 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 then can we engineer these adaptive systems at all? The answer is to work with the innate features of adaptive systems, not against them. That sounds nice, but what does this mean exactly? 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 in 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're more likely to take ownership and responsibility for their actions. We, as designers of the product or services, 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. Inversely, when we disconnect things, if, say, we build an expressway through the center of our residential community and thus dividing it, well, 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 society regulates 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. In summary then, information technology is taking us into the world of complex adaptive technologies and systems, whether we are talking about the smart phones that connect people to people to make our social organizations more responsive, more adaptive and dynamic or the cyber physical systems that are creating the Internet of Things. This world does not follow our traditional mechanistic conception of engineering but results in a much more organic model where the job of us as designers is more about the orchestration of ecosystems and systems in order to achieve their overall functionality.