Future of Design: The rise of a new design tribe
The Future of Design series on ArchitectureNow explores technology and the role it plays in advancing the fields of architecture, engineering and design. The column is authored by Maria Mingallon, Advanced Computational Design Lead at consulting firm Mott MacDonald in Auckland. Maria also holds an architecture degree from the Architectural Association in London and is a specialist in the fields of parametric design and digital fabrication.
In the first of the series, Maria introduces computational design and discusses both the ways that it can enhance practice within the built environment and ways that professionals can upskill in this area.
As designers, we use computers every day to model, document or communicate with others. In the last 15 years we have also seen an increasing trend in the use of algorithms and scripting within the design processes of a few visionary practices worldwide. A clear example is architectural firms like Zaha Hadid Architects, Frank Gehry, Rem Koolhas, Alejandro Zaera Polo and Bjarke Ingels, to name a few.
While it is still considered an emerging field in some parts of the world, the number of firms currently including computational designers within their teams is rapidly growing. It is also a trend that is extending beyond architectural practices to many different design branches including engineers and consultants, with firms such as Mott MacDonald, Ramboll, Aurecon and Arup leading the way.
Before we go any further, let me explain what I mean when I use the term ‘computational design’. This would not be the first time someone raised their eyebrows when I introduce myself as a computational designer and asked me to explain what I actually do to earn a living. I try to keep my elevator pitch as succinct as possible, and I describe computational design as: the use of coding, algorithms, mass computer power and data to design.
One of the most comprehensive definitions of computational design I have come across can be found here. It is actually by a former colleague from my time at Ove Arup & Partners, Paul Jeffries, who now leads computational design at Ramboll’s offices in London. He also gave a talk titled ‘Computational design at scale’ just a few weeks ago at the Institution of Structural Engineers in the UK which covers a bunch of brilliant case studies on the subject; watch it here.
Computational design offers many benefits and the ones which matter most to me are illustrated here:
Figure 1: Main benefits arising from implementing computational design.
The first one – explore more – refers to how computational design allows for the modelling and testing of more options in less time, opening the range of enquiry and providing designers with quick yet reliable results. This is incredibly important in concept and preliminary design phases, in particular when we would like to propose innovative solutions which might not have been built or tested before.
Figure 2: The ability to explore and test out more options is key during concept and preliminary design phases.
Agile collaboration refers here to being able to switch between different software packages (interoperability), using the best possible available tool on the market. It also involves building your own set of tools via scripting when those available do not necessarily do what you require. Instead of constraining their creativity to a particular piece of software, which works hard to tackle the standard but not the novel solution you have in mind, computational designers are equipped to build their own script to bridge the gap.
Becoming more agile in the use of new software and in building your own also means building an open mindset where one is keen to learn something new every day. This is incredibly relevant to the times we live in. As esteemed author of Future Shock and Third Wave, Alvin Toffler, once wrote: “The illiterate of the 21st Century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn.”
Figure 3: Computational design allows rapid creation of bespoke design tools. In this case, we use it to optimise the layout of a floor based on its daylight performance.
Good designers know that the best and most elegant solution is often also the simplest one. Computational design, and in particular the process of writing an algorithm for design purposes, can greatly help in reasoning and simplifying the initial apparent complexity of the design problem at hand.
As designers we also often find the need to free up our minds to let the creative juices flow. How many times have you been confronted by a tedious and repetitive task that you wished you could be automated by writing a few lines of code? Well, guess what, you can. Without being full time professional programmers, computational designers empower themselves to write scripts to automate tasks that are otherwise boring and time consuming to them.
Figure 4: An example of computational design being used to automate the modelling and design of a stadium seating bowl. This trims down the number of hours employed in updating the model when design changes arise.
Last but not least, the breaking down of the design process into a workflow – essentially a set of rules, variables and performance indicators – allows designers to integrate the constraints and opportunities associated with the implementation of the intended design solution. For designers practicing in the architecture, engineering and construction (AEC) industry, computational design streamlines the exchange of data between design and fabrication phases.
This is particularly important as the use of design for fabrication and manufacturing assembly (DFMA) methodologies becomes the norm in construction sites, with elements prefabricated offsite in factories and faster assembly times onsite. An area that will only continue to grow as robotic construction and additive manufacturing (3D printing) venture onto large scale construction.
Computational design is not bound by disciplines, markets, sectors or geographies. It does not really matter whether you were trained as an architect, an engineer, a mathematician or an industrial designer. Computational design is a methodology that is based on algorithmic thinking and empowers you with a novel way to approach project work and design as a whole.
If you are interested in learning computational design and have never done any coding before, don’t be afraid! There are plenty of free resources out there to get you started. Visual scripting offers an incredibly easy path into coding. Instead of being confronted with a blank screen, a text editor and lines and lines of code, visual scripting editors offer a library of functions in the shape of blocks which are connected with each other to describe a visual workflow of rules.
Figure 5: Example of a script in Grasshopper, the visual scripting editor integrated with Rhinoceros3D.
I must admit, I absolutely love visual scripting (sorry, C++ serious programmers). It is a great tool for anyone working in the design industry, because it smooths the curve to learning how to code. It essentially demystifies and makes coding accessible to designers who do not necessarily want to become full time programmers but who would like to reach further into those aspects of their design.
For those working in the AEC industry, you will not regret exploring the marvels you can create using the visual scripting editor Grasshopper with Rhinoceros3D. Autodesk’s version of Grasshopper is Dynamo which integrates seamlessly with Revit and will soon be available for FormIt and Civil3D as well (hooray!). Even game making software such as Unity or Unreal, which are often used in the AEC industry to develop high quality virtual and augmented reality applications, offer a couple of visual scripting editors, such as uScript for Unity and Blueprint for Unreal.
Figure 6a and 6b: A Dynamo script used to automate the design of a structure. If you are interested in learning Dynamo, there are free evening workshops in Auckland organised by the Dynamo Users Group. Find out more here.
The visual scripting trend does not end here. Microsoft’s Flow is another great example of the use of already made blocs of code that can be arranged to create a workflow and execute a series of tasks. Another one to explore if you like creating interactive applications, such as games and animations, is Scratch. It was created at MIT Media Lab to provide kids, teens and their families with a tool that would help them learn to code within a playful and creative environment. See an inspiring TED Talk by Mitch Resnick about the creation of Scratch here.
Visual scripting has clearly played a key role in the rise of computational designers, notably in simplifying the use of coding in the field of design. Without getting side tracked into professional programming, we can now use computers in new ways to free up time to focus in what we truly love doing: designing. Computational design empowers us to explore more options, automate tedious and time consuming tasks, work collaboratively and simplify apparent complexity overall.
Above all, and regardless of the programming language or visual scripting editor you choose, computational design empowers you think creatively, reason systematically and communicate your ideas and solutions collaboratively – which are all essential skills for the designers of the 21st century.
Special thanks to Paul Jeffries, Computational Design Lead at Ramboll, and Tatjana Somova, digital designer at Mott MacDonald for their contributions to this article.