The Shape of Everything
A website mostly about Mac stuff, written by August "Gus" Mueller
» Acorn
» Retrobatch
» Mastodon
» Micro.blog
» Instagram
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
September 15, 2014

Since 2003 I've shipped at least eleven apps including major updates. VoodooPad 1-5, Acorn 1-4, FlySketch, and a little failed project called FlyGesture. Occasionally someone, usually an aspiring indie dev, will ask me how I do it and my standard answer is "lots of practice". While it might sound like a funny quip, there's more truth in there than not. I notice if I haven't released an update in a while, the harder it is to ship. I got out of practice. But it's OK, I've been here before and I know what to do. It's been working so far.

So yes, shipping software really does get easier with practice, and especially time. It's an experience thing. You fail, you learn, you hopefully improve.

But.

However much time I've been doing this for, and no matter how much practice I put into it, there's one thing that always sneaks up and pulls the rug right from under me. It's usually between major releases, but not always. It's a period of time where I'm pretty lost, and I don't know what to do. I have feature lists, I have open bugs to fix, and I have an outline of where the app is going. But I feel mentally incapacitated, like I'm getting nothing done.

I call this "The Wilderness".

I hear it talked about occasionally, though I don't think people really know what's going on. And I've seen it happen to other devs as well, from the hardly known to the super famous and successful. I've seen devs fall into it, never to return.

And this is the dumbest thing, isn't it? If you've shipped an app and you want to continue, then that means you've had some measure of success. You aren't complaining, but… shouldn't things be better than this?

I have a few theories as to why this happens.

Maybe you've been making foundational changes to your app. You've been spending time cleaning up your code, rewriting those hacks you've been wanting to fix for years now. Or you're targeting a new SDK and there's all these deprecated methods to replace. So while important change is happening, you don't seem to be moving forward. You look up and all of a sudden notice this has been going on for weeks and you've been standing still all this time, and now you're standing still for no reason at all. And you're lost in the wilderness.

Maybe you have to ignore your app for a little while to work on other things, like your website or documentation. Again, while you're doing good things and even creating something from nothing, a voice in the back of your mind is constantly yelling at you that you're losing ground. But you're not! You've got documentation and web stuff to show for hours and days of work and this mental conflict arrises and you look up and you're standing in quicksand, drowning, surrounded by the wilderness. And you're asking yourself "what the hell is wrong with me?" as you slowly sink and you're too afraid to move.

Maybe it's none of the above, and your brain is just tired and wants a rest for a while. It's a brain, not a machine, and it has needs other than typing, and you find yourself wanting to do yard work at odd hours of the day. Or your mind instinctively knows that you are going to be mentally sprinting over the next couple of months, so is it cool with you if we just chill out for a while, like a big lump of dough? Oh, that's not cool? Too bad, and say hello to my cold, dark, desert of a friend I call the wilderness. You see, I'm your brain and I'm not giving you a choice on this because we've been here before and I know what's up and you're trying to kill me. So we're going to do nothing on app X for a while and you can call it forced meditation if it makes you feel better.

I like this last wilderness theory the most, probably because it seemingly takes the choice away from me.

So those are the possible reasons, but what can you do to keep from getting lost?

Here's the thing- I don't think you can keep it from happening. It just does. Your little indie brain breaks and you're left there holding the pieces trying to figure out what to do about it. But there's hope.

Ten years ago I wrote the following as a footnote to VoodooPad 2.0's post-mortem:

"I climbed the Grand Teton once with a good friend of mine. It was probably one of the hardest and most rewarding things I've ever done. While I didn't feel it at the same magnitude, on the inside finishing VoodooPad 2 reminded me alot of that trip."

And in this quote lies the seeds for how to escape the wilderness.

One foot in front of the other. Push, maintain, breath, keep looking up, and know that even when you get to the top it's not really over because you still have to come down again. You can walk for miles and maybe months in the wilderness. Just keep on going.

The trick is knowing that you aren't the first to be here, and this won't be the last time. So you take care of your mental wounds and slowly create momentum again, then one day you look up and you're making the stuff you love, fixing bugs, writing release notes, and shipping.