My RTM GTD Extension Greasemonkey Script

lwallach says:
Ok guys, I finally got around to cleaning my script up a bit and posted in on userscripts.org:
http://userscripts.org/scripts/show/35034
It's based on Andrew Paprotsky "A Bit Better RTM" but is formatted much more with my specific implementation of GTD, which I outline in the script's source. I've provided some basic settings so that you don't have to go hunting for some stuff, but it's basic things like font sizes and background colors. Eventually I might add more configuration settings, but I figure this would be good enough for version 1.0! Here's a screenshot of the what it might look like:

http://userscripts.org/scripts/show/35034
It's based on Andrew Paprotsky "A Bit Better RTM" but is formatted much more with my specific implementation of GTD, which I outline in the script's source. I've provided some basic settings so that you don't have to go hunting for some stuff, but it's basic things like font sizes and background colors. Eventually I might add more configuration settings, but I figure this would be good enough for version 1.0! Here's a screenshot of the what it might look like:


lwallach says:
Oops, as you might have noticed (I didn't until 15 minutes ago), the Next Actions section is showing up as "Other Buckets." I just changed it and uploaded a new version to usersscripts.org. Here's what the fixed version looks like:



jsellen says:
Hey, this is really neat. Great job. I haven't been using RTM the past few months, but this has inspired me to try to get back in the habit. I was frustrated because I couldn't decide whether lists should be contexts or lists should be projects. But I think this has got the best of both worlds for me. I tried a similar approach before, with project lists and context smart-lists, but it was just too unwieldy in the tabbed interface. The code was very well commented, was very easy to customize. I think I'm a little confused though on your GTD workflow.
I couldnt' exactly figure out what you're using the tag:project for. Each project already has a permanent list. So do you write a goal/mission statement for the project, and use the 'project' tag?
Another question is what other smart-lists do you do? I'm just curious. You go through and enforce that each nextaction has a time & energy estimate, so I assume you have smart-lists set up for those. And I'd think you'd want those to also be nicely formatted. But I don't see it.
Also, I wasn't quite sure about ticklers. Specifically, what happens when a tickler 'comes due'. I just could not figure out how to get a past-due tickler off of the 'mistagged' list. It seemed that I had to turn it to nextaction, and then remove the date. But many of my 'ticklers' are recurring events. Such as 'fertilize the lawn', where they are due after a certain point. So for my purposes I think I'm going to modify all your smartlists to be like this:
(tag:@work and tag:na) or (tag:@work and tag:tickler and dueBefore:now) then 'due' ticklers just pop onto the appropriate to-do lists, then when marked completed, they just disappear back into the project (or lone action).
I couldnt' exactly figure out what you're using the tag:project for. Each project already has a permanent list. So do you write a goal/mission statement for the project, and use the 'project' tag?
Another question is what other smart-lists do you do? I'm just curious. You go through and enforce that each nextaction has a time & energy estimate, so I assume you have smart-lists set up for those. And I'd think you'd want those to also be nicely formatted. But I don't see it.
Also, I wasn't quite sure about ticklers. Specifically, what happens when a tickler 'comes due'. I just could not figure out how to get a past-due tickler off of the 'mistagged' list. It seemed that I had to turn it to nextaction, and then remove the date. But many of my 'ticklers' are recurring events. Such as 'fertilize the lawn', where they are due after a certain point. So for my purposes I think I'm going to modify all your smartlists to be like this:
(tag:@work and tag:na) or (tag:@work and tag:tickler and dueBefore:now) then 'due' ticklers just pop onto the appropriate to-do lists, then when marked completed, they just disappear back into the project (or lone action).

lwallach says:
Thanks for the cudos. I'll try to answer your questions.
1) The 'project' tag was something that I initially was using as kind of project name. I would specify the name of the project and tag with 'project' then I had a smartlist that just looked at stuff tagged with 'project' to create a project list. What I found later was that it wasn't necessary because the projects were all listed as part of the left column anyway. So, the reference to that tag in the mistagged smartlist is to something that no longer exists, but it doesn't really effect what it displays. I'll remove it for the next version, but it shouldn't really matter.
2) I think I listed all the smartlists in my code. I have one for tickler, one for someday-maybe, waiting for, and the various next action context lists. I don't have smart lists for energy and time estimates because those in and of themselves are not "buckets" according to GTD terminology. They are just qualities of a given task that you can use to determine what your next action is. So, for example, if you have a @home list that has some items in it, you go into it and glace at those items, see which items will take the least time/energy and work up, at least that's the theory as I understand it. Now if you have a bunch of things with about the same time/energy component, you get to use your intuition to help you determine what to do. You COULD use priorities to mark things as well, but I don't use priorities at this point. So far I'm not sure how they might fit in this system.
3) Ticklers - according to what I've read in GTD forums, ticklers are simply reminders that you set for tasks you might want to do at some specific point in the future. When a tickler "comes due" it simply shows up in the tickler list. Before it comes due you would only see it in either the project list or the lone action list depending on if it's part of a project or not. If your ticklers are showing up in mistagged it is probably because they don't have the other requisite info filled in - ticklers require due dates, and like next actions they also need time estimates and energy level settings. Without all three of those, they will show up in mistagged. I suppose I shouldn't require all these since they aren't next actions yet, but I did.
Whatever works for you, I think you should do, but I tried to implement something I felt adhered as closely as possible to standard GTD methods. Within the GTD workflow, Ticklers are on a completely different branch from next actions. IE you can't have a tickler that is also a next action. You first ask whether the task is actionable and if it's not, then it can become a tickler (or trash, or someday-maybe, reference, or calendar). If it IS actionable, it can become a next action. Another way I've heard ticklers described is that they are a way of hiding a task until you think it will be relevant in order not to have to keep reading it and have it take up some (even low-level) mental energy, become numb to it, etc. Whereas next actions are things that you want to do asap (when you have the requisite tools, locale, energy level, and time).
So, when a tickler shows up in my tickler list, comes due as you say, what I do is one of three things:
a) I just do it if I can
b) I change to due date again to sometime in the future I think might be more condusive to doing it.
c) I change it into a next action.
In reality I rarely do c becaus I haven't quite gotten to the point where I'm going through my next actions at any spare moment to try to whittle down that list, but that is the theory.
The other "bucket" that I don't really use but might come in handy here is the "calendar." It's kind of like the tickler, but rather than a reminder, it is really something that has a "drop dead" date. It's something that really needs attention on/by a particular date, rather than just something to remind you that you MIGHT want to do it on a given date. The calendar can also be used for events, but I use Google Calendar and Outlook for these, so thus I haven't really used the Calendar bucket, but I might have to change this. There are things that I HAVE to do on a regular basis, although your example above (fertalize the lawn) may not be the best one because it doesn't have to be on a specific day. I guess you could make the argument that you need to do it by day X because after that date the fertalizer won't be effective, or you know you won't have time etc.
Anyway, as you can see, my understanding of these concepts and how to use them in RTM and in general is not 100%, but I'm glad you bring these points up because it helps me to think about them more and to maybe change a bit how I use these things to be more effective. The whole idea of recurring tasks is not something I feel is well addressed in GTD, so essentially these tasks get treated like any other. Whether that actually ends up working well probably depends somewhat on how many of these you have and what bucket you put them in.
Ok, I've probably rambled on quite enough, always a problem when I'm overtired and past due for bed!
1) The 'project' tag was something that I initially was using as kind of project name. I would specify the name of the project and tag with 'project' then I had a smartlist that just looked at stuff tagged with 'project' to create a project list. What I found later was that it wasn't necessary because the projects were all listed as part of the left column anyway. So, the reference to that tag in the mistagged smartlist is to something that no longer exists, but it doesn't really effect what it displays. I'll remove it for the next version, but it shouldn't really matter.
2) I think I listed all the smartlists in my code. I have one for tickler, one for someday-maybe, waiting for, and the various next action context lists. I don't have smart lists for energy and time estimates because those in and of themselves are not "buckets" according to GTD terminology. They are just qualities of a given task that you can use to determine what your next action is. So, for example, if you have a @home list that has some items in it, you go into it and glace at those items, see which items will take the least time/energy and work up, at least that's the theory as I understand it. Now if you have a bunch of things with about the same time/energy component, you get to use your intuition to help you determine what to do. You COULD use priorities to mark things as well, but I don't use priorities at this point. So far I'm not sure how they might fit in this system.
3) Ticklers - according to what I've read in GTD forums, ticklers are simply reminders that you set for tasks you might want to do at some specific point in the future. When a tickler "comes due" it simply shows up in the tickler list. Before it comes due you would only see it in either the project list or the lone action list depending on if it's part of a project or not. If your ticklers are showing up in mistagged it is probably because they don't have the other requisite info filled in - ticklers require due dates, and like next actions they also need time estimates and energy level settings. Without all three of those, they will show up in mistagged. I suppose I shouldn't require all these since they aren't next actions yet, but I did.
Whatever works for you, I think you should do, but I tried to implement something I felt adhered as closely as possible to standard GTD methods. Within the GTD workflow, Ticklers are on a completely different branch from next actions. IE you can't have a tickler that is also a next action. You first ask whether the task is actionable and if it's not, then it can become a tickler (or trash, or someday-maybe, reference, or calendar). If it IS actionable, it can become a next action. Another way I've heard ticklers described is that they are a way of hiding a task until you think it will be relevant in order not to have to keep reading it and have it take up some (even low-level) mental energy, become numb to it, etc. Whereas next actions are things that you want to do asap (when you have the requisite tools, locale, energy level, and time).
So, when a tickler shows up in my tickler list, comes due as you say, what I do is one of three things:
a) I just do it if I can
b) I change to due date again to sometime in the future I think might be more condusive to doing it.
c) I change it into a next action.
In reality I rarely do c becaus I haven't quite gotten to the point where I'm going through my next actions at any spare moment to try to whittle down that list, but that is the theory.
The other "bucket" that I don't really use but might come in handy here is the "calendar." It's kind of like the tickler, but rather than a reminder, it is really something that has a "drop dead" date. It's something that really needs attention on/by a particular date, rather than just something to remind you that you MIGHT want to do it on a given date. The calendar can also be used for events, but I use Google Calendar and Outlook for these, so thus I haven't really used the Calendar bucket, but I might have to change this. There are things that I HAVE to do on a regular basis, although your example above (fertalize the lawn) may not be the best one because it doesn't have to be on a specific day. I guess you could make the argument that you need to do it by day X because after that date the fertalizer won't be effective, or you know you won't have time etc.
Anyway, as you can see, my understanding of these concepts and how to use them in RTM and in general is not 100%, but I'm glad you bring these points up because it helps me to think about them more and to maybe change a bit how I use these things to be more effective. The whole idea of recurring tasks is not something I feel is well addressed in GTD, so essentially these tasks get treated like any other. Whether that actually ends up working well probably depends somewhat on how many of these you have and what bucket you put them in.
Ok, I've probably rambled on quite enough, always a problem when I'm overtired and past due for bed!

