I think most people have encountered this strange phenomenon. That is, quite often, whenever one creates a complex artwork, one often finds themselves in the position least likely to directly benefit from it.
Consider, for example, a musician. My good friend Ryan Brown (developer of CocoaCollider) has created many electronic songs, but more often than not he’ll begin a project only to drop it a few days later.
Or a choreographer, like the voice behind the screencasts for Espionage, Lizzy Snow. While working on a dance for a while she becomes disenchanted with it—the movements that were so brilliant a second ago become dull and uninteresting.
The same applies to programmers. Those humans who have taken up this method of self-expression, can work enthusiastically for hours on end, completely motionless aside from a flurry of hand-movement and the occasional outburst, only to discover that, oddly enough, the more code they write for a project, the uglier and more unwieldy it becomes1.
But many artists today don’t have the luxury of dilly-dallying about until they can achieve, what in their minds is called, perfection. There’s often some sort of a dead-line associated with their work, and more importantly, it’s how they make their living. So they persist, and eventually reveal to the world the fruits of their labor.
Herein lies the artist’s dilemma2, for while everyone else can enjoy their work, they themselves cannot. The magician knows how it’s done, the choreographer has performed it countless times, the musician has listened to the same 3-second loop for over an hour, and they can all see with unmatched clarity, the various flaws in each of their respective performances.
I created Espionage because I wanted to encrypt my email without encrypting everything in my home directory. Yet to this day, it remains unencrypted. Why? Because I’m constantly working on Espionage, constantly testing it, installing it, uninstalling it, improving it in various ways, and I work on the same machine that I use for everything else3 (wouldn’t have it any other way).
Thus, I suffer.
1That’s not to say that Espionage is full of ugly code (I wouldn’t be able to work on it if it was), or that I’m indifferent to the issue. Complexity naturally arises in large projects, especially those written in C.
2I make no claims of originality in using this term, which has been used by many different people to refer to various things.
3Espionage is always tested on multiple machines before it’s released, not just mine. ^_^
4Apparently I like footnotes.

