processing

In the 21st century, there’s hardly a discipline, whether it be in the humanities or STEM, where creative practice hasn’t been revolutionised by computers. If you’re like me however, you might have found many of the popular software packages less-than-perfect, even, at times, frustrating in the extreme. For example, you might want to perform a simple, straightforward task, but navigating the ins and outs of an idiosyncratic, and often expensive, “proprietary” program can constitute quite a learning curve. User interfaces, in particular can be cumbersome and inflexible. Then there’s the problem of unremitting version updates and bugs. It’s hard to get into the deep concentration necessary for creative flow when you have to continually put tasks on hold while searching for help and work-arounds in manuals or forums. Moreover, the design ‘scripts’ inherent in each program might be aimed at specific user groups whose needs and concerns are not exactly your own, or else, they railroad creative options. Bucking the system is no use when then system itself is the problem.

DIY

One way out is to make your own mini software programs, or even, full-blown apps and hardware interfaces. The learning curve is even bigger, but has benefit of increasing creative autonomy exponentially – not to mention the sense of achievement you get from demystifying what goes on “under the hood” of your computer.

If you’re an artsy type who’s never done any programming before then “Processing” is a great way to get started. Processing is a Java-based, open-source “sketchbook” programming environment aimed at simplifying coding for visual artists and (to a degree) musicians. Instead of having to navigate all of the tedious-but-necessary set up to simply getting a program up and running, Processing keeps all that mundane stuff under the hood, leaving you to get on with the interesting stuff.

Sketchbook format

Click to enlarge

The beauty of the sketchbook format is that it acknowledges the way artists most commonly approach creativity: gradus ad Parnassum.  No-one would expect a budding Picasso to produce a grand mural without first making hundreds of small spontaneous sketches and studies that quickly and effortlessly give shape to ideas and images as they emerge in-the-moment. The same is true for composers of music: a riff here, a short melodic phrase there. These component parts can then be playfully combined, broken down and recombined until a coherent composition emerges from their juxtaposition, harmony and dissonance. Surprise, surprise, even Einstein described his creative practice (in the realm of physics) in similar terms, referring to a process he called “combinatorial play” (Hardamard, 1945).

Click to enlarge

The sketchbook format allows the user to quickly and easily jot down (and just as crucially, file and locate) ideas, as well as, play with a small group of variables without the distraction of the bigger picture (and the masses of code that that entails) intruding. This format therefore constitutes a most powerful prototyping tool and, according to the handbook (Reas & Fry, 2014), several very large corporations use it for just that. Importantly, the sketchbook approach is also conducive to practitioners matching skill to challenge, which may give rise to optimal experience (flow), and embodies a powerful creative technique that I call “playframing” (Heiser, 2015).

Processing’s Development Environment (PDE) could not be simpler. All you need to do double click on the Processing icon and a text editor window/console opens up automatically. You type in some simple code (for e.g., a “set up” and “draw” function), hit “run.” The code compiles almost immediately, a “canvas” window opens (with properties you have defined in the set up” function), et voila: you can see what you’ve created!

Click to enlarge

Once you’ve mastered the basics you can make your programs more streamlined by using Object-orientated programming. The PDE allows you to easily access any “classes” you create – i.e., self-contained, composite data types which express their methods [think functions] and fields [think “variables”] as any number of individual “objects” in the program – by organising their individual text-editor pages as tabs on the same PDE window.

Where can I find it?

From Processing handbook (Reas & Fry, 2007, p. 176). Click to enlarge.

The PDE can be downloaded for free at https://processing.org/ and contains heaps (I mean heaps!) of examples to get you started. It’s lot of fun to open up an example, run it, stop and then change some of the parameters or variables just to see what impact it’s made when you run it again. If you want a much more thorough walk-through then either get the Processing handbook (Reas & Fry, 2014) or watch Daniel Shiffman’s formidable collection of tutorials at https://www.youtube.com/user/shiffman/playlists . And if you want to embed interactive Processing sketches into a webpage, you can you the p5.js format (though, since it uses the javascript format some minor rejigging of the code is necessary). Go to https://p5js.org/ to learn all about it, as well as the wonderful,  openProcessing community to see an ever-growing trove of imaginative examples: https://www.openprocessing.org/

References:

Hadamard, J. (1945). An essay on the psychology of invention in the mathematical field. Princeton, NJ: Princeton University Press.

Heiser, M. S. (2015). The playful frame of mind: An exploration of its influence upon creative flow in a post-war popular music-making context. (Doctoral dissertation). Brisbane, Australia: Griffith University.

Reas, C. & Fry, B. (2014). Processing: A Programming Handbook for Visual Designers and Artists (Second Edition). Cambridge, MA: MIT Press.

Reas, C. & Fry, B. (2007). Processing: A Programming Handbook for Visual Designers and Artists (First Edition). Cambridge, MA: MIT Press.