Archive for the 'GTD' Category

43 folders for Gmail

In a previous post I explained how I set up a 43 folders type of system using the emacs mail program mh-e and a bunch of UNIX/Linux shell scripts and crontab entries to be able to file emails away that you don’t want to deal with at the moment, but instead you want them to appear in your mailbox at some time in the future.

In the intervening years, I have moved across to Gmail for all of my mail duties. To get the 43 folder functionality, I used to use email snoozing services like Nudgemail. However, many of these are bait and switch services, where the service is offered free for a while and then they start charging.

There has been a need for a while for Gmail to offer some sort of mail snoozing capability which allows you to schedule mails to return to your inbox, and in July 2011, the Gmail Blog announced something close.  However, this script used a different principle, based on snoozing a mail for X days.

Facundo Bromberg has now come to the rescue, with a script which sets up folders 01-31, and months Jan-Dec, and which is easy to setup and use. You can read the instructions and download the script here.

Processing your mail should be fast, so I set the BASE_LABEL to Z:

var BASE_LABEL = "Z"

When you run the ‘setup’ function (see Facundo’s instructions), it sets up a new set of labels in your Gmail account Z/01, Z/02 … Z/31, Z/JAN … Z/DEC.

To use the system in practice, open up an email you want to return to your inbox on, say, the 27th of the next month, and (assuming you have key shortcuts turned on in Gmail) type:

vZ/27<ENTER>

where

“v” = shortcut key for ‘move from inbox to another label’

“Z/27″ = this is the label I want the email to sit in until it comes back into my inbox.

<ENTER> = hit the ENter/Return key.

Basically I want the email out of sight until the 27th,  when the triggers (which Facundo explains how to set up in the download link)  will move it back into your mailbox on the 27th (either in the current month, or, if the current date is >27th, then at the end of the next month).

I have been using these scripts for around a week now, and they are working really well.

In my opinion, the only sensible way of dealing with a high volume of email in a way where you can file emails away and KNOW they will pop back at the appropriate time is using something like this. Many thanks to Facundo for turning the useful Gmail snooze script into an excellent 43 folders/GTD script.

 

Backup script for ToodleDo

 

Just started using ToodleDo with the GotToDo Android app on my HTC Desire.

There is a rare bug in the app which has deleted all the ToodleDo tasks for a very small number of people. the author of the app is working on a solution at the moment, but in retrospect I should have had a backup plan for this data anyway.

Benny Morrison on the app mailing list sent me a DOS script he used to back up his Toodledo account, and I have hacked it to work under linux (the core functionality comes from Benny – all I did was wrap it up in some linux specific stuff to create the appropriate directories and do some rudimentary checking).

The (short) script is below. I run this from a cron job a few times a day.

Pete

NOTE: script updated 26th July 2011 after ToodleDo redesign

#!/bin/sh
# Script to backup toodledo account
# makes a backup on your local machine and
# sends a copy to a google account of your choice
## CONFIGURATION SECTION
## CHANGE THESE VARIABLES ONLY
#
# Where you want the data stored.
DATADIR=/home/YOUR-NAME-HERE/toodledo-backup/$(date +%Y)/$(date +%m)/$(date +%d)/$(date +%H:%M:%S)
LOGIN="TOODLEDO-LOGIN"
PASS="TOODLEDO-PASSWORD"
# This variable is where you want copies of the backups sent. I use a dedicated gmail account.
ARCHIVEMAIL=ARCHIVE-EMAIL-ADDRESS
#
## END OF CONFIGURATION SECTION
mkdir -p $DATADIR
cd $DATADIR
wget -q --no-check-certificate --keep-session-cookies --save-cookies cookies.txt --post-data "email=$LOGIN&pass=$PASS" https://www.toodledo.com/signin.php
wget --quiet -O Tasks.xml --load-cookies cookies.txt http://www.toodledo.com/tools/xml.php
rm cookies.txt
rm index.php
#
## Check for login errors
if [ -f signin.php ]
then
echo "$0 - ERROR - login not complete.
There is a HIGH RISK that your ToodleDo backup did not complete."
fi
#
## Does the Tasks.xml file look OK ?
if ! egrep -q '' Tasks.xml
then
echo "$0 - ERROR - Problem with Tasks.xml file.
There is a HIGH RISK that your ToodleDo backup did not complete."
fi
## Now mail the file to a google account
/usr/bin/mutt -s "ToodleDo backup - `/bin/date`" -a Tasks.xml -- $ARCHIVEMAIL < /dev/null

