Processing and Creative Coding
Abstract
Creative coding is programming done to make something to look at, listen to or interact with, rather than to process data. Its modern form grew out of one teaching project at the MIT Media Lab: John Maeda’s Design By Numbers (1999), a tiny language for teaching designers to program, and the larger language his students Casey Reas and Ben Fry built from it in 2001, Processing. Processing made a drawing window and a few lines of code the starting point for a programme, called its programs “sketches,” and was given away free. It spawned the Wiring and Arduino environments for electronics, the JavaScript ports Processing.js and p5.js, and a teaching culture of books, workshops and YouTube channels; openFrameworks did the same for C++. From 2020 the Ethereum platform Art Blocks sold generative algorithms as NFTs, and in August 2021 its secondary market traded about $587 million in a month before the market fell away.
Design By Numbers
In the 1990s programming environments were built for engineers. To draw a line on a screen in C or Java a beginner had to set up a window, an event loop and a graphics context before writing the line itself. John Maeda, a designer and computer scientist who led the Aesthetics and Computation Group at the MIT Media Lab from 1996 wanted designers and artists to be able to program. In 1999 he released Design By Numbers (DBN), a deliberately limited language with a small grey drawing area and a handful of commands, and in 2001 MIT Press published his book of the same name. DBN was meant to teach a way of thinking, not to build anything large.
Processing
Two of Maeda’s students, Casey Reas and Ben Fry, kept the idea and removed the limits. Reas, born in 1972 in Troy, Ohio, had studied design at the University of Cincinnati In 2001 they started Processing, which Wikipedia calls “a direct child” of DBN. Because processing.net was taken, the project used the domain proce55ing.net until it moved to processing.org in 2004.
Processing was Java with the scaffolding hidden. A program, called a sketch, could be a single line, line(10, 10, 90, 90);, and run immediately in a window; a sketch with a setup() function, run once, and a draw() function, run every frame, was an animation. The editor had a Run button and little else. Underneath, the full Java language and its libraries were available, so a student who started with circles could end with data visualisations, video processing or network installations without changing tools. The software was free and open source from the start, which mattered for students and for art schools without software budgets.
Processing spread through art and design schools. Reas moved to Los Angeles in 2003 and became a professor in the Design Media Arts department at UCLA. In 2005 Reas and Fry received the Golden Nica, the top prize of Prix Ars Electronica, in its Net Vision category, for Processing. In 2007 MIT Press published their Processing: A Programming Handbook for Visual Designers and Artists. In 2012 they founded the Processing Foundation as a non-profit, with the NYU teacher Daniel Shiffman as the third project lead.
Children of Processing
The design spread to other platforms. In 2003 Hernando Barragán, a student at the Interaction Design Institute Ivrea in Italy, supervised by Massimo Banzi and Casey Reas, began Wiring as his master’s thesis: a microcontroller board and a programming environment modelled on Processing, so that designers could program electronics the way they programmed sketches. In 2005 Banzi and others at Ivrea started Arduino, a cheaper board whose software was based on Wiring’s, with Processing’s editor and its idea of a “sketch” (see The Open Hardware Movement). David Mellis of the Arduino team later acknowledged, in 2013, that the project had not credited Wiring well.
On the web, John Resig, the author of jQuery, released Processing.js in 2008, which ran Processing sketches in the browser by translating them to JavaScript; it was discontinued in December 2018. In 2013 the artist Lauren McCarthy created p5.js, a reinterpretation of Processing written natively in JavaScript that runs in any browser.
For work that needed more speed than Java offered, Zachary Lieberman released version 0.01 of openFrameworks, a C++ toolkit for “creative, artistic expression,” on 3 August 2005, later developed with Theo Watson and Arturo Castro. It was used for large interactive installations, projection mapping and the visuals of concerts and advertising. Lieberman and Watson received an Ars Electronica honorary mention for it in 2008.
From Sketches to Markets
The art that came out of creative coding continued the generative tradition of the 1960s, in which the artist writes a rule and the machine draws the result (see Computer Art and Generative Art). Reas’s own software works were shown at the Whitney Museum’s artport, ZKM and Ars Electronica and collected by the Victoria and Albert Museum and the Centre Pompidou.
For most of its history generative art sold poorly, because the output of a program is infinitely reproducible. NFTs offered a way to make a particular output scarce. Art Blocks, launched in November 2020 by Erick Calderon, who signs as Snowfro, sold “long-form” generative projects on Ethereum: the artist uploaded an algorithm, usually written in p5.js or plain JavaScript, and each buyer who minted a token received a new output generated at that moment, which neither the artist nor the buyer had seen before. Calderon’s own Chromie Squiggle was the first project. In June 2021 the artist Tyler Hobbs released Fidenza; one of its outputs, Fidenza #313, later sold for 1,000 ETH, about $3.3 million. Art Blocks’ secondary-market volume rose from $11 million in June 2021 to about $587 million in August, according to CryptoSlam. In November 2021 the programmer Baptiste Crespy, known as ciphrd, launched fxhash on the cheaper Tezos blockchain, open to any artist without curation.
The boom ended with the NFT market (see Dead End: Web3 and NFTs). Art Blocks’ monthly volume fell to $243 million in September 2021 and below $100 million after that. In April 2023 its sales were $6.5 million, the lowest since May 2021, and Calderon said about half of new projects no longer sold out. The software tools were unaffected; Processing and p5.js were maintained by the Foundation throughout.
Dead End: The Programming Language for Artists
The ambition behind DBN and Processing was a language that would make artists programmers. In one sense it worked: a generation of designers learned to code with Processing and p5.js, and creative-coding courses are now standard in art schools. In another it did not. Processing never became an artists’ language distinct from the engineers’ languages; it was Java with friendly defaults, and p5.js is JavaScript with friendly defaults. Students who went further learned Java, JavaScript or C++ directly. What lasted was the teaching method, the sketch, the immediate window, the free software and the community, which other environments copied, from Arduino to the browser-based editors used in schools.
📚 Sources
- Design By Numbers (programming language), Wikipedia (Maeda, 1999, Aesthetics and Computation Group 1996 to 2003, MIT Press book 2001, Reas and Fry as Maeda’s students)
- Processing, Wikipedia (2001 start, “direct child” of DBN, proce55ing.net until 2004, Golden Nica 2005, Processing.js 2008 to December 2018, Processing Foundation 2012 with Shiffman, p5.js by Lauren McCarthy 2013)
- Casey Reas, Wikipedia (born 1972 in Troy, Ohio; Cincinnati; MIT 2001; UCLA from 2003; exhibitions and collections; Processing: A Programming Handbook, 2007)
- Wiring, About page (Barragán’s 2003 thesis at Ivrea) and “Wiring Was Arduino Before Arduino,” Hackaday, 4 March 2016 (Banzi and Reas as supervisors, Arduino based on Wiring, Mellis’s 2013 acknowledgement)
- OpenFrameworks, Wikipedia (Lieberman, Watson, Castro; version 0.01 on 3 August 2005; 2008 Ars Electronica honorary mention)
- “How Art Blocks Is Building for the Future After the Ethereum NFT Boom,” Decrypt (launch November 2020, Calderon and Chromie Squiggle, CryptoSlam monthly volumes, Fidenza #313 at 1,000 ETH)
- “Art Blocks, Explained in 10 Collections,” Rarible blog (Fidenza minted 11 June 2021)
- “A Guide to fxhash,” nft now (launch November 2021 on Tezos, ciphrd, no curation)
- “As NFT sales dwindle, Art Blocks resists pinning hopes on a renewed crypto bull run,” The Block, 2023 ($6.5 million in April 2023, half of projects not selling out)