Time-bound contexts in OmniFocus

OmniFocus Workflow and Notes


My Task Management System is distributed over two applications:

  1. OmniFocus is my Grimlock
    • Powerful
    • Slow
    • Sometimes hard to understand
    • Task Examples:
      • Long-term
      • Goal-based
      • Project-orientated
  2. Due. app is my Jazz
    • Fast
    • Dependable
    • Classy and thoughtful implementation
    • Task Examples:
      • Repeating reminders
      • Reminders of OmniFocus tasks
      • Same-Day, or Next-Day single action tasks

Honest Notes

  • I don't love, or enjoy using OmniFocus.
    • I started using it because I respect Merlin Mann . It was amazing five years ago.
    • The application has not aged well (Damn you, iPad or Bust).
  • One-size-fits-all applications are never a good fit for folks with ADHD.
  • 'Optimizing Database' always pisses me off.
  • I stopped recommending it friends two years ago.

Project Structures

  • Rituals – Repeating Tasks / Projects.
    • Checklists – A group of single action lists for repeating tasks.
      • Weekly Repeating Tasks
      • Bi-Weekly Repeating Tasks
      • Monthly Repeating Tasks
      • Quarterly Repeating Tasks
      • Annually Repeating Tasks
      • Miscellaneous Repeating Projects – Projects for refilling ADHD and Ankylosing Spondylitis medications.
    • Family – Projects involving my family.

    • House – Projects involving the house.

    • Thesis – Projects involving my Master's Thesis [1] .

    • Knowledge Foundation – Projects involving learning.
      • Projects for creating and reviewing outlines of reference material that might be asked on job interviews.
      • Projects for learning a new API.
      • Projects for learning a new programming language.
    • Personal – Personal Projects.
      • Programming projects.
      • Tetris pattern analysis.
    • Stack – A bucket for single action lists that contain non-repeating tasks.
      • Scratch – My default single action list. I allow a maximum of 15 tasks to live here.
        • A script alerts me when when the list becomes too long.
      • Shopping List
        • I have scripts to duplicate shopping tasks to shared family lists in the Reminders App .
        • An additional script syncs completed tasks from Reminders to OmniFocus.
      • System AdjustmentsThoughts on how to improve my system. 95% of what I capture is horseshit.
      • Discussions – Reminders for items I want to discuss with an individual that are not related to a project.
      • Projects to Plan – Complex projects which are still in the planning phase. Planning is usually done in OmniOutliner or iThoughts.
      • Templates – A folder of often used project patterns.
    • Someday / Maybe – A bucket for fuzzy and possible projects. I find that a 24 hour cool down period allows me make better decisions. Most of what ends up here is deleted within a week. (I have bad ideas out the ying-yang)
      • Possible Family Projects – A single action list for possible family project.
        • Items are not allowed to live longer than two weeks.
        • Default Status: On Hold.
      • Possible Personal Projects - A single action list for my side projects projects.
        • Items are not allowed to live longer than two weeks.
        • Default Status: On Hold.

Context Structures

The Contexts

  • People – A top-level context. Nested Tags include groupings, individual people and ' Waiting For … '.
  • Communicate – Calls, emails, SMS, IM.
  • House – A top-level context. One nested context: Lawn/Outside.
  • Staring at the Wall – A bucket for any task involving thinking, planning, outlining, mind-mapping, organizing, or staring at the wall. Sometimes staring at the wall for an hour will prevent madness.
  • Morning – A bucket for tasks best done first thing in the morning. Usually coding or technical writing.
    • Start Time: 06:00.
  • Afternoon – A bucket for tasks best done when I'm starting to get tired, burnt out or stupid. Usually research and administrative tasks.
    • Start Time: 13:00.
  • Evening – A bucket for family or personal project tasks that I can complete while half asleep.
    • Start Time: 17:00.
  • Errand – A top level Context. Nested contexts include a variety of stores.
  • Ask Again Later – A bucket for any task or project that has become fuzzy.
    • If I'm not 100% confident about any aspect of the task / project, I invoke this context and let it simmer until the next review. This is a core part of my system.
    • Default Status: On Hold.


  • I work at home. Half of my week is spent caring for my son, the other half is spent working on my Master's Thesis.
    • I am always near a computer.
    • If I don't have internet access, I have larger things to worry about.
  • Call them what you will, but contexts are nothing more than an axis used to further constrain the view of available tasks.
  • Ask the question: What is important to me?
    • My family
    • My work
    • Not fucking around with OmniFocus' tasks fields
  • I have three scripts which assign start times to my tasks if:
    • They have a start date.
    • They are assigned the Morning, Afternoon or Evening context.
  • I rarely know when I'll be able to work on a task when I process my inbox.
    • If I assign metadata now, I'm wasting current and future time.
    • Assign the task to a project and move along.
  • Benefit: This forces me to actually review my lists. Daily.

