MindReader — let GyroQ read your mind

“Buy eggs tomorrow!”
“Call Bob next week”,
“Read Getting Things Done someday”

Longtime ActivityOwner.com readers may remember an early post that speculated about the possibility of having GyroQ parse the text of an action item to automatically infer things like context. due date, priority, etc. This could act as a time saver, allow one tag to serve multiple purposes, as well as encourage some GTD next action thinking at the time of capture. At that time I found this really couldn’t be done in practice using GyroActivator’s limited language functionality, but the challenge has intrigued me ever since.

Having recently figured out how to shoe-horn multi-line macros into GyroQ this week, things got a bit more feasible. The video of the gyroQ tag in action says it all. The code for the prototype tag is in the GyroQ library (prs). It is a little sluggish on the de-queueing stage. It runs very fast and is more readable as a stand alone SAX Basic (Visual Basic compatible) macro. Version 1 of gyroparse.mmbas is in the MindManager Macro Library. The current GyroQ version uses a series of gyroQ run:macro calls. For now this provides a working proof of concept that is easy to distribute and install as packed text.

[Click here for Video]

This version implement some of the syntax ideas proposed in the earlier post and adds some new ones:

Text keyword Designation Field Value
buy context errand
pick up context errand
call context phone
read context web
waiting resources somebody else
today duedate today
tomorrow duedate tomorrow
next week duedate + 7 days
end of week end of week Friday
end of month end of month Last day of month
(P1) priority 1
! deadline yes
someday committed no

There are many possibilities of extending this, including syntax to identify the parties involved in owed-to/waiting-for as well as map and project destinations. Could even have it flag you if it senses you are not using good “next action verbs in your tasks.

[Note: You can try out a more configurable and advanced version of this approach by visiting the “MindReader” Project page.]


  1. ActivityOwner said,

    January 27, 2007 @ 7:52 am

    Note: You can try out a more configurable and advanced version of this approach by visiting the “MindReader” Project page..

  2. Jim said,

    January 30, 2007 @ 12:17 pm

    Fantastic piece of work.

    To anyone who is confused or find their eyes crossing at all the parse_action_keyword_verb_ao_om_gtd words – this “add-on” works wonders on your mindmaps and is a MUST for anyone who uses GTD/MindManager/ResultsManager.

    I’ve always been a fan of GTD and therefore ResultsManager, but the only thing that keeps me from capturing everything with it was how long it would take to fill out the forms that ResultsManager came with.

    Well then came along GyroQ and I was capturing like a madman. Every single thought, every notion – found it’s way onto my maps. Only problem with that is that I would still have to click on the topic, Alt+E,Y, wait for the window to come up, fill out all the information (Purpose?..I don’t have time to fill that out now!), then save it, then cut it and paste it into the appropriate map. Took forever. I loved the control over my lists, but man, it took forever. (This could also be because I’m using a 2-3yr. old M200…can’t wait to upgrade)

    But now we have AO-Parse, and from just using it for a couple of minutes last night, I can tell you that my GTD process has been transformed once again. Now all I have to do is type “Email Joe about Stanford project by this week!”, hit enter, and instantly (well, as instantly as my sluggish M200 can go) I’ve got a topic in the Standford map, with a context of “@Online,” and a due date of this Friday!

    If you live GTD you’ve got to install this.

    I was completely lost until I discovered the installation map located on the AO-Parse Project page. Simply download that and follow the steps along the left hand side of the map. Each topic comes complete with notes and a link to the file you need to download. It’s really simple if you just follow that map.

    Now the only hard part is figuring out all the keywords you’re going to use with your new found GTD powers!

  3. ActivityOwner said,

    February 1, 2007 @ 9:17 am

    Note that the set of tags has been renamed to “MindReader”. The “om”, “aop” and “pct” tags are now “mro”, “mrq”, and “mrc”. These are all available in the GyroQ tag library.

    Instead of downloading the four configuration files, you can run the “mri” GyroQ tag in library to have them created for you.

    Using these tools is finally more of a set of “next actions” rather than a project :-)

  4. Rennie Schmid said,

    October 21, 2007 @ 1:39 am

    Hi ActivityOwner,

    I have found a problem with the m tag. If I try to add a date when a date is already set then the tag deletes text from the branch.

    Try this:

    Create an activity with “Gone with the wind” priority 1 and due on 27/10. I created it using the C Tag.

    Then select the M Tag and enter: “by #30/11#”

    This sets the date correctly but deletes letters leaving “Gonthe wind”



  5. Rennie Schmid said,

    October 21, 2007 @ 2:52 am

    Sorry, I had placed the updated macro into the wrong directory.

    Now I get this error message: ” You need to enter the correct path for the GryoQ program in the MindReader.mmap file” What does this mean? Can you please show me how to this?

    Please note that this error is happening in VISTA. On VISTA I have a F:\My Maps directory while on XP Pro I have a D:\My Maps directory. I sychronise these directories via a USB stick. All my maps a referenced using relative links.



  6. ActivityOwner said,

    October 21, 2007 @ 7:33 am

    Hi Rennie — This bug was fixed in the October 11th version. You can get the corrected version by downloading mindreaderNLP.mmbas to your default mindmanager directory (“My Maps” for most people). The 21Oct version has a fix for your other issue as well (see below):


    The problem was the orignal “q” code was designed to remove #date# from the topic text. The “m” code is acting on the additional text entered, but was still removing the text from the same location of the topic text.

    re: GyroQ directory
    There is a section of code called “Add the Blob” which will mark topics that MindReader hasn’t been able to parse. As part of that it looks to see if the topic has a project or sub-project icon. To do this it looks for the icons in the GyroQ directory, which is usually in C:\Program Files\Gyronix\GyroQ\. If GyroQ is somewhere else, the user can adjust the path in mindreader.mmap in the “options” branch.

    I just updated the code so that it doesn’t bother looking for the GyroQ directory unless the user has the “addblob” feature activated. This should eliminate the problem for you.

    If you did want to activate the addblob feature and you have your GyroQ directory on D:\Program Files\ and F:\Program Files, it looks like you can enter this directory using a relative path:

    ..\..\..\..\Program Files\Gyronix\GyroQ\

  7. MindReader: How to best read your mind? » ActivityOwner.Com said,

    January 18, 2008 @ 1:01 am

    […] turns one year old Sunday. The initial version ("Let GyroQ read your mind") only recognized 13 keywords. Its vocabulary has grown quite a bit over time. As MindReader grows […]

  8. Rob said,

    March 19, 2008 @ 11:39 am

    It would be nice to have the p, b, and a commands either have the initially selected topic remain selected or select the newly created topic when the macro has completed.

    I didn’t see this in the archives. Has this been addressed? If so, could you please direct me to the link.


  9. ActivityOwner said,

    March 20, 2008 @ 8:25 pm

    On my system the newly created topic remains selected. Is that not happening for you? Are you using version or has some selection issues that might create issues.


  10. GTD and MindReader Q&A » ActivityOwner.Com said,

    March 27, 2008 @ 8:37 pm

    […] is where "next physical actions" come in. Although it has evolved to do quite a bit more, MindReader was initially conceived as a way to try to automatically assign "contexts" based on action verbs in phrases going […]

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.