The Consulting CTO

Focus As Context: How I Use OmniFocus

I’ve been using OmniFocus since it was called Kinkless GTD (and I’ve been using GTD for a couple years before that). While I’ve gone through a number of different methods for keeping track of my tasks over the past 14 years—everything from a hipster PDA to Things to custom Tinderbox documents—I keep coming back to OmniFocus. It provides me with the flexibility I need to manage my work no matter how simple or complex my life is at the time. And it provides fast, end-to-end encrypted syncing across devices which given the level of general surveillance we are all under is something I consider table stakes for any software I use to store private information.


One of the things that people consistently find challenging when adopting GTD is how to effectively use contexts. Hell, I’ve gone through periods where I didn’t use them simply because managing my work was primarily time-based, and it all came down to being @work or not.

These days, I use contexts to organize tasks by my level of energy and focus. I originally picked this up from Sven Fechner, but I’ve since adjusted his approach for my own use by treating energy level and time somewhat interchangeably. I have three primary contexts (now tags in OmniFocus 3): Quick, Thinking, and Focused.

Quick tasks are just that—quick. Examples include everything from dashing off a quick invitation for coffee to paying a bill online. My Quick context roughly corresponds to manager time.

Thinking tasks have more variety in both content and duration. I am a big proponent of hammock driven development, the idea that you often need to get away from the keyboard and quietly think things through. I might tackle a Thinking task over a whiskey or a long walk. Examples include “Think through your positioning”, “Consider the best deployment approach for [service]”, or “Research Tendermint”.

Focused tasks are for anything that’s going to require a few hours of focused effort (usually after I’ve already thought through what I need to do). My Focused context roughly corresponds to maker time. I just sit down and crank through tasks.

In addition to the three focus-based contexts, I have five location-based contexts: Client, Home, Errands, Grocery, and Priv. Home is the only one tied to an address at this point (which is handy for notifications to pick up my laundry when I get within a block or two of my apartment). Priv is a meta context that simply denotes privacy for tasks where I don’t want anyone to be able to read over my shoulder. (I originally started using it when I was regularly writing performance reviews or reviewing company financials in an open plan office.)

Lastly, I have a Calls context which is reserved for calls I need to make but haven’t scheduled. (Otherwise, the call is on my calendar).

The thing that has driven the shift in how I use contexts (and GTD) over time has been the increasingly widespread availability of wireless broadband. I remember when I first started using GTD, I had an Online context, as I was regularly working entirely offline. Nowadays, I’d be more likely to have an Offline context except that if I’m offline, I’m probably device free for the day.


I typically adhere to orthodox GTD here—a project is anything that requires more than one step to complete. I do have some standing single action projects—Business Development, Accounts Receivable, Networking, Audience Building, Open Source, Miscellaneous, and Bills & Banking. However, I typically prefer my projects to be more focused.


Specificity matters in writing next actions. I always start tasks with an action verb: “Add”, “Build”, “Schedule”, “Write”. I do the same with my projects. This post does a good job of summing up my approach to writing next actions.

Custom Perspectives

Custom perspectives are where OmniFocus really shines. My dashboard for the day is my custom Today perspective which picks up any due or flagged tasks and organizes them by context:


However, now that OmniFocus 3 has introduced a way to show tasks in the Forecast perspective’s Today via a designated tag, I may rethink whether I need a custom Today perspective. OmniFocus 3 has also introduced far more flexible filtering for perspectives, but I haven’t taken the time to play with it yet. (Maybe I need a Yak Shaving context as well.)

I’ve also created a few diagnostic perspectives that I don’t typically use daily: Added, Changed, and Catch Up.

Added and Changed are useful if you need to manually sync up with an outside service like Basecamp (though I imagine it may be possible to automate that with some deft AppleScript).



Catch Up is for anything that I’ve previously deferred but not completed. It’s an aging bucket of sorts—a way for me to evaluate whether I’m procrastinating on a task or not.

Catch Up

Over the years, I have read a lot about applying OmniFocus, and I may very well have borrowed or adapted something in my approach above from other users. If I’ve failed to properly cite someone, my apologies. And if you would like to learn more about OmniFocus, I consider these two sites essential reading: Using OmniFocus and Inside OmniFocus.

All that said, keep in mind that GTD and OmniFocus are tools, but the goal is productivity. I enjoy shaving yaks as much as the next engineer, but if you can’t state clearly what your next action is, head to the hammock or take a long walk. OmniFocus is where you capture your thinking, not where you do your thinking.

Get the latest posts from The Consulting CTO