Forums

Discuss all things Remember The Milk.

An Example of How to Be Far Too Complex with RTM's Advanced Search

(closed account) says:
I've posted my searches before, and I've usually gotten a lot of positive feedback as to them helping other people. I recently came back to Remember the Milk. So, I figured, the new searches I've cooked up might be helpful this time around.

First, I set up an exclusion list -- all items I didn't want showing up anywhere in my task system. I called this "(99) Exclude". It's:

(tagContains:hold OR tag:@not-a-task OR list:"Dead Projects" OR list:"Project Notepad" OR (("Debbie" OR tag:@callback) AND dueAfter:tomorrow) OR ((list:"Computer Upkeep" OR list:"Daily Tasks") AND dueAfter:"today 23:59")) OR (isRepeating:true AND dueAfter:"2 days from today") NOT tag:@alwaysshow NOT list:"(98) Errors"

Essentially, this will exclude (i) any task having a tag with the word 'hold' in it; (ii) anything I put in as just a note; (iii) any dead or 'someday' projects; (iv) any notes for my next meeting with a friend, as long as I'm not meeting with her today or tomorrow; (v) any "waiting for so-and-so to call me back" notes, as long as I don't have a follow-up scheduled for today or tomorrow; (vi) any computer backups or daily tasks that aren't scheduled for today; (vii) anything that's a repeating task that happens three or more days from now. However, I can circumvent this exclusion by including the "@alwaysshow" tag. And, even if something meets these criteria, if they meet an error criteria, they'll show up.

Next, I set up an error-catching list -- stuff that's got some sort of problem with it. I called this "(98) Errors". It's:

list:Inbox OR tag:@breakitdown OR (due:never AND isRepeating:true) OR (tag:@browsing AND "Chapter" AND due:never) OR (isTagged:false NOT list:"Miscellaneous") OR (tag:@job NOT list:"aJob Listings") OR (tag:@daily NOT list:"Daily Tasks") OR (tag:@callback NOT "Waiting") OR ("Waiting" NOT tag:@callback)

This is: (i) anything that's in my inbox, as that should just be a staging area; (ii) anything tagged with a "@breakitdown" tag, which tells me it's a big project that needs next steps; (iii) something that has a repeating value set but not a due date; (iv) a book that has chapters entered but no scheduling yet; (v) anything outside of my "Miscellaneous" list that doesn't have a tag; (vi) something that is marked as part of my job hunt but isn't in my job-hunt list; (vii) something that is marked as a daily task but isn't in the daily-task list; and (viii) something that has the word "waiting" but isn't marked as a callback, or vice versa.

Then, we hit the lists I'll work off of. First one is sort of the main working list, "(01) Quickie". It's:

(tag:@daily AND dueBefore:"today 23:59") OR (tag:@browsing AND due:never NOT "Chapter") OR tag:@quickie OR (((list:Inbox AND isTagged:true) OR list:Miscellaneous OR tag:@research OR tag:@job) AND (added:yesterday OR added:today)) AND (NOT list:"(98) Errors" NOT list:"(99) Exclude")

This has (i) anything that's a daily task and hasn't yet been done; (ii) anything that's marked with my "casual reading" tag and isn't part of a book, but doesn't have a due date; (iii) anything that's marked as a quickie task; (iv) anything that's something usually of heavier import, but that was added today or yesterday -- in case I want to tackle it while it's still new. It excludes all other lists.

Next one is stuff that might involve heavier mental effort: "(02) ModQuickie". ('Mod' being short for moderate.) It's:

(tag:@research OR tag:@modquickie OR tag:@brainstorm OR tag:@job OR (tag:@browsing AND "Chapter" NOT due:never)) AND (NOT list:"(98) Errors" NOT list:"(99) Exclude")

This has (i) anything that's a webpage which involves some in-depth, deep study of its contents; (ii) anything that's marked as moderate effort; (iii) anything that's a brainstorming session; (iv) anything that's involved with my job search; (v) anything that's got a reading schedule set for it.

