openframeworks

Douglas Edric Stanley

2007.01.23

If you’re coming to this from somewhere else than Processingblogs, and you’re interested in code, then you might want to check out Jesús Gollonet’s recent post about OpenFrameworks.

We’re very excited about this in the atelier. If you don’t know already: openframeworks is Zachary Lieberman’s project for an easy toolchain for artists wanting to work with C++. It’s not Processing, i.e. it won’t teach you how to code. But if you know Processing well, and/or you understand how to work with classes, this project should make your process of discovery a whole lot easier.

It took my collegues some time to realize this with Arduino : it isn’t the actual difficulty of the code itself that keeps many people away from these technologies, it’s (gasp!) the actual difficultly of plugging all the crap together correctly and turning it on. Difficulty and obscurantism are two very different things, and people tend to forget this. Nobody complains about a word processor not being able to write a really difficult thesis for them (to give just one example ;-), but they do complain if that word processor actually gets in the way of writing it. In the same vein, writing code can be difficult, everyone knows that — but why the hell should I have to write code while balancing on one foot and whistling Dixie?

Just a few months ago, some students expressed the desire to move up (or down, in fact) to C++ development for more speed and a deeper reach into the machine. One student is actually in the process of making the shift right now. In fact, Processing became a reality for us just at the moment when I was starting to build a toolchain very similar to what Lieberman et Cie have come up with. And I too was worried about how to make the whole process simple enough for students with programming experience but no formal training in computer science. Unfortunately, as only a cursory glance at this blog would show, I’m still trying to tie up a lot of loose ends, and this project never came to fruition. I only had time to make a few short examples of developing in C with OpenGL on Mac/PC/Linux, and even those remained unfinished. So this is a project I definitely want to get involved with, as many hands are always better than two when it comes to building platforms.

Probably more interesting than the actual libraries themselves (their open nature, etc.), is the prospect of having an artistic community working around a single set of API’s. Even if this community is small, it’s still significant. This is really the key. Starting around the time of Mac OS X Beta, I began experimenting with Cocoa/Objective-C, for example, until I realized that there weren’t m/any artists out there working with it, making it an irresponsible choice for teaching young artists. You don’t want to teach students some obscure technology that doesn’t have a footprint with other artists/students. Of course this might have been okay for computer science students, but it wasn’t a good choice for ours, especially given then fact that at the time less than half of the students used Macs (although that number is now around 75% if I count just those working with me). So I refuse to teach some technology that won’t work (for free) on everyone’s machines. That is one of the reasons I’ve totally ignored Quarz Composer and vvvv, even if they are both pretty cool.

We will absolutely jump all over this as soon as it becomes a reality. If not me directly, definitely some of my students.