Intelligent Machines

When a Good Idea Works

Purity, openness, and simplicity are engines of design.

Aug 18, 2009

In 1995, I visited the home of the late, great designer Paul Rand, who had designed the iconic logos of IBM, ABC, and NeXT. I still vividly recall him opening a letter and chuckling while reading it: “Mr. Rand, I love your design for the CBS logo.” He was laughing, of course, because the design wasn’t his: it was the work of the late, great designer William Golden. But Rand was far from annoyed by the misattribution. “If you live long enough, people will think you did everything,” he told me. He was in his 80s at the time.

Gorgeous: Casey Reas uses Processing to create high-resolution photographic prints. “This image was generated by thousands of autonomous software agents carrying out their instructions,” he explains. “Shapes are drawn as they intersect—the size and colors are determined by the agents’ behaviors.”

In 2001, when I was a young MIT faculty member overseeing the Media Lab Aesthetics and Computation Group, two students came up with an idea that would become an award-winning piece of software called Processing–which I am often credited with having a hand in conceiving. Processing, a programming language and development environment that makes sophisticated animations and other graphical effects accessible to people with relatively little programming experience, is today one of the few open-source challengers to Flash graphics on the Web. The truth is that I almost stifled the nascent project’s development, because I couldn’t see the need it would fill. Luckily, Ben Fry and Casey Reas absolutely ignored my opinion. And good for them: the teacher, after all, isn’t always right.

Processing began with a simple idea. Fry was a gifted Carnegie Mellon grad who had a background in graphic design but could also program in Apple II assembly language. Reas was a gifted University of Cincinnati grad who had a background in graphic design and a passionate desire to understand computation; as design director at I/O 360 Digital Design in the mid-1990s, he had been one of the few classically trained graphic designers who understood the possibilities of computer programming, but he left his job (and probably a few gazillion dollars) to study computer code for real at the Media Lab. Both were accomplished artists who had exhibited at the Whitney, the Museum of Modern Art, and elsewhere. They loved working with each other, and they wanted other programmers and designers, artists and scientists, to have an easy way to share work with each other and understand each other’s ideas. They wanted to give visual expression to sophisticated forms of computation, and they wanted a rich community toolkit for sharing libraries, experiences, and work in an elegant format.

The starting point for their project was something that I can take credit for: the Design by Numbers (DBN) framework for teaching programming to artists and designers. I originally wrote DBN in the 1990s, but I couldn’t get it to yield production-­quality work. My graduate student Tom White made it into something that was much more functional. And then Fry and Reas took a crack at it. DBN limited users to drawing in a 100-by-100-pixel space, and only in grayscale–faithful to my Bauhaus-style approach to computational expression. But Fry and Reas figured that people needed color. They needed canvases larger than 100 by 100. They realized that this wasn’t in line with my interests, so they went off and made their own system that gave users no restrictions at all.

In one sense, Processing arose as a response to practical problems. When Java first came out, it offered minimal support for sophisticated graphics processing. Drawing a line and stuff like that was possible, of course. But it couldn’t do transparency or 3-D, and you were almost guaranteed to see something different on a Windows computer and a Mac; it was incredibly cumbersome to do anything that was both sophisticated and cross-platform. So Fry, who grew up hacking low-level graphics code as a kind of hobby, built from scratch a rendering engine that could make a graphically rendered scene appear the same in a Windows or a Mac environment. It was not just any renderer–it borrowed the best elements of Postscript, OpenGL, and ideas cultivated at the MIT Media Lab in the late Muriel ­Cooper’s Visible Language Workshop.

From the start, however, it was more than just a way to build on Java. While Fry was at work on his renderer, Reas began developing processing.org as a locus of learning and community, creating an active forum where users discuss their projects, share and solve programming problems, and offer ideas for improving Processing itself. Indeed, Processing had the spirit of an art project or a labor of love. As artists, Fry and Reas were keen to give the software as much expressive power as they could; they used it to produce work that felt like art. Soon, people wanted to emulate them. And they could. Processing was open-source and free of charge. Because Fry and Reas were doing this for no particular hope of financial gain, and because they were awfully hard-working and nice guys, its fans couldn’t help loving Processing for its purity.

Since then, Processing has grown up quite a bit. Books have been published on its applications, and I see stunning Processing animations in television commercials and all over the Web. I am fairly confident that the number of people who use it is significant and growing. I doubt that it will overtake Flash, but I think it continues to give it a good run for the money. Because it is open-source, many people are extending Processing in ways that I’m sure surprise Fry and Reas. Mobile editions, JavaScript work-alikes, hardware programming platforms–I’m sure we’ll see it on iPhones eventually. Processing is being faithfully copied by a variety of folks so that it can run on different platforms–a testament to its popularity.

Processing, however, isn’t entirely easy. Perhaps the only thing working against it is that it has a higher bar of entry than other visually oriented systems like Flash. Programming in general eventually gets hard; you have to embrace the mathematics at some point in the game. But there’s nothing like inspiration as a motivator. Just the other day, I had an e-mail conversation with graphics guru Robert Hodgin, a graduate of the Rhode Island School of Design. At RISD, we don’t have much mathematics training to speak of, and Roger left without much algorithmic know-how. But he is now extremely skilled with a sophisticated mathematical repertoire, because he has made the leap from pigments and straightedges to numbers and relational symbols. He wanted to learn what at first was hard. In the end, it’s just work. And artists know how to work!

Processing was written and developed by two boys next door who are also visual and computational geniuses. Fry and Reas wrote it for themselves–and also for the world at large, to help everyone share in the rich vocabulary of computational expression. Processing exemplifies my core belief about education today: let the new generation do their thing and just get out of their way. Download it today, and play.

John Maeda is president of the Rhode Island School of Design and the author of The Laws of Simplicity.