jsellen says:
Let me just focus on the tickler part for now. I'm pretty sure I'm going to stick with what I said earlier, which is that I modified the nextaction list to allow 'past due' ticklers to be on it. The reason is that I don't want to have to twiddle with tags & stuff, and make extra work for myself. So, I think it's just easier to have the ticker show up in the next action list when it's time. Then, on or after the due date (the next time I look at the next action context list) I can
a) just do it if I can
b) change the due date to some time in the future
(it still has the tickler tag, so it will just 'disappear' again fro m my mental energy)
c) nothing, it's already on the next action list, , so this is basically a)
This makes one less step in my workflow, because instead of having a big nasty 'tickler' list that needs to be addressed, the ticklers get dealt with when I am in the context that is appropriate for them. Actually, I take that back. It's not really one less step, it's one less context to manage. Now, I shouldn't have a big nasty *Ticklers context
I think you misunderstood my lawn example. The date I put in is not a drop-dead, deadline. It's just the first day that I want to think about it again, a tickler. When I put fertilizer down on the lawn, that does not need to be done again for at least 3 months. 2 months would be too soon, but it's not a calendar item because if it was a week or even a month late, it wouldn't be a big deal. (So I use the 'repeat after' command in RTM, which works great!)
a) just do it if I can
b) change the due date to some time in the future
(it still has the tickler tag, so it will just 'disappear' again fro m my mental energy)
c) nothing, it's already on the next action list, , so this is basically a)
This makes one less step in my workflow, because instead of having a big nasty 'tickler' list that needs to be addressed, the ticklers get dealt with when I am in the context that is appropriate for them. Actually, I take that back. It's not really one less step, it's one less context to manage. Now, I shouldn't have a big nasty *Ticklers context
I think you misunderstood my lawn example. The date I put in is not a drop-dead, deadline. It's just the first day that I want to think about it again, a tickler. When I put fertilizer down on the lawn, that does not need to be done again for at least 3 months. 2 months would be too soon, but it's not a calendar item because if it was a week or even a month late, it wouldn't be a big deal. (So I use the 'repeat after' command in RTM, which works great!)