It doesn't get easier than this:

Keep in mind: Afternoon and Evening only appear at their start time
Keep in mind: Afternoon and Evening only appear at their start time

NB: A well defined task naming scheme coupled with search is great for grouping similar tasks on the fly.


  • Big Fucking Deals – Family and house tasks.
  • Core-Flagged – From Creating Flow With OmniFocus.
  • Checklists – Focuses my Checklist folder and groups by context.
  • People – Focuses my People context and Communicate context and groups by context.
  • Scratch List – Focuses my my multiple Scratch lists.
  • Shopping List
  • Staring at the Wall – Focuses Staring at the Wall context in project view. Shows any status.
  • Stalled Projects
  • Purge Completed Ritual Tasks – I don't need to archive the same task multiple times.
  • Neutral – From Creating Flow with OmniFocus.

External Support


  • Do it the same way, at the same time.
  • The following are stored as OPML, so they can be opened by OmniOutliner, CarbonFin, or iThoughts:
    • Goals
    • Out of Scope
    • Morning Review Checklist
    • Evening Review Checklist
    • Morning House Checklist
    • Evening House Checklist
    • Leave the House

Launch Center Pro

  • OmniFocus Group
    • New
    • New item + clipboard
    • Discuss with my wife
    • Plan new project
    • Call back
    • Research And Questions omnifocus:///add?name=R%26Q%20%E2%80%94%20
    • Research + clipboard
  • Way of the Future Group
    • Big Fucking Deals
    • Next Actions
    • People
    • Core-Flagged
    • Checklists

Cascading OmniFocus Tasks

Update: I now use Due. app for this purpose .

  • OmniFocus tasks can create additional task by adding an OmniFocus url in the note field.

  • This is helpful for tasks that have an irregular repetition frequency.

  • In the first example, I complete the task if I don't need to sweep the porch. If I do need to sweep the porch, I click the URL then complete the task.

  • The second example extends the concept and will eventually create two additional task by URL

    • Check if the porch needs to be swept
    • Do step one of project x


This is not a complete list … Things get a bit creepy


  • My Scripts
    • Assign start times scripts

    • Assign task Large Chunk (4 hour estimate)

    • Assign task short dash (10 minute estimate)

    • Send OmniFocus Task(s)Task to Due. app

    • Send OmniFocus to Reminders
      • Shared shopping list with my wife
    • Send OmniFocus Task(s) to OmniOutliner

      Task Name
          URL (if any)
          Task note
    • Send OmniFocus Task(s) MindManger

    • Send OmniFocus Task(s) to Task Paper

      Task Name
          URL (if any)
          Task note
    • Send OmniFocus Task(s) to nvALT

      Date:       YYYMMMDDD_HHMMSS
      Project:    OmniFocus Poject URI
      # Task Name
      Task note
      IF URL:
      Source: URL
    • Send OmniFocus Task(s) to Clipboard formatted as Markdown URL

  • Other Folks Scripts

Keyboard Maestro

OmniFocus Perspectives Keyboard Maestro Pallet
OmniFocus Perspectives Keyboard Maestro Pallet
OmniFocus Export Keyboard Maestro Pallet
OmniFocus Export Keyboard Maestro Pallet


  • Launch Morning Review Checklist
  • Launch Evening Review Checklist
  • Launch Weekly Review Checklist