Friday, July 9, 2010

Review: Getting Started with Processing

Authors: Casey Reas & Ben Fry
Format: Paperback, 208 pages
Publisher: Make; 1st edition (June 17, 2010)
ISBN-10: 144937980X
ISBN-13: 978-1449379803

I return to the topic of "learning how to program" every now and again because I haven't found a truly painless way of teaching programming to people who aren't naturally wired for it. I don't know if Processing is the answer, but it sure seems to be in the running. It has the benefit of being an open source program written to appeal to graphic designers who need or want to learn programming. Let me explain.

I've reanimated my interest in drawing and graphics recently (a long story) and am doing most of my work in GIMP, with which I'm fairly familiar. GIMP has a lot of wonderful features and a few drawbacks. I've tried to augment with Inkscape, but I've got so many other projects going, it's hard to dedicate the time to really get familiar with Inkscape. Then I received an invitation to review Getting Started with Processing, written by the creators of the Processing program. I thought that was probably (hopefully) a good sign, so I jumped at it.

At only 208 pages, it seemed like this would be a quick read (and my stack of books to review is growing rapidly, so I need to work through a few). Quick reading, yes. Quick to get through, no. Not with the practice this requires. Processing is an interface that uses common programming syntax to create static, 3D, and animated graphics. It doesn't look like much when you install it, but the potential of Processing is amazing.

Installation though was the first of my concerns. If you have 32-bit Windows, it's probably your best bet, but the book said that trying to install Processing onto my 64-bit Windows 7 machine was chancy at best. Installing on Linux is fine if you are savvy enough to do the job manually and not with a package manager. While Processing is open source, you won't find it in the Ubuntu repositories so apt-get or aptitude aren't options. I only say this because more regular desktop users are gravitating to Ubuntu so the "average" Linux user may no longer be as comfortable in the shell. Oh, for the Mac users out there, there is an installation file for Processing that'll work for you.

In some ways, the basic process is fairly simple. Input the proper code into the main input pane, click Run and your graphic appears. Yowza! Just like that. There are plenty of exercises to try out in the book, but I really would have liked it if the authors would have made the location of the code samples for the book more explicit. I visited

You can find tutorials and code samples for Processing at but I assumed the code samples would be included on the tutorials page. My fault. Click the image of the book's cover on the site's main page and go to the books page to find the zip file containing the sample code. Of course, the site tutorials have a lot more examples of really spectacular work, so beyond the book, you can really have fun.

Yes, along with creating some really cool images, you will learn programming basics, or at least how to copy the examples of for loops and such that are presented. Also, having some basic idea of how web graphics work helps, particularly understanding RGB color, as you have to manually enter these values as part of the code.

I know Processing has been around for awhile but I would have appreciated a little more automation in the interface. It would be nice to click File -> Save As -> and save an image as a png or a tif, but it's a little more complicated than that. It's easier (for me, anyway) to export an image so that it can be uploaded to a web server than to create and save a simple static graphic.

There are plenty of graphics engines out there, including open source solutions, but nothing is truly intuitive and everything requires quite a bit of practice to gain proficiency. Progressing is the pretty much identical, but the advantage is that you also learn programming basics at the same time. If you have even a little bit of a background in programming and algebra, you're that much further ahead.

Comparing the book to the possibilities I discovered on the Processing site told me that the book only covers the basics. You won't be a Processing guru by page 206, but you will have the essentials of the language (which is very simple) and the interface, enough to make your own static and animated designs. The interface itself has examples (File -> Examples, and then choose the desired submenu), so you can see the code and the result of specific effects.

I'm probably not doing the book or the program sufficient justice in my review, and while most graphic designers will probably want to stick with PhotoShop and Illustrator (though they're hideously expensive), there's a lot to be learned and to be accomplished using Processor. If you don't believe me, go to the Processor exhibition page and see some impressive examples of work done exclusively in Processor.

Other value added pieces on the Processor site include a wiki and an active forum, so if you decide to take up Processor, you're certainly not alone.

Visit their site, explore the resources, get the book. With computer generated graphics and animations entering their mature stage in film and other venues, learning Processing could be a first step to a life long adventure. Enjoy.