work mostly play

24Jul/112

What Makes Design Computational

A recent post at the archinect forum has inspired my inner Ann Landers, and so I will slip on my curly Advisor Wig...

User "jojeg07" asks,

i am confused about the difference between digital and computational design. i had thought they were synonymous. my way of thinking of them now is that UCLA would be "digital" and MIT would be "computational". is that correct? what exactly makes them different? what is considered computational and what exactly is considered digital design?

This is a good question. I spent the last year doing what was essentially a survey of the past and current state of computational practice, and it is amazing how little consensus there is on terminology and titles. While all of the terms used -- digital, computational, parametric, algorithmic -- have specific (and easily defined) meanings and associations, the hybrid, messy nature of a design practice often leads to a confusion or misapplication of labels.

The simple answer would be that a "computational designer" uses methods directly associated with programming and computation -- algorithms, mathematics, data structures-- as a central part of their design process, where as a "digital designer" has a more normative design methodology, using tools that just happen to be on a computer. The simplicity quickly breaks down, however, when you try to apply these criteria to actual practice. For instance, BIM programs like Revit have a computationally-based tree-like structure, with acyclical parent-child relationships (what has been called "parametrics"). However, most of these programs use a graphic interface that requires no previous knowledge of programming or computer science. Grasshopper is an even more direct example of this strategy, as it is essentially a perfect graphical representation of a directed graph structure in a computer program, similar to Scratch.

Do programs that use sophisticated computational methods inside of a friendly, graphical user interface belong in the canon of computational design? Well, given my outsider status as a programmer dilettante, I would say absolutely yes. Even if the user isn't wholly aware of computational strategies being utilized, the approach is still taking into account algorithmic and parametric methods. Throwing these users out would be like programmers completely dismissing people who code in Python or Processing -- excluding higher level methods than your own leads to a one-upsmanship that eventually excludes everyone (as the xkcd cartoon below parodies perfectly).

Rule 35: There is an xkcd cartoon for any tech-related topic.

In the end, as design software becomes more sophisticated, and digital design processes start to resemble data visualization more than drafting, digital design will become (at least partially) inherently computational. I argued in my thesis that computation in design has a future as a context, not as a style. The flip side of that will be that in order for computational design to have lasting impact, we all must become computational designers. And this isn't going to happen by getting every graduating architect to understand search algorithms and integration methods. It's going to happen by people bridging the gap and making software that harnesses powerful computational methods to the inherent spatial and visual abilities of design thinkers. These new computational designers might not know if their design problem is NP-complete or not, but they will understand how to use machine methods in design the same way we know how to catch a ball or read a face - as an inseparable, inherent part of their working knowledge.

Comments (2) Trackbacks (0)
  1. Thanks for writing this, Ben. I have been looking for a break down like this for some time now. You know you are in the vicinity of something new when language hasn’t quite yet caught up…
    Marc

  2. Hi I really like your blog. I’m interested in the same stuff and I had the same reflexion about the relation between these terminology that I would like to share.
    What do you say about the difference between Algorithmic and Parametric? they are in someways intricate in there application. We can dumbly consider parameters as variable and said that they are in algorithm. And in the other hand Parametric use algorithm to reach the goal of adapting the shape according to the parameters. (its really dumb definition, it’s like defining programming as data aspect or the operation made on)

    What I want to express by this is: finally define by the use came at resume everything to everything. And as you said everything end to be digital design.

    I think the definition should come from the intent in the use. If you want use computation concept as an inspiration of your design you are computational designer, or a computable pattern oriented designer. Even nice software with nice GUI or user friendly doesn’t change the intent of their own design quest of a kind of rationality.
    But this is not a mannerism this, I don’t mean they will do everything with Vim or emacs from scratch to produce there design. They can use nice software, but the slight difference with other is : they are really interested in the concept brought by computer science (and in somewhat the comeback of the ghost of Alexander who had his part of influence on the computer science development.) They are looking on the architectural concept friendly part in the computer science

    If you don’t care about what happens inside the computer and you just want the power of the computation in your hand you are digital designer. And you inherit in some ways from the deconstructivist point of view

    So to continue my definition by intent, I would say parametric-ism is a will of over control of your design. You want to control it in a very precise manner. This control help you to keep the cost, to adapt the project over to the tribulation of reality.

    In algorithmic approach you want to loose a bit of control to be surprise by your own design. You research the generative and unpredictable aspects of algorithms.

    You can combine this definition to define your manner of design : a digital algorithmic design (want to be surprise, use nature inspired algorithm _ More UCLA trend) or a computational algorithmic design (want to be surprise but want to fit in a logic of a rational design lying on computer science concept_ more MIT trend)

    So now it’s useful to have different name to express different things… It merge with the feeling of jojeg07


Leave a comment

(required)

No trackbacks yet.