lwallach says:
Hey Jsellen. You make a good argument for modifying the tickler, and who knows maybe I will end up changing the way mine works similar to yours. However, for now, to me the whole idea is to flag a tickler so that I notice it, and I will not notice it if it simply shows up in one of my next action lists when it is "due." Yes, I should be constantly looking at those lists for things to do, but since I will always have a number of things in the various context lists, a tickler list that becomes large is much more noticeable and tells me these are things that I should pay attention to now.
It's odd because really the next action lists are supposed to be the ones that you pay attention to first. In a sense, tickler files are a way of hiding things from yourself as much as they are reminders. So you hide your task about fertilizing until 3 months from now so that you don't have to think about it until it's relevant. Once it does become relevant, though, do you need some kind of special reminder that "puts it in your face" or is it simply ok to have it add to one of your next actions?
In standard GTD of course, the tickler file is a seperate entity or "bucket" from next actions. Every day presumably you look in this "file" and if you see something there, you can decide whether to deal with it then and there, postpone it again, or put it into the next actions because it is now something that IS actionable (whereas before it wasn't). But the idea is you still are moving it from one bucket to another. I understand that you are trying to save that step, but as you point out you aren't really. Really all you are doing is deciding different things and changing different things.
So, lets's see with the current (my) system, you would
see the tickler show up in it's list and:
- do it now (and mark complete)
- decide to postpone it by changing the due date
- decide it is now actionable and remove due date and change 'tickler' to 'nextaction' tag.
With your system you would:
- do it now (and mark complete)
- decide to postpone it by changing the due date
- decide it is now actionable (in which case you wouldn't do anything)
So I guess you save the extra steps of removing the due date and changing the tag.
My question to you might be this - when a tickler does show up in one of your context lists, how will you know when this happens other than to be constantly scanning these? Isn't this a bit extra work? You are bound to miss a new one that shows up. In this case your tickler isn't being necessarily addressed on the date/time that it's supposed to be. Maybe this isn't that important, I don't know. And maybe you can get around this by sorting your context lists by due date, so that these tickler tasks show up at the top. Still, it's clearer to me to keep them more seperate even if it means a little bit more work when you want to change a tickler to a next action.
That being said, whatever works fo you, of course is what you should do. Our brains are all mapped somewhat differently and trying to make everyone adhere to the same workflow and methodology, etc., is beyond ridiculous. What works for some people may fail utterly for others. In any case, good luck and keep us posted as to how things end up working.
It's odd because really the next action lists are supposed to be the ones that you pay attention to first. In a sense, tickler files are a way of hiding things from yourself as much as they are reminders. So you hide your task about fertilizing until 3 months from now so that you don't have to think about it until it's relevant. Once it does become relevant, though, do you need some kind of special reminder that "puts it in your face" or is it simply ok to have it add to one of your next actions?
In standard GTD of course, the tickler file is a seperate entity or "bucket" from next actions. Every day presumably you look in this "file" and if you see something there, you can decide whether to deal with it then and there, postpone it again, or put it into the next actions because it is now something that IS actionable (whereas before it wasn't). But the idea is you still are moving it from one bucket to another. I understand that you are trying to save that step, but as you point out you aren't really. Really all you are doing is deciding different things and changing different things.
So, lets's see with the current (my) system, you would
see the tickler show up in it's list and:
- do it now (and mark complete)
- decide to postpone it by changing the due date
- decide it is now actionable and remove due date and change 'tickler' to 'nextaction' tag.
With your system you would:
- do it now (and mark complete)
- decide to postpone it by changing the due date
- decide it is now actionable (in which case you wouldn't do anything)
So I guess you save the extra steps of removing the due date and changing the tag.
My question to you might be this - when a tickler does show up in one of your context lists, how will you know when this happens other than to be constantly scanning these? Isn't this a bit extra work? You are bound to miss a new one that shows up. In this case your tickler isn't being necessarily addressed on the date/time that it's supposed to be. Maybe this isn't that important, I don't know. And maybe you can get around this by sorting your context lists by due date, so that these tickler tasks show up at the top. Still, it's clearer to me to keep them more seperate even if it means a little bit more work when you want to change a tickler to a next action.
That being said, whatever works fo you, of course is what you should do. Our brains are all mapped somewhat differently and trying to make everyone adhere to the same workflow and methodology, etc., is beyond ridiculous. What works for some people may fail utterly for others. In any case, good luck and keep us posted as to how things end up working.

jsellen says:
I definitely agree to each his own.
If you think about what was proposed with the point of the original tickler file, you were supposed to look at it once per day. And that is the case with my ticklers, none of them have times, just dates. (And even the ones that have dates, don't have due dates).
Let's take work, which is where I'm much more 'in the system' right now. Each morning, when I sit down to start working, I open my email and RTM. I process my email inbox down to zero (and phone, if by some rare chance I got a call). For each item, I decide actionable or not, If it's for reference, etc, I file (maybe in RTM if someday-maybe). < 2 min, done. If it's something bigger, I make an RTM task, and get that email out of my inbox! Since starting this a couple weeks ago, I can't believe how much extra stress non-important emails sitting in my inbox were causing me. Couldn't help thinking about them each time I saw them.
When I'm done with email, now I'm ready to work. So now I look at the @work view of RTM, all my nextactions @work. Anything that was a tickler that was due today will come due, since I have reloaded the page since yesterday. All the new things are in there. So then I can quickly scan the list of nextaction and due ticklers, and decide what's the most important to me to do. I do it, come back, and see what's the next most important, do it, etc.
By setting my smartlst tags, I now have one less list of things to do. Again, for me, the tickler is something I didn't want to think about, but it's not necessarily the most important thing of the day, on that day that it comes due. It just automatically 'pops' into the next action list.
To answer your question, "how will you know when this happens other than to be constantly scanning these?". I believe that is *exactly* part of the GTD workflow. You are constantly scanning your context-nextaction lists. You find something that's the most important, and then 15 or 30 or 120 minutes later, when that task is done (or made progress) you return to the list, record your new status, and then re-scan the context list again (unless your context has changed). I think it's a bit extra work to have to be scanning multiple lists.
I don't know about you, but I work at a computer, and I have a computer at home. So when I'm at work, I can just let the @work list remain open. I can see how if you weren't at a computer, this wouldn't work as well for you.
In fact, I like this so much, I think I'm going to do the same thing for my 'wait' items, although I don't ahve too many of those. Again, rather than have a separate 'wait' list that I _have_ to review as often as daily, things will automatically 'pop' into contexts when it's time to maybe think about following up on them.
Of course, the beauty is that they are still there. If for some reason I want to look at my ticklers, or I want to look at all my 'wait' lists, I can easily do that. But now, I don't _have_ to.
David Allen wrote for a paper system. I want to take advantage of the technology all I can (since it definitely has it's limitations, i.e. requiring electricity) while keeping to his principles. Of course, with something that makes sense for me.
And this is why I love your script. Since tickler's aren't important to me, I was easily able to reduce that font. And the smartlists make good sense, and were well documented & easy to customize.
I'll see if I can take a screenshot.
If you think about what was proposed with the point of the original tickler file, you were supposed to look at it once per day. And that is the case with my ticklers, none of them have times, just dates. (And even the ones that have dates, don't have due dates).
Let's take work, which is where I'm much more 'in the system' right now. Each morning, when I sit down to start working, I open my email and RTM. I process my email inbox down to zero (and phone, if by some rare chance I got a call). For each item, I decide actionable or not, If it's for reference, etc, I file (maybe in RTM if someday-maybe). < 2 min, done. If it's something bigger, I make an RTM task, and get that email out of my inbox! Since starting this a couple weeks ago, I can't believe how much extra stress non-important emails sitting in my inbox were causing me. Couldn't help thinking about them each time I saw them.
When I'm done with email, now I'm ready to work. So now I look at the @work view of RTM, all my nextactions @work. Anything that was a tickler that was due today will come due, since I have reloaded the page since yesterday. All the new things are in there. So then I can quickly scan the list of nextaction and due ticklers, and decide what's the most important to me to do. I do it, come back, and see what's the next most important, do it, etc.
By setting my smartlst tags, I now have one less list of things to do. Again, for me, the tickler is something I didn't want to think about, but it's not necessarily the most important thing of the day, on that day that it comes due. It just automatically 'pops' into the next action list.
To answer your question, "how will you know when this happens other than to be constantly scanning these?". I believe that is *exactly* part of the GTD workflow. You are constantly scanning your context-nextaction lists. You find something that's the most important, and then 15 or 30 or 120 minutes later, when that task is done (or made progress) you return to the list, record your new status, and then re-scan the context list again (unless your context has changed). I think it's a bit extra work to have to be scanning multiple lists.
I don't know about you, but I work at a computer, and I have a computer at home. So when I'm at work, I can just let the @work list remain open. I can see how if you weren't at a computer, this wouldn't work as well for you.
In fact, I like this so much, I think I'm going to do the same thing for my 'wait' items, although I don't ahve too many of those. Again, rather than have a separate 'wait' list that I _have_ to review as often as daily, things will automatically 'pop' into contexts when it's time to maybe think about following up on them.
Of course, the beauty is that they are still there. If for some reason I want to look at my ticklers, or I want to look at all my 'wait' lists, I can easily do that. But now, I don't _have_ to.
David Allen wrote for a paper system. I want to take advantage of the technology all I can (since it definitely has it's limitations, i.e. requiring electricity) while keeping to his principles. Of course, with something that makes sense for me.
And this is why I love your script. Since tickler's aren't important to me, I was easily able to reduce that font. And the smartlists make good sense, and were well documented & easy to customize.
I'll see if I can take a screenshot.

jsellen says:

Here is what I have so far. I changed the colors, and the fonts. Apparently you have a widescreen, I don't, so I made everything a little smaller. My left column is 240, my main content is 1230 (vs 350 & 1400).
Also, I had to tweak the script because the first thing under 'next actions' wasn't getting formatted correctly, there was an issue with the span tags.
At the bottom I have that 'for fun' smartlist to prompt me to get to actions that I haven't touched for a couple weeks. The 'work-monthly status' list is a smartlist where work items that are completed go automatically. So I can quickly answer the question "What have you done recently".
I'm considering a slightly different font or bgcolor for lists that start with p.Work. I'm also considering more smartlists at the bottom, things like @work AND @@high. If I can't find a smartlist use for the energy level tags (@@) then i'm just going to eliminate them. So far I'm wasting a lot of time typing them, but I don't use them. Priority of tasks (especially at work) wins out over my energy level

jsellen says:
Ah, I had v 1.02, so same @call bug. I see you fixed the script.

civil says:
Why is mine in back and white with less detail

lwallach says:
Hi Civil, not sure what you mean. Can you provide a screen shot?

lwallach says:
JSellen, thanks for the input. I've been really busy at work this week so haven't gotten a chance to digest a lot yet, but I will try to do that soon!

I've read the GTD book, and have looked into several different ways of implementing the system. Coupled with all the features RTM offers, your script is ideal. However, I'm not 100% clear on the task workflow.
Would it be possible for somebody to create a flowchart to use for new tasks?
For example:
Inbox > Move to Lone Actions or a project list > tag with nextaction, tickler, calendar, wait or someday > tag with a context....etc
Obviously a proper flowchart image would be best, but a text version would be better than nothing.
I love the look of this, but I'd just like to know my options at each step of organising my tasks.
Thanks in advance!
Would it be possible for somebody to create a flowchart to use for new tasks?
For example:
Inbox > Move to Lone Actions or a project list > tag with nextaction, tickler, calendar, wait or someday > tag with a context....etc
Obviously a proper flowchart image would be best, but a text version would be better than nothing.
I love the look of this, but I'd just like to know my options at each step of organising my tasks.
Thanks in advance!

lwallach says:
Hi rushy2uk, sorry I've been extremely busy and don't know how much time I have to write now, but I'll try.
First off, GTD has a few flow-charts, so you should look in your book for these. Here's what I do. For a quick brain dump, I just add a task to inbox. I don't worry about filling in any fields other than the name. When I'm ready to actually go through my inbox and categegorize stuff, etc., I will usually start by adding a context tag, an energy tag, and a time estimate. Then the real workflow as described by GTD starts, but I may do it in slightly different order:
1) Is it actionable?
1a) No - tag it with someday, or if I want to be reminded about it at a specific point in the future, I add a due date for when to be reminded and I tag it as a tickler
1b) Yes - move it either to lone actions or to a project list based on whether it's part of a multi-step project or not.
2) Is it something that I'm waiting for someone else to do something?
2a) Yes - tag with wait
3) Do I need/want to do it asap?
3a) No - add a due date and tag as calendar (note - I don't really use this, so have to think more about this)
3b) Yes - either do it right away (if under 2 min) or tag with nextaction.
I think that's basically it. You don't HAVE to do it in exactly this order and I don't always think about it in this order myself. As we've said here the important thing is to just start using some system and if something about it doesn't work, then you will know pretty quickly and can tweak it to how your brain works...
First off, GTD has a few flow-charts, so you should look in your book for these. Here's what I do. For a quick brain dump, I just add a task to inbox. I don't worry about filling in any fields other than the name. When I'm ready to actually go through my inbox and categegorize stuff, etc., I will usually start by adding a context tag, an energy tag, and a time estimate. Then the real workflow as described by GTD starts, but I may do it in slightly different order:
1) Is it actionable?
1a) No - tag it with someday, or if I want to be reminded about it at a specific point in the future, I add a due date for when to be reminded and I tag it as a tickler
1b) Yes - move it either to lone actions or to a project list based on whether it's part of a multi-step project or not.
2) Is it something that I'm waiting for someone else to do something?
2a) Yes - tag with wait
3) Do I need/want to do it asap?
3a) No - add a due date and tag as calendar (note - I don't really use this, so have to think more about this)
3b) Yes - either do it right away (if under 2 min) or tag with nextaction.
I think that's basically it. You don't HAVE to do it in exactly this order and I don't always think about it in this order myself. As we've said here the important thing is to just start using some system and if something about it doesn't work, then you will know pretty quickly and can tweak it to how your brain works...

