Let’s think of programming languages as materials in the same way that we think of physical materials that we can form into something to be experienced.
Casey Reas is an artist and co-creator of Processing, a well-known programming language. He and designer and software consultant Ben Fry developed it as a free and open source programming language for artists, designers and researchers. It allows non-programmers to code and to see the result immediately in the form of a visual sketchbook. That’s why this programming language is simple to learn and easy to apply in a wide range of projects like data analytics, visual and media art, filmmaking etc. Casey is coming to Moscow to hold a workshop on learning to speak with code. Strelka Magazine talked to him and found out how Processing fights misogyny, what is wrong with software tools, and how code can turn architecture into visual art.
— Why did Processing appear and what kind of problem did it solve? Because it seems that it has become an instrument that could help everyone ‒ artists, researchers, and scholars ‒ to create and express themselves in a brand new way.
— We started Processing in 2001 to make a bridge between visual arts communities and powerful ways of thinking within computer science. This is in the tradition of making coding accessible to non-specialists that started with the BASIC language in the 1960s, but it specifically focuses on visual media.
Learning to code is almost always taught with math examples. This can work well for people who are excited about math, but it makes it more of a challenge for visual people. Programming is also often taught from the point of view that everyone in the class is an aspiring computer scientist. When code is seen as a general way of thinking that can apply to many areas of activity, the instruction also transforms, as does the context. Code is a new language, and when a language is taught we need something to talk about. Will we talk about math, architecture, or economics with code? Will we talk about biology, painting, or statistics? When we think about code in a general way, we can move past the technical domains to enter into the domains of culture and the humanities. We can discuss the same set of ideas covered in computer science education like variables, conditionals, and loops, but they are approached in an alternate way.
We created Processing to be a software sketchbook. It encourages people to work quickly and iteratively. It supports writing simple programs to sketch out ideas, to see the results immediately.
— How did coding and Processing transform the ways that we perceive vision and visual arts?
— I think there are two ways: one is more social, and the other is more formal. In the more formal category: with code, we can grow, simulate, and evolve form. These are areas that coding has transformed.
The design for the Phare Tower by Morphosis is a good example. In that building, nearly every panel has a different shape. This is different from a more traditional building method, where building units are all similar: bricks or blocks of a certain size. With software, you can design a structure where every individual piece is different. This can have performance benefits, so that the building is more energy efficient, but it can also be used to create new kinds of spaces.
— Processing can be used for generative art or collecting and analysing data, etc. So, I believe you have seen lots of examples of how people use your creation. What were the most surprising of them?
— I don’t think I could list any specific things but there are domains that Processing moved into that were entirely unexpected. One, for example, is computer science. There are a number of programming classes at universities that are using Processing as a way of teaching computer science to the general student population. It was designed to be counter to what was taught in computer science, and now it’s sometimes taught in computer science. Architecture is another domain that was unexpected. And I think it was used well by firms like Kokkugia. They used it for doing simulations that would then allow them to think about the site and space around the architecture.
When we started Processing, we didn’t have any idea about how it would be used for fabrication and 3D printing. Music videos have been made using Processing, and that’s outside of the domain of what we imagined it to be used for at the beginning.
Much of this has happened because Processing is FOSS software (Free and Open-Source) that allows other people to add to it, to extend it into these different domains. The extensibility was built into the design of the software. Processing was created primarily for doing graphic, fullscreen two-dimensional and three-dimensional images that are real-time, generative and interactive. Ben Fry and I both come from image backgrounds, so Processing was first made for making images. Anything that goes beyond images truly was outside of the initial idea of the software.
— Software rules the digital era. Visual culture is mostly made of software as well. So, is it possible to say that Processing is one of the ways that culture is becoming visual, and in this case, anything can become a medium that transmits messages?
— There are clearly different kinds of mediums emerging, but there are also new distribution channels and platforms, too. I think of programming languages as materials in the way that I think of physical materials. Software is, in the most general sense, emerging, and the way that you work in that medium is through programming language materials.
Like many technologies, software simultaneously promises extraordinary things, but is also clearly dangerous and frightening at the same time. It’s a really interesting moment right now in the relationship between media and architecture, because there are new materials to work with. For example, LEDs have advanced quickly in the last decade so that any architectural surface can become a general purpose media surface. I think we’re at the point of no return. Right now, these LED screens are being deployed in highly commercialised spaces at an urban scale, but it’s going to continue to shift.
— This shift also requires a new literacy. So what should we learn, create, or develop as researchers and those who actually produce cultural content?
— Software enables construction and fabrication in radically different ways, to have a kind of built form that is different from what we’ve known for thousands of years. My role has always been to encourage a deeper level of understanding with software. For me, literacy can be explained as learning to read and write. I’m worried about designers simply using software tools that are made for them by companies or by engineers, because I think in every high-level software tool, where you point and click to do things, there are biases. These programs can be easy to use, but they don’t really allow for full control over the medium. It’s almost like you’re forced to build things with a set of blocks rather than being able to work with materials of a finer granularity. To write software means the ability to write code.
I don’t believe that everybody needs to be a programmer or everybody needs to be an engineer, but I think people should have enough of an understanding of how software operates that they can get outside of the constraints imposed by software written for them.
— You just said that people should know how to write and how to read code. But, actually, people feel like they’re okay working with special programs. Why do they need to understand how the software operates?
— Because these programs constrain what’s possible, and they only allow you to do what those programs can do. Software is capable of so much more.
If some architects push what’s possible, they really try to imagine things that have never been imagined before. In that kind of practice, just using the software as it comes to the studio is limiting what is possible. Many studios who are doing the most interesting work in exploring new structures and forms have programmers embedded in their studios.
But, of course, there is another kind of architecture that is not interested in new kinds of building types ‒ in that case software can be used in a different way; it can be used in a more pragmatic way. The idea of building information modelling helps studios to communicate better with the contractors and helps in construction.
Software is transforming architecture in these two ways at the same time: enabling new things to happen, new possibilities to be born, and it is also pragmatically creating a more efficient way to build.
My interest is always in the first category of opening new possibilities. My ideology always comes in very strongly with the idea of FOSS, Free/Libre and Open-Source Software. It’s the idea of sharing code and having the commons with the code and allowing people to learn from each other and to share information.
— Can coding or code solve social problems like poverty or hunger?
— Processing doesn’t solve social problems in general. I do strongly believe that Processing can have a powerful effect on individuals and can, therefore, have a social impact. It can enable individuals to reach their own goals and to understand some things about the world.
For example, if we take something that’s not charged, like traffic patterns that affect a lot of people’s lives, we can talk about that without getting political. If you make simulations in code of what actually happens when you have all these vehicles on the road and trains moving at the same time, you can begin to better understand that space. Through understanding that space you can take that same kind of model and apply it to immigration or to some details of economics through writing simulations. Looking at simulations in code may lead to a different way of understanding how the world operates.
What I find so dangerous is thinking about the real complexity of things, taking something that really requires looking at things from a lot of different angles, and just simplifying it to a core which doesn’t really capture the full complexity of what you are trying to think about. I do think that learning how to program teaches a way of thinking and dealing with multiple sources of information at one time. It just can help you structure your thought.
The core idea of the educated citizen is somebody who is literate in what’s going on, who is able to think critically about the world, and is able to enact that through the way they exercise their speech and their vote. I think learning to code is one piece of many: understanding history, learning how to read a text and be critical of it. I think learning to code can be helpful with thinking logically and in understanding complexity. Coding doesn’t solve social problems in itself, but I think it can contribute to a better understanding of the world that we live in.
With Processing, we put our major energy into access and education. We have a huge social problem because of a lack of diversity in technology development and in coding. Making these tools accessible to more people is a large mission of the Processing project. We’re trying to get people who don’t have the educational opportunities, people who don’t identify with the stereotype or the culture around programming. Coding culture, in general, has a huge problem of misogyny ‒ a lot of women don’t feel comfortable in technology companies or in technical education; it’s an environment that’s alienating. We work continuously creating an environment where more people feel like they can learn how to program and can be empowered by the kind of thinking that programming enables.
— What will the new environment look like in ten years with this emerging coding and digital culture?
— For the last few decades, there’s been a lot of discussion around the “virtual” versus the “real,” or the “material” versus the “virtual. We are at the point now where everything is entangled. We experience the world through our bodies and our bodies don’t always distinguish between information coming in directly in our physical environment and information that reaches us in other ways.
I think the question about how the environment will look is less interesting than the question about how we’ll perceive the environment in ten years. A lot of people are working hard to build virtual environments, to build augmented reality environments… But our environments are already augmented by different technologies developed throughout the centuries. I don’t think things will really look different; I believe in this William Gibson quote: “The future is already here — it's just not very evenly distributed”. Some places will not change at all in ten years; I’ll be able to travel and things will feel like they do now. But I think I’ll be able to travel to other places and things will feel radically different.
I might be spending a few hours a day in augmented data software spaces ‒ the same way that I spend so many hours communicating through a computer. I may be embodying different virtual spaces in ten years. Some people might spend a good part of their life in these spaces, some people will spend less or none at all. The same way some people already spend a good part of their life in game spaces or in Minecraft-like spaces and other people don’t. It will be different for everybody. The new environments will be new software environments, more so than new physical environments. That will be the largest impact.