Finally, there's "(03) Out/Physical", which involves physical work or stuff that has me out of the house. It's:

(tag:@out OR tag:@physical) AND (NOT list:"(98) Errors" NOT list:"(99) Exclude")

There's also one last error-catcher:

NOT list:"(98) Errors" NOT list:"(99) Exclude" NOT list:"(01) Quickie" NOT list:"(02) ModQuickie" NOT list:"(03) Out/Physical"

This is "(97) Should Be Empty". If there's something in here, then the rule logic broke somewhere along the line -- as the rules above should cover all of my tasks.

Ideas that'll be implemented a little further on are:

(i) I want to cook up a rule subset to add on that'll prevent me from postponing too much.

(ii) I'd like to set a tag and list for minidelays -- i.e., "Okay, I'll tag these with this tag/priority level/what have you, and it'll move them to this new sublist for my next plate."

Input's welcome!
Posted at 10:27pm on September 18, 2009
(closed account) says:
In order to catch stuff that's been postponed way too much:

"(00) Stop Postponing!":
Argument: postponed:"> 2" NOT tag:@daily AND (NOT list:"(98) Errors" NOT list:"(99) Exclude")

In order to do the "plate" system, I used priorities as ways of putting things either on "dish" 1, 2, or 3, essentially by separating Quickies and ModQuickies to three separate lists each. Now, I've got:

"(01) Quickies - Main Plate":
(priority:1 OR priority:none) AND ((tag:@daily AND dueBefore:"today 23:59") OR (tag:@browsing AND due:never NOT "Chapter") OR tag:@quickie OR (((list:Inbox AND isTagged:true) OR list:Miscellaneous OR tag:@research OR tag:@job) AND (added:yesterday OR added:today)) AND (NOT list:"(98) Errors" NOT list:"(99) Exclude"))

"(01a) Quickies - Plate 2":
priority:2 AND ((tag:@daily AND dueBefore:"today 23:59") OR (tag:@browsing AND due:never NOT "Chapter") OR tag:@quickie OR (((list:Inbox AND isTagged:true) OR list:Miscellaneous OR tag:@research OR tag:@job) AND (added:yesterday OR added:today)) AND (NOT list:"(98) Errors" NOT list:"(99) Exclude"))

"(01b) Quickies - Plate 3":
priority:3 AND ((tag:@daily AND dueBefore:"today 23:59") OR (tag:@browsing AND due:never NOT "Chapter") OR tag:@quickie OR (((list:Inbox AND isTagged:true) OR list:Miscellaneous OR tag:@research OR tag:@job) AND (added:yesterday OR added:today)) AND (NOT list:"(98) Errors" NOT list:"(99) Exclude"))

And then a catchall for the end:
"(96) All Quickies":
list:"(01) Quickie - Main Plate" OR list:"(01a) Quickie - Plate 2" OR list:"(01b) Quickie - Plate 3"

Same prefixes go with ModQuickies.

This way, all I have to do is hit 1, 2, or 3 to assign a task to a "plate" -- i.e., "Okay, I'll take care of plate 1 now, plate 2 later, and plate 3 in the evening."

The "(96) All Quickies" and "(95) All ModQuickies" collections get plugged into that logic-check "(97) Should Be Empty" ruleset.
Posted 12 years ago
devon20net says:
That's quite a system.

Mine is very different so most of your search methods won't work for me. What I will snag is your "(97) Should Be Empty" concept. As my system has become more complex, I'm afraid there are some things slipping through the cracks - but I don't know what they are. I do have several lists designed to catch specific problems, but nothing like your list 97. It's a gem - thanks.

- Dawn
Posted 12 years ago
ranbarton Power Poster says:
List 97 is a great backstop to list 98. Very clever.
Posted 12 years ago
emily (Remember The Milk) says:
Hey wcitypoe,

Just wanted to let you know that your tip is a Tips & Tricks Tuesday winner. We've upgraded your RTM account to have a free year of Pro. :) Thanks for sharing these great searches!
Posted 12 years ago
Log in to post a reply.