I managed to find some good flow-charts online, but it always interesting to see how other people do things.
Thanks for the list; that's exactly what I was after. I think I'm ready to process my inbox now. The only thing that still confuses me is that most people use a context such as @home, instead of the location field.
I wasn't bothered about using the location field, but now they have the new iPhone app that makes use of this. Do you have any plans to integrate location into your system?
Thanks for the list; that's exactly what I was after. I think I'm ready to process my inbox now. The only thing that still confuses me is that most people use a context such as @home, instead of the location field.
I wasn't bothered about using the location field, but now they have the new iPhone app that makes use of this. Do you have any plans to integrate location into your system?

lwallach says:
Hmmm, well, I DO use location, but ONLY for tasks that have been tagged as @Errands. To me the location field is only useful for potentially looking at locations to go to do @errand nextactions if I happen to be out and about and have some things in the local vicinity I can go to.
The idea behind context might be a bit confusing because it isn't cut and dry. It's BOTH where you need to be to do a task, but also what tools you need. So, there are some things that I need a computer with an internet connection, there are some things that I need a phone. There are also three main categories of places that I use as context because those are the three main places that I generally am - Home, Work, and neither (ie out and about). There are some things that I need to be at home and some that I need to be at work to do, and of course there are things that I can only do when I'm on the road. To get more specific than this isn't all that helpful except for when I'm out and need to figure out what tasks need to be done in a particular location that I may be relatively close to. In those cases, the location field can serve to indicate this. Think of it as a subcategory within context that is only relevant for @Errand tasks.
Hope this helps.
The idea behind context might be a bit confusing because it isn't cut and dry. It's BOTH where you need to be to do a task, but also what tools you need. So, there are some things that I need a computer with an internet connection, there are some things that I need a phone. There are also three main categories of places that I use as context because those are the three main places that I generally am - Home, Work, and neither (ie out and about). There are some things that I need to be at home and some that I need to be at work to do, and of course there are things that I can only do when I'm on the road. To get more specific than this isn't all that helpful except for when I'm out and need to figure out what tasks need to be done in a particular location that I may be relatively close to. In those cases, the location field can serve to indicate this. Think of it as a subcategory within context that is only relevant for @Errand tasks.
Hope this helps.

