On walkabout in life and technology

Omnifocus My Way

I’ve been using OmniFocus as my primary tool for task management for years, yet I never read the GTD book. How I chose OmniFocus is a topic for another day, how I use it my way is the topic for today. Maybe some of the alternative ways I use it can improve the way you do too.

My World

I’m a software designer, developer, project manager and part-time writer. I work at a Hedge Fund by day, run my consulting firm at night, write this blog and have a personal life. As of writing this post, I have 260 active line items in OmniFocus. That is a lot of things to stay on top of.

But with a bit of structure, a taste of discipline and a comfortable workflow, OmniFocus helps me stay on top of all of these things.

Area Folders

I divide up my life by my world. Which means the first level of all my OmniFocus tasks is the in the Projects tab. I have top-level folders for each of the four areas of my life I manage in OmniFocus: Personal, Maritime (work), Noverse (consulting) and Hiltmon (here).

This breakdown allows me to separate and focus on the tasks in the area of my life I am in now. As of writing this, I am focussed on the Hiltmon area. As soon as I post this, I will move focus to my Personal area. I use the OmniFocus Focus button a lot.


Given that I have a Project Management background, to me almost everything I do is part of a larger project. Whether it’s the multitude of applications to design at work, my consulting clients to support, or bigger ticket items in personal space, they are all projects.

I create all of the projects that I am involved in within each area folder. In my mind, all tasks are assigned to a project. Larger tasks are broken down into sub-tasks, but I do not go into too much detail with these. That happens when I am doing the task.

I also create a few ‘special’ tasks in each project:

  • The Project Ideas task is used to capture (as sub-tasks) thoughts and ideas on what could be done but is not planned, yet. I do not want to lose any ideas no matter the source while I am working on the project.

  • The Project On-Hold task is for sub-tasks that have been placed on hold, but we may still get back to.

  • The Project Later task for sub-tasks that I have intentionally deferred until later versions of that project.

These special tasks often fill and empty during project reviews and meetings as we reschedule what we want to do on each project. I also sometimes have a general Ideas, On-Hold and Later project in each area for nonexistent project related tasks.

Finally, each area folder also has a Single Actions List for those random once off tasks and a Routines Project for the routine tasks that happen over and over again. Tasks from monthly reports to backup reminders to billing cycles appear in the Routines Project for each area.


The way I understand it, contexts are where a task needs to be performed or with whom. Since almost all that I do can be done on my laptop, most of my tasks can be done anywhere. Traditional GTD contexts make no sense to me.

Instead, I use contexts as tags, for prioritization and for assignments.

My top five contexts (after No Context) are my prioritizers. I had tried priority levels and colors before, but it added complexity. What’s the difference between a priority 3 and a priority 4 task when the levels are arbitrary?

I use a UI / NUI / UNI / NUNI / Chase / None model for prioritization as follows:

  • UI: Urgent / Important tasks are the ones I need to get done first for each project, in any order.
  • NUI: Not Urgent / Important tasks come next, often because they are dependencies on other tasks.
  • UNI: Urgent / Not Important tasks follow these. To me, they are the tasks that I should be getting on to next once I have the important stuff completed
  • NUNI: Not Urgent / Not Important tasks seem like the rest, but they are not. I treat these as tasks that have an elevated priority over the No Context tasks
  • Chase tasks are special tasks to remind me to chase people for information or deliverables. They sit outside the regular prioritization scale because I review them independently in my workflow (and have an OmniFocus perspective for these)
  • All other tasks have No Context. They are not prioritized as yet and may remain so for some time.

I have left the default contexts (and a few old ones) in place for now, but plan on removing them soon.

I have a special case for task assignments. I use the People context. For example, if I assign a task to Londo Mollari, I set the context to his name. When I sit with people I have assigned tasks to, I can look at just that context to see and track what they are doing. Note that this does not indicate who I am doing a task with, the traditional context interpretation, that information appears in the description.


According to the manual, contexts are also used for indicating who you are doing or discussing a task with. In my case, since having a person’s name in the context implies assignment, I need another way.

That way comes from old habits. I use a person’s initials or a company’s short name in the task description itself, and then use OmniFocus' search to find and filter tasks by these when needed.

