Processing: A Programming Handbook for Visual Designers,
by Casey Reas and Ben Fry
The MIT Press, Cambridge, MA, 2014
672 pp., illus. 618 b/w. Trade, $55.00
Reviewed by Mike Mosher
Do tech-enabled artists need to program? A lot of academics in the humanities learn some HTML to publish in systems like Plone. Long ago, illustrating educational software I learned a few lines of Apple Forth. When I learned a bit of HyperCard HyperTalk, I felt like I'd penetrated the attic of the mansion. But so far, I've been lucky to find collaborative coders for more ambitious projects. Mike Larkin provided the clever HyperTalk that randomized chapters of my HyperCard hypernovella "Hucklefine". Later VRML programmer Tim McFadden built our "PosadaSpace", plugging GIFs of Mexican art by José Guadelupe Posada, Diego Rivera and Frida Kalho into a three-dimensional world. As I write this, computer science student Kelley Gray is building a virtual gallery of my paintings, using Reality Engine.
A generation ago, in 1991 at the Second Conference on Cyberspace, at the University of California Santa Cruz, the anthropologist Barbara Joans looked over the crowd and noted: half of you are artists with questions but no means of answering them, the other are computer scientists with answers but don't know what questions to apply them to.Does that remain the case today?
Not if Casey Reas, Ben Fry, and the Processing community can help it. They see their computer language called Processing as a solution, a coding language designed for artists and creative solutions in the arts. Casey Reas is Professor of Design Media Arts at UCLA who coauthored the first edition of the book, brought out by MIT Press in 2007.Ben Fry is Principal of Fathom, a design and software consultancy in Boston. Together, Reas and Fry cofounded Processing (https://processing.org/) in 2001 to promote "software literacy within the visual arts and visual literacy within technology" with their "flexible software sketchbook".
The Processing language is free to download and open source, for Windows, Mac OS X, or GNU/Linux. The project boasts of tens of thousands of students, artists, designers, researchers, and hobbyists using Processing to learn and prototype.Over 100 libraries extend its core software, with interactive programs producing 2D, 3D or PDFs, and integrated OpenGL to accelerate 2D and 3D output. Numerous books (https://processing.org/books/) document Processing, and this one covers Processing versions 2.0 and 3.0. There's an appendix on Programming Languages, glossary, and bibliography.
Processing: A Programming Handbook for Visual Designers is clearly organized, and clearly written, full of examples of code which the reader-user can type in, see for herself or himself what it does, what it can do. To design a language is quite an accomplishment, but perhaps an evanescent one: remember VRML and the high hopes for it? This is a clear and well-organized textbook, a taxonomy of Processing code and examples of it. Nearly each example is accompanied by a small black and white illustration of its resulting appearance onscreen. Noise, data, image processing including 3D extrusion are all offered as artists' tools.
John Maeda (http://www.leonardo.info/reviews/mar2007/laws_mosher.html) praises the hands-on approach for artists in the Foreword, and 17 artists from 35 years of "computer art" are interviewed among examples of artwork, and logically grouped between instructional chapters. These include Lynn Hershman Leeson on her interactive laser disk "Lorna", HyperCard pioneer Robert Winter, and Bob Sabiston on the rotoscoping application used in the animated feature film "Waking Life". The variety of approaches exemplifies the tool-building and innovation that the authors want to see Processing similarly put into creativity's service.
Chapter 29 on Animation gives a concise history of the medium, especially on the computer. The following chapter, offering Dynamic Drawing capabilities, reminded me of the late Roman Verostko's machine-drawings exhibited and demonstrated at SCAN '93 at Minneapolis College of Art and Design. Demonstration of Processing's particle system creation leads to discussion of cellular automata, once a passion of mathematician and science fiction author Rudy Rucker. The fact that other artists come to mind testifies to the evident flexibility of Processing for different kinds of digital art-making.
Several years ago I reviewed a book on Blender (http://www.leonardo.info/reviews/apr2010/mosher_wartmann.php), an open source language, this one for 3D output. I was confident it was all that was needed for my students (and myself) to create to our heart's content and mind's eye. But we found it difficult, and soon discovered that open source doesn't necessarily mean user-friendly, or well documented. The only guy in the class who mastered it and used it effectively?Our department has snapped him up as an adjunct.
I appreciate Reas' and Fry's Processing: A Programming Handbook for Visual Designers, but realize that to simply read it is nor really to experience it as the authors meant us to. To read about a horse is not the same as riding one, to read about surfing is not the same as catching a wave (and, in each case, falling off until you've mastered the necessary skills). As with Blender, the enthusiastic reviewer is not really involved with the book's content unless dipping 10 fingers into Processing code. What am I waiting for? I resolve to just do so, and shall get back to you, boasting of whatever cool stuff Processing lets me-or spurs me on to-accomplish.