My GTD Setup

I have posted a lot about a few of the scripts and tools I use but I wanted to wrap this up in order to give a consolidated overview of the tools and little life hacks that I am using on a daily basis. So maybe some of you find this interesting.

OmniFocus for Mac:

On the Mac, I use OmniFocus which is the tool that fits my needs the most. I have tried Things and it would be my 2nd best in the list but as of now, I prefer OmniFocus for a number of reasons.

I have a number of contexts such as :

  • Office
  • HomeOffice
  • Home
  • Errands
  • Car
  • Phone
  • a few others…

In addition I have projects which I group into personal and work related. There are quite a lot of tutorials and infos out there for OmniFocus which is why I dont want to spend too much time on this topic. If you are interested, leave a comment and I might go into more detail in a follow up post.

IMAP inbox + mail rule:

I have a dedicated IMAP inbox which I use to quickly post new tasks to myself. This inbox is hooked up with my modified OmniFocus Mail Rule so every mail I send to my todo account will automatically be added to OmniFocus once I turn on my Mac. I use this feature mainly when my mac is not around or also when I am on my iphone.

OmniFocus for iPhone:

On my iPhone I also use OmniFocus for iPhone sometimes. While I have paid good money for it I am not happy with it (I am actually working on an own iPhone app that will let me do similar things). The reason why I am not very happy with it is that its ridiculously slow. I mean it usually takes 20 secs or more to start the app and around 2 minutes to synchronize which makes it pretty much a deal killer for me. Anyhow if you can live with the delays then IMHO its pretty much still the best GTD app on the iphone so far (at least when considering the good integration with the desktop).

So when I just need to quickly capture a new task then I usually only use the email rule mentioned above. However, when I want to see what I have to do or organize some of the tasks on the go, then I take the time to launch OF on the iPhone.

Entourage script plugin

At work we use Exchange so until Snow Leopard is out I am stuck with Entourage on the Mac (which is the least terrible of the Office:mac apps but that does not say that I am happy with it 🙂

Unfortunately Entourage does not support the quick entry feature (since MS does not know how to write Cocoa apps) I have to resort to my modified Entourage script plugin. With this one you can assign a hotkey combination and whenever you hit it, it will add the selected mail to your tasks which is very nice.

So thats about it, I hope this will help whoever is interested in doing GTD on a Mac.

4 Gedanken zu „My GTD Setup“

  1. Regarding the iPhone OmniFocus App I have felt your pain. However, the program is getting better. I have switched my sync preferences to use Bonjour, which has helped tremendously in sync time.

    Also OmniFocus on the iPhone allows you to add inbox items while it is still loading. That was a needed improvement, because it was too painful waiting for OmniFocus to boot just to capture a thought, or task to your inbox.

  2. Hi Tom, regarding the add inbox feature, I already know about that but its so much faster to just send an email to my „todo“ account. There is simply no comparison (also, especially for quickly capturing tasks you probably should not shut the app down once you are done but wait until the app is ready, no?). Also, in this day and age its simply not excusable for the app to start that slow even with not too large databases.
    I believe that the main problem is that OF reads the whole task database into RAM before it will allow you to do anything rather than using sqlite databases. As long as you are on a PC that (OF for Mac) that is doable, on a mobile phone (at least until we have 1GB of RAM and a dual core CPU in our phones) this just does not fly. Even if Omni manages to tune the app here and there, the concept does not fit a phone.

    I really think that they reconsider their design decisions.

    Regarding the synching times, I know what you mean but its just so much more convenient to not have to manually sync the app before you leave office but just rely that your data is on the cloud. That’s the thing that makes the app really useful.

    I would rather have Omni to offer some server product that you could run somewhere (maybe a mysql php solution so that also users without a root server will be able to run it). Then this sync server could do proper synchronization instead of copying files back and forth.

    Another approach is to do it like I did it in my Android GTD app where I use an IMAP account for synchronization.

  3. Rainer,

    I’m not sure why OmniFocus for iPhone is consistently taking that long to load for you: OmniFocus usually launches for me in under ten seconds (often 5-6, about the same speed as Notes), and I have thousands of tasks in my database.

    One thing that I know can be slow is when OmnIFocus has to rebuild its database from scratch because it syncs a transaction that predates the cached state in its database, but that should be rare. Since you’re a programmer, let me go into a bit of implementation detail…

    OmniFocus already does cache all its tasks in sqlite for fast access (as you’ve suggested). But it also stores transaction files detailing each change it makes to the sqlite database, so that it can incrementally sync those transactions over the wire rather than rescanning the entire database each time it syncs. When it syncs a transaction which is newer than the current database, it can simply apply that transaction’s changes to the database as if you had made them locally, and this common sync operation is very fast.

    But when OmnIFocus syncs a change which is older than the current database, it needs to re-sequence the transactions to get them in the right order (so that newer changes will always take precedence over older ones, otherwise your different systems will start to have different views of their data). Right now, OmniFocus does this by replaying the entire set of transactions from scratch to rebuild the database.

    We have several ideas which could make this faster, we’ve just been focused on getting basic syncing working first: One idea would be to take periodic snapshots of the database, so that when OmniFocus syncs an out-of-order transaction it doesn’t have to start over from scratch: it can just find the most recent snapshot preceding that transaction and replay the transactions starting from that snapshot. Another idea would be to pay closer attention to which objects were actually modified by each transaction, and if there isn’t a conflict in a newly synced transaction we could safely apply it knowing that the order doesn’t matter. Or we could replay the transactions into a new database in a background thread without interrupting the user, then swap over to the new database after the work is done.

    Now that the GM of OmniFocus v1.5 for Mac has shipped, we’ll have a little more time to explore some of these other approaches!

  4. Hey Ken, thanks for that explanation. I personally have no clue why OF is so slow for me. I have once rebuilt the database with instructions from the forums in order to make it faster (was using a lot of the beta versions for what was 1.1 back then). However, I havent done so for a while (partially because it was stated that newer releases should have done so automatically).
    Maybe I should try that (my file on the DAV server is 1MB which sounds rather large).
    In any case if you wanna research what is slowing it down then be my guest 🙂 I would be willing to provide you log files or whatever you need in order to find out what the problem is.
    I know for a fact (and I am sure you do too) that there are some people who complain about speed issues especially in app startup and synching.

    Reading your explanation it all makes sense however, I am not sure how it can happen that the dates get mixed up. My usual scenario is to have OF for Mac on all the time and then just standby the computer, leave the office and then sync on the iphone. So one would think that in such a situation there would not be a chance for clashes. Another scenario is that I am in a meeting while OF for Mac is running and I would do a sync while away from the desk (thus I wont be making changes to my tasklist either).

    Regarding ideas on how to make it faster: Why not offer both WebDav (which I currently use) AND bonjuour synching? So I could synch when I think of it over bonjour and then in case I forgot, I would just need to wait a little longer and synch over DAV.

    That would probably solve most of my synching complaints.

    In any case I find it very encouraging that Omni takes the time to read my comments (and I guess a lot of other peoples comments too). Keep up the good work!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.