Getting things done as an indie

As an indie game developer, I’m wearing a lot of hats. At one moment, I play the role of developer, happily banging out code. The next moment, I can be posting about my game on forums, or doing artwork, or communicating with my client/partner/designer. How do I stay on top of all this? Fortunately, I’ve built up a bag of useful tricks and tools that work really well for me. Time to share!

As a basis for time and task management, I strongly recommend the book Getting Things Done by David Allen (GTD for short). Although the techniques described in the book are outdated (entirely paper-based), the core components are still valid:

  • The inbox is where new stuff comes in from the outside world.

  • The next actions is where you track stuff you need to do.

  • The tickler file is where you put stuff that you don’t need to remember right now, but that will become important at some specific moment in the future.

To handle all this, I use three web-based tools: Gmail, Google Calendar, and Checkvist. However, my system also has a place for dead-tree-based data carriers.

Gmail

Ye olde email client… but not quite. Gmail is different, and offers some nifty productivity features. Firstly, I use Priority Inbox to sort out important email from the rest. Secondly, I use stars to indicate that I need to act on a particular email in the short term (typically, today).

I have my inbox set up to show three panes:

My inbox setup in Gmail

From top to bottom:

  • Important and unread. This is the “inbox” in the GTD sense of the word: things that have come to me but haven’t received any attention yet. I also receive notifications on my phone for these.

  • All Starred. This makes sure I always have my short-term action items in view, so it forms a “next actions” list in the David Allen sense. Typically, the action will be to answer the email, but I might also move the task to Checkvist (see below) for the longer term.

  • Everything else. This is the low-priority inbox, where e.g. notifications from Twitter and LinkedIn end up. They don’t trigger notifications on my phone, and since they don’t appear right at the top, they’re less distracting.

Of course, I also apply the “inbox zero” principle: after reading an email, I either star it for follow-up, or archive it. In either case it appears from the inbox section where it showed up.

For an extra productivity boost, I use Gmail’s excellent keyboard shortcuts exclusively:

o e j j o s u j o r Ctrl+Enter s

That was me opening an email (o), archiving it (e) because it doesn’t need any action, moving two emails down (j j), opening it (o), marking it with a star (s) because it warrants a reply later, going back to the inbox (u), opening the next email (j o), replying to it (r), sending it off (Ctrl+Enter) and unstarring it (s).

Another neat Gmail trick I use is filters plus the + suffix. Sometimes I’m not at my computer, but want to remind myself to do something when I get back. For this, I use the primitive but effective method of sending email to myself. However, instead of sending to username@gmail.com, I send it to username+todo@gmail.com.Gmail ignores anything after the + and delivers it anyway. This address is even in my address book, so it autocompletes when I type “to”. I have a filter set up that triggers on this email address, and subsequently marks the email as read, archives it, and adds a star:

My TODO filter in Gmail

Next time I open my inbox, the action item will be sitting there waiting for me.

Google Calendar

I use Calendar for my regular appointments; no surprise there. I have set up a default reminder that triggers a noise on my phone 10 minutes before the event, so I remember to leave the house on time. This reminder time often needs customizing depending on travel distance, but it’s not too onerous. (I know Google Now can theoretically remind you in a timely manner based on travel time, but I’m a bit wary of overly “smart” software.)

However, I also use Calendar for what GTD calls a “tickler file”. Basically, the idea is to send a note to yourself in the future, to arrive at some later date. I have created a separate calendar for this, called “TODO”, to which I add an event on the date I want to be reminded. Such events can also be recurring; for example, I use a weekly recurring event on Friday to remind me to publish a blog post.

The TODO calendar has a different default reminder configured than my main calendar. Instead of making a noise on my phone, it sends an email on the day the event happens. The email goes to Gmail, where it is caught by a filter, and treated in the same way as my special +todo email address. So the next time I open my inbox (which I do regularly), the reminder will be there for me to act on.

My reminder settings in Google Calendar

Checkvist

I might sound like a Google fanboy now, and while I did also use Google Tasks (the popup thing in Gmail) for a while, I found it annoying and constraining. But I recently discovered Checkvist, which is neither of these things. Checkvist is an outliner tool that lets you create nested checklists. It has a clean UI without lacking in features, and is entirely keyboard-driven with several of the same shortcuts as Gmail. And it’s free.

Checkvist screenshot

I use Checkvist to capture anything that needs to be done longer-term. In GTD terms, it’s my “next actions” list. I create one checklist for each “project” (in my case, game). On such a list, the top-level items represent milestones, for example “prototype”, “alpha”, “release”. Below the milestone go the actions that need to be completed before that milestone is considered done. Each of these actions can itself be broken down into smaller steps, if it makes sense.

I frequently rearrange tasks so that the most important things are at the top, and just work my way down. When an item is completed, I cross it out. When that is the last item to be completed, the parent task automatically gets crossed out as well, just as you’d expect.

Pen and paper

The system as described above works really well for tracking what to do and when. However, I also use old-fashioned pen and paper.

There’s a stack of post-its on my desk. At the start of the week, I write down “THIS WEEK” at the top of one, and list all the (high-level) tasks I want to get done that week. These tasks are sourced from one or more lists in Checkvist. At the start of each day (or at the end of the day before), I take another post-it and write “MONDAY”, “TUESDAY”, or whatever day of the week it is, followed by the tasks I want to get done that day. These follow from the weekly tasks, but might also include housekeeping chores (which I don’t track explicitly anywhere).

At this point, you might wonder: since I have everything stored in Checkvist, ordered by priority, what is the point of copying it down on post-it notes? Can’t I just work down the checklist?

There are several reasons why I find the post-it system helpful.

  • It’s always in my peripheral vision, whereas Checkvist is often out of sight in a browser window on a different virtual desktop. (I don’t have a multi-monitor setup.)

  • A single post-it might span multiple projects, i.e. multiple checklists.

  • Listing the day of the week at the top helps to keep me honest. If the TUESDAY list isn’t done by the end of Tuesday, there’s no way I can pretend that it was actually a “Tuesday and Wednesday” or “some time soon” list.

  • Crossing out items on a paper list is really satisfactory.

  • Batching up tasks for a day or week will hopefully teach me, over time, how much I can accomplish in a day. This will make me a better planner, much more than just working down a near-infinite prioritized list would.

I only recently started doing this, but I find that it does help to keep me focused throughout the day, while forcing me to step back and consider the overarching goals at least once a day as well. In short, I think it’s a keeper.

Conclusion

I’ve developed this system over the course of years, trying out new techniques and seeing what sticks. Since each person is different and works in a different way, what works for me might not work for everyone. However, chances are that some of these techniques will help you be more productive as well, so I encourage you to give them a try!