Processing is a simple programming environment that was created to make it easier to develop visually oriented applications with an emphasis on animation and providing users with instant feedback through interaction. The developers wanted a means to “sketch” ideas in code. As its capabilities have expanded over the past six years, Processing has come to be used for more advanced production-level work in addition to its sketching role. Originally built as a domain-specific extension to Java targeted towards artists and designers, Processing has evolved into a full-blown design and prototyping tool used for large-scale installation work, motion graphics, and complex data visualization.
The site offers a full set of beginners' tutorials and a gallery of what's possible with Processing. It turns out that a great deal is possible with Processing, due in large part to the simplicity of the language paired with an open source approach that makes all code available to all programmers. Here's one example that I've used elsewhere, an interactive design that becomes increasingly cool the more you mess with it:
My first project is the steam iron to Claudio Gonzales' combustion engine, but the designers themselves offer this advice: don't start by trying to build a cathedral. They explain that within the Processing project,
the ability to try things out quickly is a far higher priority than sophisticated code structure. Usually you don't know what the outcome will be, so you might build something one week to try an initial hypothesis, and build something new the next based on what was learned in the first week.
For my first project, then, I worked with an existing sketch, this guy who shows up in the most basic Processing tutorials:
I grabbed the code, modified it, and created the project below:
with the code below:
I call it "birthday boy."