<p>The story behind the open source software powering many of your favorite digital art projects.</p>
It’s an inevitability that the moment something comes to your attention, you begin to notice it everywhere you look. That’s kind of how we feel about openFrameworks, an open source library of “creative code” and community of hybrid artist-hackers. Ever since we heard about openFrameworks, we can’t seem to escape it. It was used to build the software for Creator James Powderly’s Eyewriter project (and, in fact, openFramework’s founders, Zach Lieberman and Theo Watson, are two of Powderly’s main collaborators on the eye-tracking graffiti writing tool), as well as in many of the projects featured on the sites Create Digital Motion and Creative Applications.
Like all the best tools, openFrameworks was born out of necessity. Following in the footsteps of influential MIT Media Lab professor (and current president of RISD), John Maeda, Zach Lieberman was championing computation as a medium fit for artistic exploration while teaching at Parsons. Lieberman had been using Maeda’s ACU code library for years in his own practice, but couldn’t give his students access to the tools because they weren’t open source. So, he decided to build his own. “People in the department didn't believe that art students would want to use C++ because it just sounds like you're going to need a computer science degree,” recalls Lieberman. “But actually, the years when I started to introduce it to my students they were making really interesting, amazing work. For me it was proof that artists do want to use different tools and the more tools that are available, the better work that we can make.”
We caught up with Lieberman at New York’s School of Visual Arts last week to chat about the openFrameworks community and some of his favorite uses of its “creative coding” tools. Stay tuned for Part 2 of our interview with Lieberman, where we chat about his own artistic pursuits, later this week.
The Creators Project: So, what is openFrameworks exactly?
Zach Lieberman:It's basically a set of building blocks for artists who are working with code to make things. It's a set of tools that you can build with. We're making all these projects and then we take the things that we learn and put them back into tools for other people. It's really a kind of distilling down of the things that we've learned and publishing them in the form of reusable code for other people.
Beyond just being a set of code, it's also a community. There's this great community of people who are hacking, and exploring, and sharing what they've learned. That's probably what's most interesting about it for us, is the community.
How did you get started with oF?
There was a library of code developed at MIT called ACU, it was an older library that I was using in 2002. I was teaching at Parsons and I didn't have the ability to give this library to my students because it wasn't open source and it wasn't really well maintained. So, the main idea at the beginning was to give my students tools that were similar to the ones I was using when I was making projects. Then, one of my students, Theo Watson, graduated and came on to help with the project. When Theo joined we decided to make it public—we put a web page up, emailed some friends and passed it around. From there it just got bigger and bigger and bigger, to the point where I would go to festivals and I would meet people from Japan or from other sides of the world who were using it. In the last two or three years, we've done a lot of workshops and events and really tried to grow the community.
Since these were designed as artistic tools, does it bother you when they’re used for commercial purposes?
Not at all! I mean, we're into open source, so we want people to make things, and the more things that are made, the better it is. Some people would say, 'Why would you do that? Why would you give away these tools? You're helping your competitors.' My theory is that putting better tools out there means that people can make better projects and then companies and institutions will see those projects and take more risks, and in that way everybody's work will be able to improve. There's just more opportunity.
So it kind of elevates the community as a whole as opposed to a single individual?
Yeah, definitely. You see a lot of that really selfless behavior—people who are solving interesting, hard problems and then publishing them, putting it out there. I think that's really pushing the medium forward.
Do you think that somebody who is a novice can do this? How accessible is oF to someone who might be curious, but who has never had any computer programming experience?
Well, I'm teaching a course here at SVA and 90% of the people in the course have never programmed before, so I think it's completely possible. oF isn't necessarily designed as a teaching tool, but it's designed to be as easy as possible, to make it as simple as possible to get started. There are tools, like Processing, which is also a really powerful library, that are designed as teaching tools, so there's a kind of pedagogy built in. There's also NodeBox and VVVV…but I think what's amazing is the communities. They're really open for beginners—people are really patient, especially on the forums, and try to help people just getting started. There's also lots of workshops and events for people to come and get involved and get set up.
A lot of times people need to lose their preconceptions of what a programmer is. If you stop thinking about a programmer, or a coder, as a stereotypical person who works with code, you'll discover that there's a really wide community of people who are working with software to make interesting, compelling work.
What are some of the most interesting projects, in your opinion, to have come out of the oF community?
I really love many of the projects that Chris O'Shea has done. There's a project called Audience, which is I think about 100 mirrors on tiltheads that follow you and track you as you move through the space, so you always have an audience—you have an audience of yourself. He has another project called Hand from Above, which is an LED screen and it's a video camera looking at the space in front of the screen, so you see yourself up on the screen and this gigantic hand comes and picks people up. It has a kind of Monty Python feel, it's really beautiful.
People are always making crazy experimental stuff. Theo has this project called Auto Smiley, which I love. It uses a webcam and when you smile it actually types a smiley, so it's very addictive.
Zach Gage has a project called Lose/Lose which is really beautiful. It's a video game in which whenever you shoot a character in the game it deletes a file on your hard drive. And when you get destroyed, it deletes the game itself. So, no matter what, you lose. I think Symantec labeled it as a virus and wrote a press release about it. I mean, it's obviously an art piece, I think that's very clear, and it’s clear that you shouldn’t play this unless you want to lose files on your hard drive, but it's interesting because it has this really tough poetic statement.
There was a project by Elie Zananiri, an ITP student, who did a great project at the IAC building called Big Screams where the audience was invited to call in with cell phones and every person that called got a character [on the screen] and if they screamed louder, the character got bigger. There was a kind of battle of these bouncing characters and it just got the whole audience screaming, which was very beautiful to see.
Chris Sugrue, who is one of my former students at Parsons, has a really beautiful project that she made called Delicate Boundaries. These are bugs on the screen and when you hold your hand next to the screen the bugs actually come off the screen and onto your hand. We always talk about artwork that leaves the screen, about getting off the screen, and here's a piece which is actually physically an object coming off the screen, onto your hand. As soon as you have something on your hand, you really want to take care of it, so there's something very, very beautiful about that project.