Coding as a way of thinking — Interview with Casey Reas
Code is not a new screwdriver nor just a pencil for drawing. Casey Reas explains how coding can be compared to a choreography of actions and decisions: a way to conceive art and design projects.
by Serena Cangiano
This article (qui in italiano) has been featured on Progetto Grafico, an international graphic design magazine published by Aiap, the italian association for visual communication design. The issue #30, “Open Technologies”, has been edited by Massimo Banzi, Serena Cangiano, Davide Fornari. You can subscribe to the magazine here and buy the current issue here.
Casey Reas is an artist and a faculty member of UCLA in Los Angeles. As Casey himself says, he writes software for exploring conditional systems as art. Together with Ben Fry, he has been producing and developing the coding environment Processing since 2001. Processing has made it possible to teach IT concepts such as variable, array and methods to art and design students all over the world. Casey Reas designs visual experiences using code as a medium, and developing open tools that online communities can expand. His work, shown in group and solo exhibitions, ranges from purely digital screen-based interactive installations to visual artefacts printed or engraved on different materials, proving that code is a versatile way of thinking of design, and not just a mere tool.
S C You started the Processing initiative with Ben Fry in 2001. When you teach Processing to art and design students today, do you find there are new challenges and needs?
C R Not much has changed between the students in 2001 and those today. Learning how to code is still learning how to code, no matter what year it is — people have been teaching coding to non-specialists since the 1960s. We have gotten better at teaching it, as a community, through practice and sharing. In stark contrast, educational institutions have changed. There is more learning to code and learning to work with electronics now in visual arts programs than ever before, but also the visual arts approach is now sometimes introduced within engineering programs, it’s happening from both directions. Our goals have remained the same, to promote software literacy within the visual arts, and visual literacy within technology-related fields, and to make these fields accessible to diverse communities.
As a platform for learning, I use Processing to focus on programming basics, which haven’t changed much in decades: variables, loops, conditionals. After the students have the basics, they move into different domains that change rapidly — into the web, mobile devices, motion graphics, interactive installation, visualization.
S C Can you give us an example of your first five minutes of class? What do you say to your students, to influence their mindset in relation to the process of creating with code?
C R I introduce coding as a way of thinking. It’s a humanist activity, not a technical skill. We talk about writing as a way of putting ideas into a specific notation, and we talk about the rules of writing a human language, like English or Italian, as one example. We discuss music notation as another. We also talk about instructions. For example, recipes for baking, putting something together, or directions from getting from one place to another. We talk about coding as choreography, as choreographing actions and decisions. We usually spend time drawing. We draw based on following a set of instructions, we invent our own drawing instructions, and we look at diagrams and invent our own notation systems for describing them. Next, I ask the students what they are excited about — which art and design works created with code are they most interested in? This starts the conversation that we continue over many weeks, or a few days, in the case of a workshop.
S C Has your relationship with the computer changed over the years? If so, how has this change affected your work (not only from a technological point of view)? Has your approach changed in respect to art and design, made with code, over the last fifteen years?
C R I started off as someone who could use software and now I am able to create software. This is the fundamental shift that I hope all of my students can experience. It’s about real literacy, the ability to both read and write. Learning how to code is empowering — it allows someone to think around and outside of the constraints of any specific piece of software — it makes it more possible to imagine and invent something new.
S C Audience literacy: how would you describe to a wide audience the value of a visual output in a project where the code is the craft technique and contains the artwork’s beauty?
C R I don’t try to convince people that the code is interesting. I think the code is a means to an end, and the focus is on what the code creates or generates. I think code has opened new ways to think and new ways to make things which have created the conditions for new ideas and forms in the visual arts.
S C Web technologies are evolving and kids are learning how to code at the age of 7: how do you see the future of Processing? Will it be a methodology rather than a technology? A community? Or something else?
C R Kids have been learning to code at age 7 since the late 1970s in many of the same places where kids are learning to code now as well. In some ways, this worked better when computers were simpler. There’s a direct line from Logo to Scratch. In other ways, the web has provided motivation and community that was missing before.
Processing has always had a focus on sharing and community through the web. We lost this for a few years because of how the technologies around the project changed, but it’s coming back now as p5.js is maturing. The p5.js project is a re-imaging of Processing within the context of today’s web and JavaScript. The syntax is different, but all of the core values and approaches to learning are in place. In addition, the Processing.py Python variation allows the Processing approach to be used by other communities who prefer the Python syntax. The things that tie all of the Processing projects together is the focus on the visual arts and sketching with code.
S C Where is the space of experimentation today? Let’s think about Virtual Reality (VR): would you see it as entertainment technology or as an interesting new platform for art and design creations?
C R I think VR and AR are both fundamentally new media. They represent a shift that is as significant as the shift from photography to cinema. Like all significant media, they will likely be mostly used for entertainment, but they also have applications in productivity and education. A much smaller group of people are interested in them as a platform for pure art.
S C Machine learning: what do you think about it as far as education and art creation are concerned? Do you think there is a need to develop new tools for teaching creative coding around machine learning? Or in general, do you think there is a need for new tools, to support the next generation of creative coders, who will be surrounded by non-screen-based devices?
C R I think these kinds of questions and platforms are a second step, after someone has acquired the means to think about interactivity and software in a deeper way through first learning how to code. I think we need different kinds of programming languages and platforms; some that are general and focus on learning, and others that are more specific and designed for a precise domain. I think there need to be many tools to work with emerging media that work at different levels of abstraction. For example, if I want to make a game right now in 2016, I can use a very high-level tool, such as the Unreal Engine. It will be easy to use, but will constrain the possibilities because of its many assumptions about what a game is. I can use a more general tool like Unity, which has more control and variability, but has a steeper learning curve. Or, I can write a game engine from scratch in C++, which will give me the most flexibility and freedom in how I imagine the game to be, but it will take more technical skill and more time to create. Which will I use? The answer is always the same: it depends. So, I don’t think there’s one correct tool for Machine Intelligence or for other emerging areas. There will likely be entire ecologies of tools that provide different kinds of access and flexibility.