(closed account) says:
You know what would be awesome, would be the ability to create subprojects. So for example if in my p.project name list, I had items tagged with a -sub1 tag, then it would display this smart search under the project list. So, I could click on the list to see all the tasks I have to do for that entire project, but if I only wanted to see tasks from a certain subset of that project, I could choose to view the subset.
I have some ongoing never ending projects at work, and instead of running this huge list that would get unweildy pretty quick, it would be better to be able to just view the current subset that I was working on.
I have some ongoing never ending projects at work, and instead of running this huge list that would get unweildy pretty quick, it would be better to be able to just view the current subset that I was working on.

(closed account) says:
One more request is to be able to turn off the underlining of the links. So ugly I can barely stand it.

(closed account) says:
Ok, one more and then I'm done.
It took me a second to figure this out, but in the setup instructions in the script, you say to set up a "Lone Action" list (singular), but the script is looking for a "Lone Actions" list (plural). This causes the size setting in the top of the script to not work properly.
Just an FYI.
It took me a second to figure this out, but in the setup instructions in the script, you say to set up a "Lone Action" list (singular), but the script is looking for a "Lone Actions" list (plural). This causes the size setting in the top of the script to not work properly.
Just an FYI.

(closed account) says:
Ok, here's what I have.
http://www.flickr.com/photos/32167074@N06/3008859480/
I've been obsessivly tweaking this thing to get it to work for me. It's an unbelievable launching off point, but some things just weren't working for me.
I changed the sizes (all the way down to 200 and 1190.)
Obviously I changed the colors and the font sizes. I also changed the indentation for the headers so that it was spaced out a little more to my liking. I also fixed the spacing for the next actions so that they lined up with the Other Buckets.
I added a today list to the Other Buckets. Sometimes I just like to see everything I have to do today, regardless of context.I also added an overdue list, but you can't see it in the screenshot. I would love to set this overdue list up like the Misstagged list workes. I'm going to see if I can work on that.
Those lists at the bottom (batch 1, batch 7, Round 15, Round 16) are what I was talking about with sub-projects. So, round 15 and 16 are sub projects of 1:00onOnes, and then batch 1 and batch 7 are sub-sub-projects. I understand that not everyone needs this functionality, but I'm going to see if I can figure it out.
The other thing I changed is the search function for the misstagged list. That was a little rigid for me. I like to have due dates in some objects just to tell myself when to do them. And I don't use the effort levels for the same reason that jsellen was mentioning. It's a lot more work to put those tags in, and I end up not even using them.
All in all, this is awesome, and I thank you for your work. I was bouncing back and forth in my head wether to go fully into RTM, or to transfer everything to a more GTD oriented desktop program. This has made the decision very simple.
http://www.flickr.com/photos/32167074@N06/3008859480/
I've been obsessivly tweaking this thing to get it to work for me. It's an unbelievable launching off point, but some things just weren't working for me.
I changed the sizes (all the way down to 200 and 1190.)
Obviously I changed the colors and the font sizes. I also changed the indentation for the headers so that it was spaced out a little more to my liking. I also fixed the spacing for the next actions so that they lined up with the Other Buckets.
I added a today list to the Other Buckets. Sometimes I just like to see everything I have to do today, regardless of context.I also added an overdue list, but you can't see it in the screenshot. I would love to set this overdue list up like the Misstagged list workes. I'm going to see if I can work on that.
Those lists at the bottom (batch 1, batch 7, Round 15, Round 16) are what I was talking about with sub-projects. So, round 15 and 16 are sub projects of 1:00onOnes, and then batch 1 and batch 7 are sub-sub-projects. I understand that not everyone needs this functionality, but I'm going to see if I can figure it out.
The other thing I changed is the search function for the misstagged list. That was a little rigid for me. I like to have due dates in some objects just to tell myself when to do them. And I don't use the effort levels for the same reason that jsellen was mentioning. It's a lot more work to put those tags in, and I end up not even using them.
All in all, this is awesome, and I thank you for your work. I was bouncing back and forth in my head wether to go fully into RTM, or to transfer everything to a more GTD oriented desktop program. This has made the decision very simple.

