28 May 2008

The Keys to Creative Programming

It’s been about a month since FITC Toronto, the fourth Flash-specific conference I’ve attended over the last three years (thanks to David Lowe-Rogstad + Substance). It ranked above the others from an overall experience standpoint, but rather than list and comment on all the sessions I attended, I’ve decided to consolidate them into a few common ideas inspired from each:

  1. Know Where to Look
  2. Iterate Constantly
  3. Share Openly

Know Where to Look

This is true of both programming and creative inspiration. Rather than memorizing large sets of properties and methods, you simply need to know where to look up the information needed to solve a problem. The AS3 documentation exists for this very reason. (As a bonus, the more time you spend looking through documentation, the less time you’ll eventually spend looking through documentation).

Creatively, it can be easy to fall into comfortable patterns which can stifle innovation. Solving this is just a matter of knowing where to find inspiration. Taking queues from nature, personal experience, or the work of others can breathe new life into old techniques.

Iterate Constantly

Each project comes with its own set of challenges, and each solution provides a new avenue for exploration. By evolving and combining small pieces of code over time, building complexity suddenly becomes a matter of simplicity and patience.

To illustrate the power of iteration, here are a couple of projects by Erik Natzke and Robert Hodgin. Each would be overwhelming to architect from scratch, but were built from a series of simple iterations. By constantly pushing the boundaries reached on previous experiments, both manage to compound a handful of simple techniques into something complex and unique.

Erik Natzke, Ghosts II

Robert Hodgin, Magnetosphere

Share Openly

While it might feel like freely releasing the source code behind a project isn’t a sound business practice, sharing has a tendency to be repaid in kind. Business or speaking opportunities might result, or someone could take your code in a direction you’d never have thought of, giving you new avenues to explore. Additionally, it’s important to remember that each of us has been given a generous share of knowledge from our mentors, and we should be willing to pay that effort forward.

Here is a short list of creative coders who grow their work through constant iteration, and often share their code with the world: Jared Tarbell, Keith Peters, James Paterson, Craig Swann, Grant Skinner, Joshua Davis. It can be easy to view this list as the “lucky ones” who are paid to build experimental work, but to quote Joshua Davis, “people will hire you to make the kind of work you create”.

posted by Shaun Tinney

thinking about… Flash, Inspiration, Productivity

Have a comment?