org-mode, GTD, and the advantages of merged lists (i.e., context)

David Allen (DA) in Getting Things Done (GTD) talks about the necessity of the separation of projects and next actions.

It’s a good point well made. In the past I have struggled with project pages in a Dayrunner which had merged project plans, meeting notes and next actions. To understand what next action I had to do for that project meant looking in the pages for that project and picking out the NA. Even if coded with an NA in the margin, picking out the appropriate next action from dozens of projects was difficult.

The downside of doing this is that when you have performed your next action, you may want/need to look at the project to determine the next action. Separate project lists and action lists mean that you have to switch contexts – for example between a list of projects in a computer database and a PDA, or a project folder and a Hipster card.

One of the advantages of emacs org-mode is therefore that you *can* merge your projects and actions in one place, but you can also pull out the next actions easily.

In org-mode, all of my projects are a three-star heading:


----------------------------------------------------------
* Projects
** A
** B
........
** S
*** Standards Committee XXX
**** notes of meeting held on March 1st 2009
Present: Mike, Pete, Jim
Agreed xxx xxxx
Blah blah blah.
***** WAITING Mike to review
***** NEXT organise next meeting of committee :Laptop:
Send email from committee site to members asking for availability for meeting.
----------------------------------------------------------

The advantage of this is that when I go to deal with a next action, there is *context* available to me relating to that action – I can see what I’ve done, with whom, etc, and take that into consideration.

It also means that when I complete the action, I am in the right location to decide the next ‘next action’ – again – I have context available to me to help me make an informed decision.

In my view, this still meets DA’s requirements of separation – org-mode can easily produce lists of Next Actions I need to do at my laptop, or all of my ‘WAITING for’ items, but because managing separate lists means switching contexts, it is a smoother, more fluid, process.

Now I do understand that what I am creating here is a data silo in my laptop, which I am unlikely to have with me when I am out and about. I haven’t clarified my thinking on that yet – I also use a Nokia N810 which may be the solution. However, my requirement for context specific lists for things I need to to when away from my laptop (:DIY:, :Shopping: etc) is small enough that I usually generate the list on the laptop before I leave the house and write it down or print out the buffer.

GTD b..y with emacs org-mode

On GTD Times today there is a discussion about Kelly Forrister’s Mastering Workflow seminar, and an illustration of thinking about projects from a…z.

The post describes the project as ‘Z’, and your next step as ‘A’, and discusses how you document any other steps which may need to be done *after* your next action to get to ‘Z’ (i.e., project completion). There are some ideas about where you store these extra ‘next next’ steps.

Because emacs org-mode allows you to turn a heading or bullet point into a next action through a simple key combination (^C^T) I find that something along the following lines works well for me:

* WORK
** Project A
*** DONE Create project costing :Laptop:
*** NEXT Ring Jim to check the costings are OK. : Phone:
*** Check we can fit the project into June/July :John:
*** Hand project over to John
*** Check project progress
SCHEDULED: <2008-6-30 Mon>

As you can see, the beauty of org-mode is that

  • you can store everything related to a project together (which was one of the discussion points in theGTD Times post)
  • both my next steps and ‘next’ next steps are visible to me when I do my weekly review.
  • Only the NEXT action will come up when I use the appropriate key combo (‘^Cas’ in my case, which is one of my org-agenda-custom-commands and pulls up anything which is a NEXT action and which has a work-related tag, such as :Laptop: etc).
  • finally (and this, i think, illustrates why org-mode works so well), when doing the weekly review, if I have made the phone call, I hit ^C^T on the NEXT line to convert it to DONE, and then make a decision if one of the other steps is a next action. If it is, just move onto that line and hit ^C^T. Seamless.

Now the post also discusses the problems with cluttering up your lists with stuff you don’t need to focus on at the moment, but with org-mode this isn’t an issue as you can set up your various filters to show you as much or as little as you want.

mh-e article referenced on GTD times

Oliver Starr over at GTD Times has posted about my mh-e article. ‘Cool beans’ as my brother would say!




Switch to our mobile site