lwallach says:
Thanks, sorry about the mistake in the instructions.
Re the underlining, I'm not sure that can be fixed. I'm not the best with css and I think I might have tried the normal css code to do this but it didn't work. I'll try it again though when I get a chance.
Re the subprojects, I'm not sure if I could get something like this working, at least within the confines of the current script. The problem is that the script is based on LISTS in RTM, not individual tasks. As far as I know I can't get to the individual tasks within a given list, only the list-level stuff, like the list name and the number of items in it. You could create smartlists that would only show stuff tagged with s.ProjectName I suppose and then have the script loop through all lists looking for ones with that projectname set to the same value as the current list name (aka project name). I'd be a little concerned at performance, but it's an interesting idea. The whole idea of subprojects is an interesing one and I know lots of people want subprojects here. I've come to believe that subprojects, at least for me, is overkill. It means slightly more organization, but not to the extent that it would make any huge difference. I guess if you have a TON of tasks it might help to organize a bit more, but I guess I don't have so many in a given project that I would really need that. At that point you're talking about project management software rather than task-management... I guess this will have to be another one of those when I have time and motivation to play with it.
Right now at my regular job we've been in a crunch for the last couple of weeks and while things could calm down by next week, I'm not entirely sure. Point is, I've been working some crazy hours and so haven't had any time to devote to this script in the last couple of weeks...
Re the underlining, I'm not sure that can be fixed. I'm not the best with css and I think I might have tried the normal css code to do this but it didn't work. I'll try it again though when I get a chance.
Re the subprojects, I'm not sure if I could get something like this working, at least within the confines of the current script. The problem is that the script is based on LISTS in RTM, not individual tasks. As far as I know I can't get to the individual tasks within a given list, only the list-level stuff, like the list name and the number of items in it. You could create smartlists that would only show stuff tagged with s.ProjectName I suppose and then have the script loop through all lists looking for ones with that projectname set to the same value as the current list name (aka project name). I'd be a little concerned at performance, but it's an interesting idea. The whole idea of subprojects is an interesing one and I know lots of people want subprojects here. I've come to believe that subprojects, at least for me, is overkill. It means slightly more organization, but not to the extent that it would make any huge difference. I guess if you have a TON of tasks it might help to organize a bit more, but I guess I don't have so many in a given project that I would really need that. At that point you're talking about project management software rather than task-management... I guess this will have to be another one of those when I have time and motivation to play with it.
Right now at my regular job we've been in a crunch for the last couple of weeks and while things could calm down by next week, I'm not entirely sure. Point is, I've been working some crazy hours and so haven't had any time to devote to this script in the last couple of weeks...

