Thursday, January 26, 2012

Beach Bum Business

So, I had one of those ideas that brings along its own surge of adrenaline. You know, the kind that invariably means you're too excited and overestimating the idea.

To explore it a bit, I'm going to write up some of the details.

Over the past few days I have been visited by the Ghosts of Projects Paaaaast. Certainly, I do fail to finish most of the projects I start. But it is not my failing alone: the whole world fails to finish the projects they start. I've seen open source projects with millions of dollars of funding go into permanent stall as the team just... kind of... wanders off.

There's a lot of advice about how to stick to a project when you're bored of it or distracted or stuck. And one of the major things companies do is just that: they force their employees to work on the boring, stupid, shitty stuff. Hell, almost every company has, at its core, something that is interesting and cool to somebody, even if that somebody has to be an HVAC-obsessed architect.

However, I have had a number of successful projects mixed in with my failures, and I got to thinking. What if there's another way to approach the idea of a project?

Think of a project as a surfer. A surfer catches a wave and rides it until the wave is gone (or until he gets dangerously close to some rocks). Then he paddles back out into the deep water to catch another wave.

It may be possible to run your projects in the same way. A "beach bum business model" where you opportunistically wait for interest, take advantage of it to move the project forward, and when the interest fades, reposition the project to wait for more interest. If you had a number of such projects, you could probably always have some project that is currently riding a wave.

This is a slightly complicated thing to say, because when you give examples, you quickly stumble into the fact that it's considered unprofessional to treat your projects in this way. You're basically saying "do what you can while you want to, and then don't do any more until you feel like you want to again".

Let's shake that stigma, at least until the end of this essay, and talk about how we can do exactly that.

Let's talk about an open source project. You and your buddies start a project. You do okay, but you begin to get bored. This is inevitable - in a few months, you will get bored even if you get a fair number of customers. Your efficiency drops. You spend most of your time surfing the web and working on that toy you always wanted to build.

Then, suddenly, a big company tosses a few million dollars your way and you're back in the saddle! Wahoo! ...At least for a few months. Long before the millions run dry, you are again getting tired of it, bored.

Standard protocol? Work anyway. Beach Bum Business protocol? Stop! Reposition!

So you've created an open source project, but you're getting tired of working on it? Fine. Nobody can stay interested forever. Your priority now should be to make sure your project is ready to catch the next wave.

This involves two big pieces. The first is arranging your project so that it can catch the next wave. This means making it so that someone new (or you, after six months of not having touched it) can almost immediately begin making progress again. This is a bit different from simply creating documentation. Documentation is really a necessity, but this is more about actually creating a "modular hole".

The next wave comes with a sudden uptick in interest. You want to be able to start programming immediately. Filling the hole will be the first step for the new programmer (or you). This will, in the process, teach you of how everything around the hole works, and allow you to step into those shoes as well.

I'm using a software project, but this is equally suitable to something like a storyline. You create some short stories in a particular universe, then get bored. Well, getting back into that universe is going to be a serious hurdle unless there is a place where you can write a new story without requiring too much of the details of the old IP. By explicitly introducing that kind of gap before you get off the wave, you can prep to catch the next wave. This is also useful as it will allow you to change the medium or cater the message to the new wave.

To make the example explicit, if you were writing short stories about space nations at war with each other, you could prep a very rough scaffold for a story about piracy in a tiny star system in the middle of nowhere. When you write that story later, you simply have to make sure you don't go against any of the major pieces of your IP: you don't have to remember all the characters and places and starships and history of everywhere else. A software project is similar.

Okay, after you have created a modular gap, you need to reposition. Repositioning means moving your project out to where the waves are likely to start, and getting ready to catch a new one when possible.

Fundamentally, this does mean reducing burn. If you are a company, you would drop everyone down to retainer status. However, more than reducing burn, it actually involves repositioning your project.

If you just scale back burn, you're not going to catch the next wave. You're just going to languish with whatever users/audience you currently have.

So how do we reposition? Well, I'm open to suggestions, but here's some basics:

Keep your current users/audience. You don't have to make them dance with joy every day, but make sure they don't feel betrayed. Don't vanish, just scale back your involvement.

Keep your project alive. This means occasionally acting. The actions don't have to be meaningful. If our project is that space opera mentioned above, we might "front" one old story per month, meaning that anyone can read it for free. We might post notes, sketches, fanart, keep involved in the forums, run some simple contests... a quiet project is a dead project, and a dead surfer cannot swim.

Position your project to catch shifts in popularity and power, but don't forget that you want to catch a wave, not a splash. I imagine this is where all the skill comes in. In the case of our theoretical space opera, be ready to instantly ramp up and tackle our modular hole if your name comes up on Penny Arcade or whatever. Be ready to radically shift your message or media, as far as you feel comfortable, because a wave coming from Penny Arcade is going to be very different from a wave sliding in from The New York Times.

I think the easiest way to catch shifts in popularity is to have a simple Twitter/Google alert on your project's name. When things start to roll in, act!

I'm sure there are lots of other things that could be said on this subject, but I only thought of it a few hours ago, so that's all I've thought of so far.


Matthew Rundle said...

I think maybe you're conflating waves of other people's interest (linked on penny arcade) with waves of your own interest (excited to work on the thing again). wouldn't that be problematic?

Matthew Rundle said...

although probably in open source projects, not as much.

Craig Perko said...

I think that there is a much closer relationship than people want to admit. A surge of outside interest is usually enough for me, at least, to want to do something I was tired of a few weeks ago.