Getting things done with Remember The Milk

by markversus

I have been trying very hard to implement a David Allen style GTD list system to jeep me organised and productive.  I read ‘Getting Things Done’ a few years back and got a real kick out of the process.  Ever since then I have been looking for the perfect implementation.

Now I am not so much the pragmatist that I expect the system to fit me (or rather for me to fit the system) without any adjustment, so I have always been open to the odd tweak here and there.  Despite adjusting the system in varioua was I am always left with the same major issue, which has always been collection.  There will never be a single method to collect up all of these open loops, no unified inbox.

That said, an internet connected smartphone comes pretty close!  About as close as I can hope for now.

I had signed up to the list making service Remember The Milk ( long time ago but it was not until a friend demonstrated the iphone app that I took the plunge and signed up for a premium account ($25 per year) and started using it on my Android phone.  It was not immediately successful, but with some ongoing list tweaking that I have detailed below it is getting to a place that is working.

I am not the first person to do this I am certain, but in case it can help someone else get things done here is my system as it stands.

One of the ways in which I have found to adapt the RTM setup for a GTD workflow is to take advantage of tags and smart lists, which are saved searches. Using these I can tag the tasks in a number of ways and then filter those tasks to create GTD approporiate lists.  

As a reult, I only have 3 actual ‘hard’ lists:-


Inbox is (very usefully) a default list for all items added to RTM.  I can therefore operate in a very GTD manner dumping all thoughts, ideas, todos and anything else with a minimum of keystrokes for processing.

The second list I use is called Processed.  All items are moved out of Inbox and into Processed once I have done just that.  What that actually entails is detailed below.

Shopping is not really a GTD list. It is a separate list for when I actually need to ‘remember the milk’.  I find it useful to keep these bits separate.

The method if processing I use involves the standard identification of next actions and then adding as much contextual information to the task as possible by way of tags.  I then string together those tags as saved searches to create soft lists that resemble the GTD method a little closer.

The tags are split into 3 basic ‘types’ – State, Project and Context.  The tags each have a common prefix, so that they remain alphabetically distinct from one another in the tag list (custom taxonomies would be useful here to separate them, but that may be a little too much to ask from a shopping list webapp).  When processing, eah task should have at least one of each of these types of tags.

The tags (sorted by type) are as follows:-


There are currently 4 state tags and an item should only have one of them.  The State tags have no prefix.

  • na – a next action item
  • wf – a waiting for item
  • someday – not an action, but something I may want to explore. Brainstorming ‘tickler’ stuff
  • project – used to define the item as a project name

Generally, i try to make sure a task will fit one of these four states only.  The project list feels like a little bit of a hack, but it works well enough for me.  I could just examine the tag list for project tags, but having a separate (and more readable) Project list makes for easier review. 


Each item is assigned a project tag. Project tags have an underscore prefix and words are separated by underscores.  There is a hierarchy to project tags that group them together by topic eg:- _personal_DIY, _personal_finances, _work_reports etc.  Item should have at least one of these (though it may be appropriate to have more that one).


Context items use an @ prefix (@call, @online. @errand).  The @ prefix is also used by RTM to quick assign locations to tasks.  This is not to much of a leap as a location generally is itself a context. I have kept the @ naming convention for both contexts and locations. The only issue with this common prefix is that when quick-adding a task one enters #@ as a prefix fit these context tags (# being RTMs shortcode for tags) and enters @@ for a location. Not to much of a brain buster.

I then have several saved searches to reflect the GTD list and context specific lists.  RTM allows for some fairly complex searches so you can be quite specific.  The only issue with that being that the more specific the searches are the more likely a task will not get picked up if it has ot been processed correctly.  I did read a recent Lifehacker post exploring a search for catching these lost tasks and I will probably look into adapting it for my own lists.

Below, for your reading pleasure, some of my smart lists.

  • NEXT ACTIONS (list:Processed AND status:incomplete AND (tag:na AND NOT (tag:wf OR tag:project OR tag:someday)) 
  • WAITING FOR list:Processed AND status:incomplete and tag:wf
  • PROJECTS list:Processed AND tag:project
  • SOMEDAY list:Processed AND tag:someday

Adding context or project filters to the first list is also useful, particularly in regards location.

Now if I could share smart lists with colleagues (a sadly lacking feature) my life would be complete.