GyroTimer — Track your Time with GyroQ

Here is a GyroQ application that might find its way into your top 20 uses of GyroQ. Do you need to track your time on projects or areas in order to maintain personal balance or for reporting purposes? Perhaps GyroQ can help…

Lacking the discipline such a tool might provide, I spent a bit too much time this morning exploring the capabilities of the GyroActivator language used by GyroQ. Having successfully set up a short script to time ResultsManager dashboard creations, I realized that GyroQ might have enough functionality to provide basic project time tracking capabilities. Sure enough, I found it only took 21 narrow lines of GyroActivator code to achieve this!

In the past I have not seen time-tracking utilities as being accessible or flexible enough to bother using, but given the daily proximity of GyroQ and MindManager, I thought this approach might have some potential. “GyroTimer” — for lack of a better name — consists of two GyroQ tags; one for beginning work on a project, and one for finishing.

Installing the GyroTimer tags

Go to the ActivityOwner.Com GyroQ Tag Library and paste the two “Packed” text strings for beginning and ending project tracking directly into your GyroQ dialog box. This will automatically install a “begin” and “end” tag at the bottom of you tag list. You need to have the Developer Edition of GyroQ and have the extended tag option enabled.

Using GyroTimer

  1. Toggle GyroQ to the “gts — Begin Start Timing Project Activity” tag and enter a project or “area-of-focus” entry in the GyroQ dialog box.
    gyrotimer begin dialog box

  2. Hit enter, and you will be prompted to choose the project you wish to track. Whatever you entered at the GyroQ prompt, will be the first option in the drop down list, followed by the “Area” list from ResultsManager if you have it installed.

    gyrotimer choose project dialog box

  3. Stop fiddling with GyroQ and go do some real work!
  4. Send the queue to MindManager if needed for other purposes or wait until later.
  5. When you send the queue to Mindmanager, it will create or open a map called “TimeLog-name”, where “name” is your ResultsManager %me% or MindManager name (in order to avoid collisions with other in multi-user directories). It will create some entries to capture your start information. Be patient as GyroQ is slow and methodical in interacting with MindManager. If you disturb it, it will pause the script (you can restart it in the system tray). The code can be modified to change the destination map (e.g. your map central), but give it some testing first.
  6. When you are done working on your project or area, toggle to the “gtf — Finish Timing Project Activity (enter comment)” and enter a comment.
    gyrotimer end dialog box

  7. Continue to begin and end projects and queue the information into GyroQ.

As you send the queued information to MindManager, your time tracking information will accumulated in a “Time Log” main topic.

gyrotimer time log map

The log in the note can be pasted into Excel and parsed to total up time information.

gyrotimer time log

The time entries are only accurate to the minute, so your GTD “2 minute actions” will be +/- 2 minutes :-). The tags are not error trapped, so you should try to finish what you start and start what you finish (good advice in any case). If you mismatch a start and a finish, you will need to edit the Topic note a bit before importing to Excel. Given that you will be manually analyzing your data in Excel, you have a lot of flexibility in cleaning up or augmenting the data if needed vs. using a canned program for this purpose.

How it works
The GyroActivator Language is very interesting. On the one hand, it feels very sparse with what seems like only a handful of commands and no traditional control structures. To top it all off you only have one “temp” variable to work with for storage! This forces you to really think about how to keep your code tight and how to make best use map attributes like topic text, topic notes, labels, categories and the clipboard. What I’ve found is that the “select” and “create” functions work together in ways that provide surprising power and functionality. Basically you first try to select something. If it doesn’t exist the subsequent create function puts it in place. If it does exist, the create step is skipped.

In this case, a fair amount of project tracking functionality is obtained with only 21 narrow lines of code. See the tag library for details. Note that the “end” tag has some unnecessary “create” statements to avoid crashes if “finish” happens to be run before the first “begin” tag.
What’s Next
Adding tags to put time and date information in manually might be handy. Perhaps MindManager’s Excel linking capabilities can be leveraged. It would be handy if Gyronix could add the option of pre-populating a default into the dynamic input fields. I think they are looking at it for the future. For me the goal will be to have less “Blog” entries for awhile :-).

Give it a try and see how it works for you. Please don’t burden Gyronix with tech support inquires on this experimental code. Just post here with questions or send email to


  1. ActivityOwner said,

    October 28, 2006 @ 8:55 pm

    I made a few simplifications to the tags initially posted (33 lines down to 21), so if you were an early arrival at the blog, you should re-import the packed code.

  2. ActivityOwner said,

    November 1, 2006 @ 9:17 pm

    A user found a few bugs in the initial code which have been fixed. The version currently posted should wrap lines better and be more Excel-friendly.

  3. ActivityOwner said,

    November 2, 2006 @ 10:10 pm


    for an updated version of the program and comments on how the code works.

  4. Log Events into MindManager Maps using GyroQ » ActivityOwner.Com said,

    May 16, 2007 @ 9:23 pm

    […] to compile an event log using GyroQ. He suggested using an approach analogous to that used by GyroTimer and even provided a mockup of what he is looking […]

  5. ActivityOwner said,

    March 5, 2009 @ 9:45 pm

    Note that these tags have been updated in the GyroQ tag library to be compatible with GyroQ 2.0.

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.