Constraining Creativity

August 19th, 2009

A number of months back, Luis and I wrote up a few proposals for the Rhizome Commissions Program, the goal of which is (in their own words):

“… to support emerging artists by providing grants for the creation of significant works of new media art. By new media art, we mean projects that creatively engage new and networked technologies to works that reflect on the impact of these tools and media in a variety of forms.”

One of our submissions was the whimsically titled Compactamator, a simple online community surrounding the creation of hyper compact code segments. In it, we sought to explore the collection of minimalist code fragments through the removal of verbosity. In other words, leverage (or design) a simple language for the drawing of shapes, with an API consisting of only single characters. As the code would be interpreted by a bit of client side javascript, Compactamator would support in-browser development producing both static and dynamic images. Shown above is the admittedly oversimplified and comical mock up we threw together for our submission.

Compactamator wasn’t awarded a commission, but a few months after the awards were given, Rhizome announced it’s own internal project called Tiny Sketch:

The name itself immediately brings to mind two projects from a few years ago, namely Brent’s TinyCode Sketch from 2006, and Tiny, which was mentioned as part of Luis’ portfolio for the Rhizome proposal.

Using limitation as a driving force for creative exploration isn’t new, of course. It was limitation that drove the evolution of the modern day demoscene, and excellent 1-bit audio experiments from (Rhizome commission recipient) Tristan Perich and my old colleague Noah Vawter. The recent popularization of Twitter, and subsequently all things small has caused a veritable eruption of “tweet programming” competitions and exercises in recent months as well. Numerous examples abound, from the wonderfully minimalist Mona Tweeta by Mario Klingemann, Andy Best’s Processing Sketches in a Tweet, Tweetcoding, the 25-Line ActionScript Contest, 140 Characters of AS3, all the way to competitions involving POVRay snippets.

One of my personal research interests back when I was a student was to consider the browser as the development environment for writing code. In particular, for writing the types of visuals created by users of Processing and Flash. As the powers that be make sizable efforts to entice us to start doing absolutely everything on the web, it’s really only a matter of time before these types of things happen. In 2006, my first attempt was OpenCode with then group mate and now business partner Takashi Okamoto. In it, both Actionscript and Processing code could be written, compiled, and executed entirely from within the browser. By placing this experimentation environment on the web, it had become relatively easy to allow people to share, explore, and experiment with code. Nothing needed to be downloaded, you just visit the site, click to load an example, and click to run. At the time, we jokingly referred to it as two-click programming.

What made OpenCode challenging was circumventing the security issues imposed by the browser. We were forced to create special mechanisms for storing resources within a user’s profile, along with custom web services to perform otherwise restricted behavior on behalf of the user. As these challenges increased, we ended up moving on to other projects. We reached the temporary conclusion that certain types of things can be done easily and elegantly in the context of the browser, and others can’t. Really, it’s these kinds of limitation-motivated projects mentioned previously that are perfect for the browser, as anything more complex will likely break some sort of security abstraction.

This gets me back to one of the reasons why the design strategy embodied by Compactamator is important: It was to use an API designed from the ground up, with minimalism in mind. This prevents the community of users from carrying existing presumptions with them about what types of things can be made with it. Compactamator created a clean slate development environment in order to fully explore limitation as an element driving creativity.

Leave a Reply