(closed account) says:
No worries man. I just found this today and have been having a slow day at work, so I've been screwing with it a lot today. Not saying any of these things to jump on your case, really just trying to shoot things out there when I notice them.
I'd be willing to play around with a few of these things over the weekend and such. Just to screw around with them. The no underline thing seems like a big one to me. But the subprojects could be something good too. I would be more than happy to give you the code if I figure it out.
Up to you. Good job though, seriously.
I'd be willing to play around with a few of these things over the weekend and such. Just to screw around with them. The no underline thing seems like a big one to me. But the subprojects could be something good too. I would be more than happy to give you the code if I figure it out.
Up to you. Good job though, seriously.

lwallach says:
Hey, I hadn't noticed the indentation issue, I'll have to fix that next version.
As for the subprojects, I've been racking my brain for the last 10 minutes but so far I'm not coming up with a good way. The problem is that you need some way to link the main project and the subproject. I guess you could call the subproject smartlist MainProjectName.subProjectName. IE "Side Projects.Batch 1" Then you could loop throught he lists within each project looking lists that began with the same text as the current project name, then you would remove that and the period from the name and display just what comes after it as the name and link to that smartlist... Yeah, that might actually work....
As for the subprojects, I've been racking my brain for the last 10 minutes but so far I'm not coming up with a good way. The problem is that you need some way to link the main project and the subproject. I guess you could call the subproject smartlist MainProjectName.subProjectName. IE "Side Projects.Batch 1" Then you could loop throught he lists within each project looking lists that began with the same text as the current project name, then you would remove that and the period from the name and display just what comes after it as the name and link to that smartlist... Yeah, that might actually work....

