Computational Design Thinking Framework
The way we think about and conceptualize computational design tangibly and pervasively influences the work that designers working computationally produce. In turn, the results of such work shapes the way we think about the discipline it belongs to. This dialectic is succinctly highlighted by linguist and philosopher George Lakoff, who writes, in Metaphors We Live By, “New metaphors are capable of creating new understandings and, therefore, new realities.”1 What syntheses and metaphors exist for imagining computational design today? What could there be? Could new understandings of computational design spread outward to influence other disciplines?
A recurring theme in my interviewees’ accounts of design was the role of rules — that creativity is impossible without setting constraints — and the work of devising a conceptual framework is no different. In order to realize this framework, I had to articulate certain boundaries. Such an understanding of computational design couldn’t be tied to specific technologies or software paradigms, or it would only address a small subset of the field (and, in all likelihood, would soon become dated). It also couldn’t simply result from an analysis of historical precedents, whether a challenge to dominant narratives or a counterhistory — my work is also projective, and the framework is intimately tied to my own work as a designer. Finally, the framework could not propose a design methodology, that is, a procedural, step-by-step plan for addressing design scenarios. As with a technical framework, an abstracted procedural methodology would still limit, rather than expand, the possibilities for computational design.
The framework I present is comprised of three components of computational design: Generating, simulating, and interrogating. Although I list them in this order, it does not imply a linear causality or hierarchy among them. Each is indispensable; each relies on and supports the other two. Like a poorly engineered building, I imagine computational design as an unstable practice without them. They are lenses through which to do and think about computational design. While a computer algorithm to create, for example, arbitrary house plans is certainly a generative program, it is also useful to adopt a mindset of simulating and interrogating when working with or on such software, and to borrow liberally from techniques belonging to the other components.
The following chapters each focus on one of the three pillars, including an overview, a section on specific methods, techniques, and strategies from the interviews, and a case study of my own work. Again, the three sections may be read in any order — you might find it helpful to jump from one case study into the methods from another chapter and back, or read the overviews of all three before diving into the case studies.
1. Lakoff, George, and Mark Johnson. Metaphors we live by. Chicago: Chicago University Press, 1980. ↩