Designing Buildings in the Future

The future of architecture is evolving, giving rise to a new breed of architects with broader vision, deeper influence, and a more comprehensive understanding of their craft. These future architects won’t just design buildings in the traditional sense, from material selection to philosophical considerations, but will also grasp the intricacies of modern technology. They will understand everything from the flow of electrons in wiring to the connectivity of the internet, and how these elements interact with the building’s users in an increasingly digital world.

In recent years, we’ve witnessed a shift from the traditional, top-down “architect” role to the more inclusive “architect-planner.” This transition demands a wider lateral understanding of a building’s context, a necessity that is now extending into the realm of software development as well.


What is “Full Stack”?

In the realm of computer science, particularly in web development, there’s an ongoing debate within the community. It centres around the merging of ‘devs’ (developers), who write the programs, and ‘ops’ (operations), who ensure these programs run efficiently.

The term “dev-ops” emerged to describe a world where developers must consider not only the code but also how it operates on a global scale. This includes ensuring that applications run smoothly and without errors or downtime, even when used by millions of people simultaneously.

Understanding the Stack

The ‘stack’ refers to the layers of knowledge required to create these seamlessly running web applications. At the top is the front-end, the part users interact with through a web browser using a mouse, keyboard, or touch device. This layer is typically written in a specific programming language.

Below the front-end lies the server-side code, often written in a different language or framework, which handles the logic behind the front-end interactions. Further down, we encounter data storage systems, followed by the operating system (OS) and kernel layer. Common examples of full stacks include the LAMP stack (Linux, Apache, MySQL, PHP) and the MEAN stack (MongoDB, Express, Angular, Node.js), usually running on Linux.

For many developers, the stack ends here. However, this is where the debate begins, as some argue there are additional layers to consider.

Beneath the OS, we find the hypervisor, which manages virtual machines (VMs). Below that is the BIOS, and finally, the physical hardware of the computer. From here, the focus shifts to operations.

The Internet

Moving down from the application layer and the traditional ‘full stack,’ we enter the realm of the internet. First, there’s the TCP (Transport) layer, followed by the IP layer, which handles addressing and routing. Then comes the Network Access Layer, which manages protocols like Ethernet and Wi-Fi. Finally, we reach the hardware layer, which includes not only computer hardware but also radio waves, copper, and fibre optics.

Arguably, a comprehensive understanding of each of these layers is essential for designing and building the best applications for the internet. The debate continues within the computer science community about where the stack begins and ends, and how much knowledge is necessary.


The Built Environment

As computing becomes ubiquitous through the Internet of Things (IoT), Building Information Modelling (BIM), and facilities management, the stack can theoretically extend from the physical computer into the very fabric of buildings. This connection spans from software applications to construction data.

If applications are to manage the design, construction, and operation of buildings, and if hardware is embedded within the structure, understanding how these elements interact is crucial.

One Size Does Not Fit All

Existing BIM (Building Information Modelling) solutions are often large, complex, and challenging to use. These monolithic software platforms typically come with steep learning curves, making it difficult for architects and designers to fully leverage their capabilities. Despite their comprehensive nature, these tools lack flexibility, as there has been little effort to modularize the software or provide open APIs (Application Programming Interfaces) that allow for customization or integration with other tools.

This lack of modularity and openness limits the ability of architects to tailor the software to the specific needs of a project. As a result, many are forced to work within the constraints of a few dominant programs, which may not always align with their vision or the unique requirements of their designs.

Looking forward, architects must begin to consider not only the programs they use during the design phase but also how these programs will interact with and operate the building throughout its lifecycle. As buildings become increasingly networked, integrating the Internet of Things (IoT) and other smart technologies, the need for software that can seamlessly interact with these systems becomes critical. The goal is to create a building that functions as a single, organic entity, where design, construction, and operation are all interconnected through the internet.

Currently, many architects lack the knowledge required to navigate this complex intersection of design and technology. However, as the industry continues to evolve, acquiring this expertise will become essential. Future architects will need to understand not just the physical materials and structural principles of their designs but also how to integrate and manage the software that will ultimately control and optimise the building’s performance. This knowledge will be key to creating the intelligent, responsive buildings of the future.