Kurt McKee

lessons learned in production

Hey there! This article was written in 2009.

It might not have aged well for any number of reasons, so keep that in mind when reading (or clicking outgoing links!).

Finding my voice

Posted 6 May 2009

I find that it's difficult to blog these days. My life is fairly routine, and my audience and I are no longer in sync. My family and friends, I think, wouldn't have much interest in the things I would prefer to talk about, which center primarily around technology and the software that I'm writing.

I love writing software. No one around me writes software, so I have no one to bounce ideas off of, nor to be inspired by. As a result, coding is a slow and time-consuming process. Because of this, it takes me a very, very long time to produce anything that I would care to share with the world. Thus, the software that I write may be of benefit to me personally, but it never reaches a state worthy of publication, and so I don't talk about it because I don't want to waste people's time talking about software that will never see the light of day.

Case in point: I've been writing a feed reader. I'm going to call it Sippycup. The tagline will be "Because no one should have to visit their favorite websites." It's written in Python, it's powered by the Django web framework, and I've been working on it for months. It can display a so-called river of news (which I call a "spill", ha ha), and it automatically retrieves comments so that I can quickly follow discussions without ever leaving Sippycup. Neat.

It lacks polish, I haven't written nearly enough unit tests, there aren't any views to interact with yet (so everything has to be done manually at the shell), it can't retrieve authenticated feeds, my readership is not currently an audience that would understand anything that I just wrote, and while I'm just pleased as punch with the software so far, I also wish that I could write about it. But.

Eric S. Raymond famously wrote that the reason that Open Source software rarely progresses to a 1.0 version release is that the authors are wary to call something "1.0" because it's their names and reputations on the line. "1.0" carries certain connotations that authors don't want to hang their reputations on, regardless of how stable or powerful the software is. In my case, I want Sippycup to be usable before I release it. Right now it's exciting to write, but impossible to use. It literally has no interface. No interface, no release.

Wow, those last few paragraphs were incredibly easy to type. Apparently I finally overcame a mental block in my blogging. Since I fought to come up with anything to say after that last paragraph I'm just going to stop writing and leave the entry as is; I've had an insurmountable wall keeping me from writing about one of the few things I'm passionate about right now, and while I thought I would be exploring the disparity between my intended audience and my actual readership, this entry ended up going somewhere else entirely...and I'm pleased.