“Innovation has nothing to do with how many R&D dollars you have. When Apple came up with the Mac, IBM was spending at least 100 times more on R&D. It's not about money. It's about the people you have, how you're led, and how much you get it.” - Steve Jobs

Code, material & creativity

Tonight I read an interesting interview of Andy Hertzfeld. To be honest I feel a bit ashamed that I know so little about Andy as it seems he’s done some amazing & important work in UI Design, including at Apple & now at Google–for Google+.

In the interview a key early question came up about what do you do first, and his answer was quite simple: get the idea into code as quickly as possible. Now many of you may have been reading all the other people who have had comments on this topic from various angles as it is something of a sticky point for many designers.

Tomorrow, I’m about to start a class in computational design. Why? In large part because of this debate which has been raging inside of me for the greater part of 2 decades. I thought for the last decade that I could get away with being an interraction designer and not code. I thought as many do that having an understanding of the principles of code & data management were enough o hold dialogs with teammates and collaborate towards executing designs. Many people who believe in the importance of code believe that being able to communicate with your engineering teammates is the most important reason to know how to code, or to guarantee the execution of your design. I don’t disagree.

Andy Hertzfeld in his answer says that he codes to try out ideas & refine them in the space of code. Code for him doesn’t appear to be a refined space, but a space that leads to refinement. THIS more than anything else spoke volumes to me, but alas I was already convinced. But his statement brought to mind another very important influence in my life–art.

I’d be interested to know how many of you experienced & buddy interaction designers look to art for process & method inspiration?

To be even more exact I remember an exhibit I went to of Dega. I love Dega. As an aside I love most post Impressionists like Van Gogue & Cezanne. But This exhibit of Dega hits me now square between the eyes with a lesson. Dega was an explorer of image. We all know how he was obsessed with a single subject–the ballerina. He has so many different pieces with this same subject, and one can look at all these paintings and all the associated sketches and thing that for him the frame was his code. That line & oils worked together to iterate his images again & again. They would not be wrong & this is why I agree with Hertzfeld, but there is more & maybe there is more to Mr. Hertzfeld as this is but one interview and like I said I do not know the man’s work as well as I should. However in this exhibit Degas did more. He sculpted. In the exhibit they showed 10’s of sculptures in the middle of a room with 10’s of paintings & sketches surrounding them.

Part of Degas’ process was exploring in a medium that used material that was incompatible with what he was considering as his final form. He wanted to see other angles that he could see in just the 2 dimensions of paper or canvas. The sculptures took him into new areas allowing him to see from the multiple angles that only 3 dimensions could allow.

So what does this mean for us as interaction & interactive designers? I feel 2 ideas come to the fore for me, and to be clear neither idea replaces that core need of getting to the flow of the medium you are designing for.

1) Do more. For me it means “enact”. We must play out improvisations where people act out the roles of system and user. We must use physical artifacts instead of pixels.

2) Code is now abstracted. Tools are out there that make code opaque. We no longer need to work in code to try things out. We can get to the trying of many (not all) of the pieces of an interactive experience without ever typing a line of code. I know in the end code somewhere is being created & it is important for me to understand the ramifications of that code, but writing it may not be the best use of my time at early stages in the design process.

For me #1 is necessary for every designer to consider. As systems are given more & more complex behaviors that make the computer more & more opaque, those behaviors will take on more & more human qualities in metaphor, and become characters that we engage with.

On the other hand, #2 will depend on you the designer. What are you as the designer comfortable with. Can you meet the required goals of communicating design and ensuring its execution? Does your process allow you enough fodder for exploring design possibilities?

There are so many design methods out there in the world. Many of them have produced different successes, even repeatedly. Can we be so arrogant t think that ere is only one best way to accomplishing successful design outcomes? I don’t think this form of hubris is helping anyone in the design community and it is yet another example where we as designers force ourselves to take on cultures that restrict us when in actually, it is through chaos where we really succeed.

Be Sociable, Share!
  • Anonymous

    Dave, thanks for writing this – it’s given me lots of great stuff to chew on. I’ve been struggling with the notion of “should I know code, or should I write code” quite a bit over the last year both personally and as the owner of an interaction design firm. Would love to hear how your thoughts on the subject have evolved after you’ve completed the computational design course.

  • http://twitter.com/daveixd Dave Malouf

    Hi Matt,
    I think for you as an owner/mngr you’re in a different position than the troops who work for you. I don’t know how you work with your organization. Do you do design? Or do you guide design? How hands on is your position as an owner? So I’m not sure I can answer completely for you, but for myself as a professor and startup owner. So here goes.

    Art has always been an emergent activity. This understanding of emergent solutions vs. constructive solutions is a key separator between the art influence of design and the science influence of engineering. Science teaches through trying to replicate and then understand the methods of replication. Art teaches us to create a new world and only stop at the point where criticism (our own or others) tells us we are finished.

    (I must admit, my thoughts are also mixed up due to another conversation I’m having online about science v. humanities and is design on the same plane and if so where.)

    So this is what I’ve gotten from my class.
    1) Code is a material. It can be used either as a constructive element or as a generative element. Code is a language and to learn that language is like learning any foreign language. It helps reframe the world around us. We can discover new norms and metaphors and frameworks embedded in the cultures that those languages were formed in. Code can do the same thing. by gaining fluency in code through practice, we can discover things that code can do for us that we would not otherwise be able to apply to our designs, so as a designer we would miss the opportunity to even ask for the system to do these things, or rely on our collaborations with engineers to evoke them for us.

    2) Code can generate things based on dynamic outcomes that can give life to design. Emergence then is a property we support, instead of control like we do in Experience Design and Service Design. The question I have not seen addressed yet is how do we allow for this emergence in a business (or similar context) where “control” is perceived as necessary.

    3) What I can say though is that most of us designers work in very constructive environments. Both generative design and emergent interactivity seldom have a place in our worlds (don’t know if they should or shouldn’t), so I feel like the more code I learn does not seem to make me more productive as a design director/manager.

    4) Working in a startup environment though, I was hoping this class would have given me more direct hands-on skills so I can better support our partnership. I often feel that I’m left out of the loop, or otherwise disempowered bc I cannot contribute more directly to production of our ideas.

    Recently there was an article about the whole Zuckerberg v The Twins and how Zuckerberg’s plight (if you will allow) is that of Silicon Valley. The line that comes out of the fictionalized Zuckerberg from Sorin’s hand is “If Facebook was your idea you would have facebook.” That spirit of “build it our get the fuck out of my way” that places little value on ideas is antithetical to the entire business of design where ideas are what we sell and we let others build, print, code, manufacture, etc.

    As an interactin design agency, I think you need to look at what you deliver. Are you delivering executions or visualizations and narratives of ideas. I’m not sure where I stand on this battle line. I never liked the culture of the Valley for so many reasons and this is yet another aspect that I personally feel at odds with.

    That’s where I’ve landed at this point. Hit me up for more thoughts post Arduino class this week.

    — dave


The archives run deep. Feel free to search older content using topic keywords.