For example, if I need something from Satai Delenn, I will create a task like “Get TPM report from (SD)”. If I assigned the TPM report to her it would have her name as context instead. A search for SD) would find all the tasks I need to do or discuss with her.

The reason I bracket the initials of a person is because I use the same TextExpander snippets for people as I do for key marks (see the end of Assembly Notes). It’s really just a habit now.

Another example use of initials would be to track requests from people. If Satai Delenn had asked for feature X, I would create a task in that project called “Implement Feature X (⨍/SD)” to mark it that the feature request came from her. The same search above would remind me to update her on that feature’s progress.


I put in due dates for tasks that have deadlines, whether I assign them or not. Most of my tasks do not have these though, as they are either dependent on other tasks or not yet prioritized. As of OmniFocus 2, I have also started adding defer dates for tasks I do not want to even look at until then.

I used to put in due dates on all my tasks, just as a project manager puts in task end dates into a Gantt chart. But since OmniFocus does not have task dependencies, delays in one task do not affect another. Which meant that I often had to bulk-change due dates as things changed. Which also meant that due dates lost their meaning and just became a chore to maintain. Nowadays, I only assign due dates to tasks where an explicit deadline is set and there are no dependencies.


I rarely use the Inbox. Instead, I capture tasks as I hear about them either into OmniFocus directly if the window is visible, or using the Quick Entry box. Since I know what the project is at the time of capture, I find it easier to tab to the project field and fill that in while I am capturing (or click on the project first).

I did try for a while to capture to inbox as the manual says, but my inbox got so messy that I stopped. I still have to clean up later, but at least I can do it project by project.


I also use the notes feature extensively and in many different ways, for example:

  • For Asana tasks, I paste in the Asana link so I can get back to it later
  • For emailed tasks, I paste in the email body
  • For chase and follow-up tasks, I use notes to track when I chased or followed up (using a TextExpander snippet to put in the date)
  • For assigned tasks, I use notes to track discussion on that task with the assignee until it’s completed
  • And for other tasks, I often add ideas, thoughts or an explanation in case the task description was too cryptic


I did not perform a regular review in the OmniFocus 1 days, but since starting the OmniFocus 2 beta with it’s new Review perspective, I have come to enjoy that too.

For me, the review time is a weekly task to go though each project and make sure that nothing has been missed. I use review time to tidy up badly written task descriptions, close those that I completed, re-prioritize tasks, add or change due dates and jot down notes as I think about each project. The new Review perspective makes this process easy.

Daily Flow

Before OmniFocus 2, my daily flow was to start in the project I wanted to work on and get going with the highest priority tasks. This worked well when I only had a few projects on the go, but I have a lot more on now. I need to stay on top of all of them, not just the current one.

Since OmniFocus 2, my daily flow starts in the excellent Forecast view. I can see the overdue tasks that I have missed, tasks due today, upcoming deadlines, and my calendar so I can figure what I can get done. I flag the tasks I think I need to tackle. I then visit all my ‘hot’ projects to see if there are tasks I need to tackle today for them too (since most of my tasks do not have due dates) and flag those.

Finally, before kicking off the day, I click to my Chase perspective to see who I need to call to chase up today.

The rest of the day is spent working, clearing flags, capturing new tasks as they happen and glancing at the Flagged perspective to see what else I need to be doing. This keeps me on track.

I do it my way

I do not use OmniFocus the GTD way (at least I do not think I do given that I have not read the book). I do use OmniFocus the way that works best for me.

OmniFocus and this my way workflow ensures that I never forget a task, a commitment or an action, mine and others. It keeps me focussed on what I need to be doing now. It reminds me what to do next. It helps build an agenda for what to discuss with people, and what was talked about before. It helps me know what was done and why.

Without it, I could not manage the myriad of projects, tasks, actions, commitments and reminders I deal with every day. And to make things even better, OmniFocus 2 evolved towards my way and added ease of use and features where my way needed it the most. I am sure that for many of you of you, the GTD way works well. For others, you have your own ways to use OmniFocus. This was mine.

Follow the author as @hiltmon on Twitter and @hiltmon on App.Net. Mute #xpost on one.