Todos pile up, balls get dropped, and I search for solutions to managing the chaos. Several years back I found inspiration in David Allen’s Getting Things Done (GTD) approach to task management. The simplicity of the various lists and the generic process definition that relied on no specific medium or implementation appealed to my need to customize and make everything my own. GTD seemed perfectly matched to a software application that could manage the various views and relationships of tasks, projects, and contexts. I tried various existing tools, but they each were cumbersome, slow, and unintelligent (forcing me to spend more time in the tool than I was willing to give). I went so far as to program my own, Braindump, which addressed my frustrations. While I accomplished what I had set out to do, the increasingly pervasive presence of smart phones, netbooks, and other internet devices were highlighting the rather crude single-computer usage model of my application. It also suffered from what every other stand-alone task manager suffers: lack of calendar integration.
Among the list of rejected applications years back was Remember the Milk (RTM). While RTM kept things simple and didn’t burden the user with a rigid work flow, I felt (at the time) that its extrememly free-form nature would leave too much process enforcement to the user, making it as awkward and cumbersome as its competitors which enforced too much process internally. I was also just not ready to make the leap into the world of “cloud services”. After catching a blurb about a new RTM Google Calendar gadget, I decided to give it another shot… and I’m glad I did. I read several other user experiences on using RTM for GTD, one in particular I feel is worthy of citing here as being influential in my approach: Guest Post: Advanced GTD with Remember The Milk by Doug Ireton.
If you are already familiar with GTD, skip this section. For those of you that haven’t been indoctrinated, allow me to present a very brief introduction to the principles of GTD. It’s all about freeing your mind from thinking about what you have to do so you can focus on doing it. You need a trusted system to store information so your brain doesn’t have to. The process itself is defined by five stages: collect, process, organize, review, and do. These stages are implemented using lists of tasks, or “next actions”, and “projects” (work items that encompass more than one task). A key point about next actions is they are immediately actionable. They have no dependency on anything else. During the “do” stage, you should be able to open the next actions list and immediately get to work performing those tasks. Another core mechanism of GTD is the “context”. By organizing your next actions by context, such as Calls, Errands, Office, and Home, you can easily see the tasks that you can complete at any given time, based on where you are (by a phone, in the office, driving between work and home, etc.). Lastly, a weekly review is critical to making GTD work. During this review, you review each of your projects and ensure they have a next action so you can make progress on them during the week. Before getting too far into constructing a task management system, I’d recommend reading through GTD.
GTD with RTM
GTD is essentially implemented as a collection of lists. This translates well to Remember the Milk which is just that – a set of user defined lists. RTM also provides some basic properties to list items, such as due date, time estimate, and notes. What makes RTM smarter than a set of paper lists are the tags, locations, and powerful searches. Tags allow you to use short terms to relate tasks to eachother. Locations are intended to allow you to save off the address where a task needs to be completed, which is cute but largely useless IMNSHO, so I’ll overload this feature a bit later. RTM provides users with a powerful boolean logic search and the ability to save those searches as custom lists which are automatically updated when your tasks change. Let’s see how to put these all together to create a powerful GTD system using RTM!
Let’s start with a set of real lists (created via Settings->Lists). I find it useful to separate work and personal lists with “W-” and “P-” respectively.
Inbox and Sent are defined by RTM and cannot be changed. The Inbox works well as a staging ground for thoughts you have that you haven’t fully processed yet. You’ll work through these during the “Process” and “Organize” stages, converting them into projects and tasks. I use the Personal and Work lists to store all my tasks, currently actionable or not. I use the “na” tag to mark tasks as next actions to distinguish them from tasks that are dependent on something before they can be executed. The two Project lists are used to store an item for every project I’m working on. I tag each project with a short identifier which I also use to tag all the associated tasks so they can be identified by project. Let’s look at a project and a couple tasks.
Under the W-Project list I have an item titled “RT Elevator Pitch” tagged with “rt-elevator”. I then create a task on the Work list titled “Brainstorm topics” and tag it with “rt-elevator” as well as “na”. If I want to see all the tasks for this project, I can click on the project item on the W-Projects list and then click on “rt-elevator” in the Task box on the right. This will open a search for all the items tagged with “rt-elevator”.
GTD refers to next actions lists, not task lists. When it’s time to get something done, you shouldn’t have to wade through all the tasks to find one you can do right now. In the search box, enter “tag:na”, this will filter the list to only those tasks which are currently actionable. This doesn’t take into account work vs. personal though. To limit it to just actionable work tasks, search for: “list:Work AND tag:na”, click on the Save tab and call it “W-Next Actions”.
To refine your task list even further, let’s take a look at the GTD concept of “Contexts”. David Allen suggests the use of the @ (for various reasons) to indicate contexts. This is particularly convenient with RTM as that is the hotkey for specifying location when entering a task. Since I find the locations feature rather useless in its intended form, I overload it as my contexts list. Click on locations and create your GTD contexts list (RTM wants you to specify a map location for each context – pick some place exotic!). For me this list includes: Calls, Errands, Home, and Office. You might add “Computer” … but if you’re reading this that would probably be akin to adding an “awake” context… it just doesn’t refine your search very much ;-) Now you can specify a context for each task. To filter by context, search for each of your contexts and save the searches. For example, search for “tag:na AND location:office” and save the search as “@Office”. This list will show only those actionable tasks that must be completed at the office! Note that I don’t separate Work and Personal lists here. If I’m out running errands I might as well get those for work as well as home done in one go. Same for a batch of phone calls.
Lastly, you’ll want a tag and a saved search to keep track of tasks you are waiting on from someone else. I use the tag “wait” for this, and will sometimes include a nickname for the delegate, like “john”. Then create Waiting lists, such as “list:Work AND tag:wait” as “W-Waiting”.
IMO) as well as a very nice sidebar gadget that will display the list of your choosing and group the tasks by due date: Overdue, Today, Tomorrow, Monday, Anytime.
There are some tasks that must be done on a certain day, but not at a particular time. You could just add these to your calendar application, but I find it convenient to keep all my tasks in one place. You don’t want to have these tasks show up on your next actions lists until the day they are due. That means you either have to remember to set the na tag the morning of (yeah, not very likely right?) or come up with another mechanism. I tag these items as “cal” and ensure they have a due date. I then augment my next action searches to look for “tag:na OR (tag:cal AND dueBefore:tomorrow)”. This way I only see the cal tasks when they’re due (and afterwards if I failed to complete them).
When you complete tasks in RTM, it records the completion date. You can use this in a search as well to generate a weekly (or monthly, etc.) report for your boss. Consider searching for ‘list:Work AND completedWithin:”1 week of today”‘ and saving it as “Weekly Status”.
If you can convince your colleagues to setup an RTM account (they don’t have to be GTD junkies by the way). You can use the RTM “Send To” feature to delegate tasks. The task will then appear be moved to the Sent list. You may need to adjust your waiting searches to include the Sent folder, and possible tag delegated items with “work” or “personal” as there aren’t seprate Sent lists. Personally, I’d rather RTM didn’t move my tasks to another list after I send them.
Remember the Milk provide an incredibly flexible tool for managing tasks. Not only is it highly functional in its own right, but it also integrates brilliantly with services like Google Calendar and Google Gears (for offline use). RTM also provides a minimal mobile web interface (which is well… minimal), but if you’re an iPhone or Android user, you can download an RTM application if you’re a pro user for a much improved mobile interface. Well worth the $25 a year in my opinion. RTM, almost you convince me to purchase a smart-phone… and a $30-40/month data plan. Almost.