Originally posted Feb 12, 2012 on mwatz.tumblr.com. See notes on history and aftermath below.
Earlier today I made an off-hand quip on Twitter in response to Jer Thorp tweeting a link to 3D Voronoi code (incidentally written by the excellent Frederik Vanhoutte.) The following snowball chain went as follows:
- @blprnt We talked about this. Voronoi is off limits until 2015, it got used waaay too much by architects in 2011.
- Temporarily banned algorithms: Circle packing, subdivisions, L-systems, Voronoi, the list goes on. Unless you make it ROCK, stay away.
- (And if you don’t think an algorithm can rock, we have nothing to talk about.)
Inevitably, this generated a certain amount of retweets and responses, both positive and critical. So before anyone starts thinking of me as the Algorithm Thought Police, I’d like to clarify my statements in more nuance than 140 characters will allow. So let me restate my point.
Yes, heavy use of standard algorithms is bad for you. That is, it is if you wish to consider yourself a computational creative capable of coming up with interesting work. If you’re a computer scientist or an engineer standard algorithms are your bread and butter, and you should go right ahead and use them.
Upon “discovering” an elegant algorithm that yields compelling visual results (say, circle packing or reaction-diffusion) there is a strong temptation to exploit it as is, crank out a hundred good-looking images and post them all over your Flickr, your blogs, what have you. I’ve done this. If you’re reading this you’ve probably done it too, and you know what happens next. Suddenly you find that the dude/dudette next door “discovered” the exact same algorithm and made a hundred images just like yours. And there’s egg all over your face.
Given this situation (which also applies to hardware, by the way) some people have the gall to proceed to try to beat up on the other creative simply because they did their work the week after you did yours. To say that this is foolishness is to understate the problem, which is:
You cannot lay claim to “owning” any given algorithm (or hardware configuration), unless you have added significant extra value to it. To do so is at best ignorant.
Besides the problem of ownership, there is the even more serious issue of cliche. Most powerful algorithms have been used to death already, and you don’t need to add to your labor by having to distinguish your work from every mediocre computational creative who took a shortcut and published a Voronoi diagram as is. Yet surprisingly many people make exactly the same mistake time after time. Try watching the Generator.x Flickr group for a while and you will see the same classics paraded past you once a week.
This doesn’t mean you shouldn’t experiment with great algorithms. After all, they are great and much excellent work is made using them. But you should learn to be mature in your field the way that any other creative is: By learning to recognize the canon and creating your own niche within it (or, if you’re feeling rebellious, in opposition to it.) Being taken for ignorant or immature is just not a good way to establish your bona fides.
What do I propose as an alternative? Roll your own. Not as in come up with your own Voronoi alternative, but as in make sure you add your own creative signature to the work. Modify, remix and modulate. Check your work for algorithmic laziness. It’s oh-so-very tempting but it never pays off. If any CS student on the planet could walk into a lab and code the exact same result in an hour you’re just not trying hard enough.
PS. I would have liked to take the time to go through some of the “worst offenders”, but I figure most of them should be fairly obvious. For instance, I tend to name the oh-so-wonderful Voronoi because a horde of “parametric architects” have given it a dirty name and thought they were clever while doing so. And before you throw the first rock at me, here is some lovely circle packing I did back in 2007.
PPS. Jer Thorp should not in any way be considered to be an advocate of algo-cliche, despite his being the genesis of this rant. Jer’s work is an excellent example of mixing known solutions with brilliant personal touches.
Update: Jesse Rosenberg from Nervous System has posted a response on their blog, essentially arguing a more purist approach. It’s recommended reading as a counterpoint to my thoughts below, particularly since Jesse is an actual algorithm master whereas I am just a self-taught hack with an unconventional sense of color.
Notes on history & aftermath
The Algorithm Thought Police was a spontaneous rant-style critique of algo-based creative work, posted on my mwatz.tumblr.com Tumblr (since deleted, now archived at mariuswatz.com).
The Tumblr was an informal outlet for random thoughts and work-in-progress, with this post being an outlier in that it attempted to engage in a broader critique. Intended as a polemical provocation dripping in satire, it did prove somewhat controversial and was met with some resistance (on Twitter and in awkward real life interactions), albeit limited to a predictably narrow audience.
I later expanded the algo-cliche argument in various lectures, most notably my 2012 talk at the Eyeo Festival (video, slide deck). In that talk, I fleshed out my basic arguments, discussed how I deal with this issue in my own work and compared the use of known algorithms to the notions of “standards” or “presets” as understood in music.
Although never intended as an absolute statement of truth, The Algorithm Thought Police still comes up as a reference in discussions about digital art and computational design. I’m posting it here to make it more accessible for readers who weren’t privvy to the insular Twitter circles where it first appeared.
Considering the random origins of the piece, I was pleased to see my provocation analyzed and critiqued in the “PROGRAM ART OR BE PROGRAMMED” chapter of “NEW ART / SCIENCE AFFINITIES”, published by the The STUDIO for Creative Inquiry at Carnegie-Mellon (available as a free eBook download.)