GTD with RTM
Following my colleague and friend Mathias's advice, I've been using GTD (Getting Things Done) to keep myself organized for some time now. A recurrent question is "what software are you using ?". I tried several programs, but nothing could quite fit my system and decentralized use.
Lots of folks are now pushing GTG (Getting Things Gnome). While I see a lot of potential in GTG, it's still a task manager (everything is a task) rather than a flexible list manager. GTD uses lists of things that are specifically not tasks (the inbox, the maybe lists, the project list...).
Mathias recommended using Remember the Milk (RTM), a highly flexible web service with lots of APIs (and more). I originally set up something along the lines of this reference post, but it failed for me in several areas:
- Parsing Inbox was painful (no shortcut key to move tasks to other lists)
- No "tickler file" approach allowing you to forget about an item for some time
- My projects are using work items in Ubuntu blueprints, keeping them in sync was also painful
So I changed it, here is my new setup:
- New items are created in the "Inbox", without tags.
- A @ToProcess smartlist, using "list:Inbox and (isTagged:false or (tag:hide and dueBefore:tomorrow))", contains the stuff I need to parse during next Process phase
- Process phase: for each item in @ToProcess:
- If it's actionable and takes less than 2 minutes, do it, mark it as completed (\<c> shortcut)
- If it's actionable but needs more time, use \<s> shortcut to tag it with appropriate context ("me" if only me is required)
- If you don't want to process it now, but want to file it in your tickler file for it to reappear in two weeks: use \<d> "two weeks" to set a Due Date, then use \<s> and tag it "hide"
- Delegate tasks by using \<s> and tag it "wait" + some context of who you're delegating to
- As soon as it's tagged, the item disappears from the @ToProcess list, which is good !
- If it needs to go to one of the Maybe lists, move it there
- My @NextActions smartlist uses "isTagged:true and not (tag:wait or tag:hide)"
- My @WaitingFor smartlist just uses "tag:wait"
I don't maintain anymore "one list per project", which was painful to me. I just use a "Projects" list that is a regular GTD Projects list I use during weekly reviews. I use multiple "Maybe" lists (one for ideas needing incubating, one for technologies to look at, one for blog article ideas, etc.).
A few remarks:
- I use Google Calendar for actions occurring at a specific time
- I use the priority shortcuts to give a sense of urgency that helps me quickly pick the right next action from the @NextActions list
- I use context tags for everyone: for example, I mark "jib" all tasks that require jib to be completed. When I talk to that person, I use the RTM tag cloud to quickly bring up a "tag:jib" search to get a list of all subjects I need him for, but also a reminder of tasks I delegated to him.
- I try to have my inbox at hand all the time, to be able to quickly drop there a quick idea that crosses my mind. I use RTM google calendar plugin, RTM netvibes module and also coded a "rtm" tool using their python API, for direct use when I'm hacking in a terminal. All create items in the default list (Inbox) and without tagging, so it just works.
- I also use an ActivityReport smartlist (completedWithin:"1 week of today")
Hope it helps :)