(closed account) says:
The indentation issue is just 1 extra space that I took out. It's amazing how much cleaner it looks afterwards.
Re-subprojects:
What if you name the smartlist "-projectname.subproject". Then, you just look for the "-" to see if there are any sub projects at all (would be quicker for people who choose not to use them at all, less to process), then do the name lookup.
I'm not really a javascript programmer (I used to know a lot, but I've forgotten all of it now), just throwing ideas out there.
Re-subprojects:
What if you name the smartlist "-projectname.subproject". Then, you just look for the "-" to see if there are any sub projects at all (would be quicker for people who choose not to use them at all, less to process), then do the name lookup.
I'm not really a javascript programmer (I used to know a lot, but I've forgotten all of it now), just throwing ideas out there.

lwallach says:
I guess. I don't know if it would save that much processing. Then again, it's probably not a huge amount of processing to begin with - you are after all just going through lists, not tasks, and the number of lists a given person will have can't be more than what, 40 or 50 even with all the projects and subproject lists?

(closed account) says:
Good point.
By the way, it seems like the script is getting in the way of creating new lists for me. If I try creating a list (at least a smart list) while the script is enabled, it says there was an error and asks if I'm connected to the internet. But as soon as I turn the script off, everything is ok.
Just fyi.
By the way, it seems like the script is getting in the way of creating new lists for me. If I try creating a list (at least a smart list) while the script is enabled, it says there was an error and asks if I'm connected to the internet. But as soon as I turn the script off, everything is ok.
Just fyi.

lwallach says:
Weird. I just tried it and I was able to create a smartlist. Maybe it's something you added to the script?

(closed account) says:
Don't think so. It was happening on a fresh install of the script. And the stuff that I added wasn't anything that deep. I just changed some variables around.

hwallentin says:
google chrome?

emilez says:
I've installed this today and it seems very good.. I am about to start using GTD. What does "Tickler" mean?

emilez says:
I wonder why the "Lone actions" list is in so small font size though.. Feels like one of the lists that would be used the most often.

emilez says:
(the lone action list link has a larger font on this page than it has in reality)

emilez says:
A really good script by the way.. Thank you very much lwallach!

(closed account) says:
Thank you so much! I used this for months! it really works well
Log in
to post a reply.