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.
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.