Processing

posted 02/13/08 by Rick Webb

We love Processing. What is Processing? Let’s ask Wikipedia:
Processing is an open source project initiated by C.E.B Reas and Benjamin Fry, formerly of the Aesthetics and Computation Group at the MIT Media Lab. It is “a programming language and integrated development environment (IDE) built for the electronic arts and visual design communities”, which aims to teach the basics of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks. One of the stated aims of Processing is to act as a tool to get non-programmers started with programming, through the instant gratification of visual feedback. It is a language that builds on the graphical side of the Java programming language, simplifying features and creating a few new ones.[1]
Robert began experimenting with Processing nearly at the beginning, what with MIT being across the river from us and all. Okay, maybe not the very beginning. Details are fuzzy in my brain cuz I was doing other things. Maybe by 2003 robert was goin’ for it, though. What was it that motivated him to make the switch from Flash? If I remember at the time, I think the directness of the syntax appealed to him. Robert had clear ideas in his head a firm grasp of math, but most languages weren’t optimized toward the visual realm. They were optimized for making software, and I think that made a big difference for him. But then again, let’s let him chime in himself! Rick’s not fooling anyone by trying to pretend he was paying enough attention to these things in that year.
Says Robert :
One afternoon in June of 2006, I threw my hands in the air and said no more. No more Flash banner ads. No more Flash mini sites. No more Flash video players. Enough already! Now what?

After talking it over with my business partners at The Barbarian Group, it was settled. I dont have to do any more Flash work if I don’t want to, but I would have to do something. Processing. Thats what I will do. Never mind the fact that no client had asked us to create something using this lesser known beta application. All we have to do is create interesting work that we are passionate about and before long, word will get out.
Ah how things have progressed! Processing’s all grown up and we get all sorts of requests for it these days. Yay Ben Fry and Casy Reas! Thank you.

1 Processing (programming language) Wikipedia entry), Friday, April 4, 2008

Here are some recent posts from our employees about Processing:

Robert Hodgin

It is with a mixture of proudness, sadness, and well-wishing that we would like to announce that Robert Hodgin, one of the founding partners of The Barbarian Group will be stepping down as a managing partner, and leaving the full-time employ of TBG at the end of this month. The Barbarian Group doesn’t expect Robert’s departure to have any impact on its business, for reasons we’ll describe in a moment, but Robert definitely leaves his mark on the company and will be missed.
Robert has been with us since the first meeting of the founding partners in Benjamin’s loft in late 2001. He was one of the first generation of groundbreaking Flash artists, and was instrumental in establishing TBG’s creative and executional chops, nurturing the first group of creatively and technically savvy flash artists that helped TBG rise to prominence in 2002 and 2003.
Through the years, Robert has transitioned from Flash to other technologies, most notably becoming an early adopter and proponent of Processing. He also moved out to San Francisco, and helped us set up shop on the west coast. Of late, Robert has been participating in the development of new technical frameworks within TBG, most notably with Cinder, our in-progress C++ visual development framework, on which Robert will still continue to work. Robert has also pursued his technical art relentlessly, blogging his experiments both on our blog and on his highly acclaimed personal blog, Flight404.com.
Robert’s work continues to be groundbreaking, innovative, and unlike anything anyone else is doing (except, of course, for those who have been, shall we say, heavily influenced by Robert). It is also the work of an artist, and not the work that people often wish to engage a full professional services company for. Our new arrangement with Robert allows him to pursue projects that he couldn’t previously pursue, while still giving TBG access to Robert’s unique skills when the situation calls for it. We’re excited, Robert’s excited, and there are probably a million potential clients of Robert’s that can afford to hire him now that are very excited as well.
So please join us in wishing Robert good luck in his future endeavors. He’ll be blogging soon about the transition and we’ll post that here as well. Then we encourage you to follow his future work at www.flight404.com. Farewell, sir!

Flint C++ Tools

There have been a few mentions of our internal C++ library (codenamed Flint) around the web over the last week or two. Over the years we’ve had opportunities to work on some really interesting installation projects and data visualizations, and along the way we decided it would be a good idea to use some common bootstrapping, so that we can get the art side of things rolling a whole lot faster. That bootstrapping has turned into a somewhat larger scale library that makes it easy to do a whole lot of amazing things that used to take us a good deal of time to get working. It goes all the way from simply creating windows and draw-able contexts, to shaders, VBOs, and the once-feared (for me) Quaternion.
At the moment, Flint is very much in Alpha. We haven’t made any plans to release it to the public, but we also haven’t made any plans to not release it either (apologies for the double negative). We should have more news in the upcoming months, as we add necessary features and fine tune everything. We highly recommend checking out OpenFrameworks and Processing if you’re interested in doing high-end graphics or other interactive projects.
Oh, and if we do decide to release Flint, leave a comment and we’ll try to get you on the beta. Again, we still don’t know what the future holds, so no promises ;).

ruby-processing

I have a habit of picking up new things to try when I want to do things I could accomplish with the tools already at my disposal. This weekend, I spent a bit of time with ruby-processing . It runs everything in Ruby, and uses JRuby as a bridge to run Processing. I used it to visualize some data about web developers after parsing the original .xsl file into .tsv files and cleaning up the data using Python. Im going to do quite a bit more work on the visuals above, but I wanted to put in a good word for ruby-processing now.

The first thing that I liked was that I wasnt writing Java, a language lots of people seem to hate on, the source of which hate I am coming to understand as I learn about other languages. Rubys syntax is cleaner, even if it seems strange at times (welcome home@,$,and:prefixes).

The next big improvement over vanilla Processing was writing the code inside of TextMate. This isnt inherent to ruby by any means; I could probably write Java inside of TextMate. However, ruby-processing made it really easy to launch sketches I was working on, and also to edit them in real-time.

I also spent some time messing around with field on Saturday. It looks like really exciting software, with a lot of promise. Unfortunately, it bogged down and became unusable while running through the examples on their site. Ill probably give it another go, but ruby-processing is letting me make what I want to for now (and thats what is really important).

Passing arguments to Processing sketches

I recently received an email asking about how to pass arguments when launching a processing sketch from the command line. I hadn’t ever done such a thing, but after some poking came up with an easy, though not exactly robust, solution. This example sets the value of the r, g, and b variables and uses [...]

Snakes alive!

A few years ago, probably around 2004/2005, I took advantage of some source code that Jared Tarbell posted on levitated.net. I was really impressed with the code because the magic was mostly limited to about a dozen lines. Very clean and surprisingly robust!

Week End (mise-en-scène)

Week End (mise-en-scène) is a triptych of images generated using scenes from Godard’s film Week End. Each image was created through an accumulation of colors from frames of the film, where each point in the final image shows the average color value for that point over the course of the set of frames. The first [...]

Augmenting a webcam

A while back, I started experimenting with compositing content into a live webcam. Its a fairly simple process: you just need to intercept the webcam feed with something like Processing, add some content to the image, then send it on its way. The original execution involved setting buildings in San Francisco on fire.

Processing Workshop at Machine Project, Again!

Once again I’m teaching a 4 day intensive workshop on Processing at Machine Project. The course starts on Feb. 14 and runs for 2 weeks. It will provide a good introduction and covers everything from the basics of the IDE up to libraries and media. No prior programming experience necessary (though it always helps). For more [...]