Using GyroActivator to automatically mark up your GyroQ activities

In its default mode, GyroQ lets you quickly unload plain vanilla action items "out of your head" and into a main "My In-Tray" map for later processing. While this is a great utility, it can lead you to accumulate a long list of generic and unrelated action items. With each addition to the queue, your start to wonder when you are going to find the time to process and triage the growing In-tray.

You can improve the situation by using dynamic input capabilities of the Gyroactivator language to send the item to the in-tray on the map of your choice. You can also use the 20 "types" available to set some of the attributes for you (e.g. Priority 1, Due Tomorrow, etc). The problem is that ResultsManager activities have 12 different attributes, so you run out of "types" quickly if you want to set more than one attribute automatically. One solution is to use dynamic input to select or enter each parameter. The downside of that is you are faced with answering or skipping up to 12 prompts for each action item entry, which defeats the "quickly unload" goal.

Wouldn't it be nice if you could use a shorthand in your action item that marked up your action item automatically? For example if "Call Joe about Project X by tomorrow" inserted Joe@ as owner, "phone" as context, and "tomorrow" as the duedate or if "Pick up dry cleaning this week" inserted a context of "errand" and a duedate of 7 days from now.

So can this be done today? I think so. The trick is to leverage the Gyroactivator "Send" command to allow MindManager's "find all" command to locate text within the target strings.

The first step is to decide on the syntax you want to use. Some ideas are listed below, but through discussion we can arrive at a more complete set of ideas:

Call -> context: phone
Pick up -> context: errand
buy -> context: errand, web
Visit -> context: errand
Read -> context: reading
(P1) -> Priority 1

Many people tend to interact most often a small subset of contacts. Custom code can be created to identify text related to them:

Contact X -> owner: X@
X about -> owner: X@
Waiting for X -> owner: X
for X -> owner: X, %me%

I envision this could be implemented in a customizable map template that is read by gyroactivator such as this:

ResultsManager task parsing syntax

The code below implements the parsing in a hardcoded format for testing.
Caution: This is highly untested code below is meant for example purposes only. It will more than likely mess up your maps and delete random tasks. Use on test maps only.

A hack is required to deal with situations where the macro fails to find a particular string in the map. The code below gets around this by inserting a dummy "mother of all activities" string containing all the text that is searched for. This allows the find command to always find and mark up at least one activity. At the end of the macro this string is located and deleted.

Gyroactivator Script (can be run from within GyroQ):

1. Create a dummy task to ensure all search yield at least one hit:
{new:maintopic:'catchalltask:CallPick up today tomorrow Nick about';bookmark:'dummytask'}

2. Run Context Related Searches
{send:'{alt}efCall+{tab}+{tab}+{tab}{enter}';rm_contexts:'Phone'; send:'{alt}ef{esc}'}
{send:'{alt}efPick up+{tab}+{tab}+{tab}{enter}';rm_contexts:'Errand'; send:'{alt}ef{esc}'}

3. Run Duedate related Searches. Note this will move things enter previously
{send:'{alt}eftomorrow+{tab}+{tab}+{tab}{enter}'; duedate:1 send:'{alt}ef{esc}'} {send:'{alt}eftoday+{tab}+{tab}+{tab}{enter}'; duedate:0; send:'{alt}ef{esc}'}

4. Run Owner related Searches
{send:'{alt}efNick about+{tab}+{tab}+{tab}{enter}'; rm_owners:'Nick@';
{send:'{alt}ef{esc}'}

5. Delete the catch-all task
{send:'{alt}efcatchalltask+{tab}+{tab}+{tab}{enter}{esc}{delete}'}

One additional advantage of this approach is that it encourages you to think about your action items in a "Next visible physical action" format that is encouraged by David Allen's GTD approach. Given the extreme customer-focus of Gyronix, I have no doubt this capability will evolve into the Gyroactivator language over time. In the meantime, the user community can start to prototype ideas on what that functionality should look like. Hopefully this prototype will provide some food for thought. Feedback and ideas are appreciated.

1 Comment »

  1. MindReader turns 1, gets its braces taken off » ActivityOwner.Com said,

    January 24, 2008 @ 10:47 pm

    […] the first prototype emerged earlier, the first production version of MindReader made its debut 1 year ago last Sunday. […]

RSS feed for comments on this post · TrackBack URI

Leave a Comment

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.