Handling single tasks that take a long time?

How do people deal with tasks that they want to do, but take multiple days.

For example:

  • Learn to Program in Python


  • Organize garage

These are things that could take days, weeks or months. They are not necessarily multi-step projects, they just take a long time. I could literally fill up Omnifocus with tasks like that, but they would be like sore thumbs that would stick around and clutter things up (but I still want to know what I’m working on!)

Any assistance with possible strategies is greatly appreciated!

1 Like

I"d just skip entering it into OmniFocus and set up calendar appointments. I have an appointment set to 4:30 pm near the end of the work day to do my end-of-day daily review process.

If it’s not on my calendar schedule, I probably won’t get it done.

I can do it for other things like daily Bible reading (10 minutes), clearing my inbox (15-20 minutes), checking email (30 minutes), or whatever task you want. Set it to Mon/Wed/Fri or just Saturdays, or whatever schedule you want.

I use OmniFocus to store one-off tasks and projects that can be done at any time. But I put an appointment to work on a big project.

Checking off my “learn to program in Python” doesn’t do the trick and doesn’t gave me a dopamine hit. I just schedule work I value every week and just get to it.

if you really want to chip away at a long task in OmniFocus, I would set a task to repeat every day. When I finish the task (learning Python), I’ll delete it and continue to the next action.


Thanks. I was thinking along the same lines, but was not sure how other people handle it. I asked Peter Aikees he mentioned that “Learning Python” is a goal, not a task and probably should not be in OF. Makes sense I suppose.

These are hard projects to deal with. You need motivation, commitment and creating a habit to achieve your goal.

Reminders do not usually help much in this case.


When I have a task where the work spans multiple days and there’s no logical way to break it down into distinct sub-tasks, I use a recurring task. When I do the work for today, I mark the task and it disappears from today’s to-do list. But because it’s recurring, it magically appears on tomorrow’s to-do list. When all the work has been done, then I simply delete the recurring tasks.

The debate of tasks versus goals aside, there simply are tasks that take a long time to do, maybe just two days or maybe a week of days. Examples:

  • pulling the weeds from my lawn
  • reviewing a long document for someone
  • carving a wood sculpture with a chain saw (I don’t really do that)
1 Like

I describe these kinds of things as a series of next steps: learning Python isn’t one thing (and it’ll never end), it’s a series of exercises, classes, books, pieces of projects, etc.

Cleaning out the garage is either a Sisyphean task where you could set up a daily reminder to chip away at it, or you could define which organizational subtasks need done – organize X shelf, or draw out a plan (if that makes sense), buy a bench, sort through some related pile of accumulated stuff for donation, etc.

I also keep separate projects / goals / ideas outside OmniFocus (text files, for me) when I’m not going to realistically tackle them in the immediate term or when they’re not well-defined.

For myself, I do sometimes fall into the trap of over planning at the expense of actually working, but not by a big margin. Getting more (I’d say appropriately) granular with task definition works for me, being more motivational than time-wasting. Mostly.

Here are my two cents, but first I’ll say that @wilsonng’s calendar recommendation and @koterski’s repeating-task concept are essentially the two approaches that I use depending on “the thing” that I’m trying to do.

I’m in the school of thought where I keep everything in OmniFocus (or my calendar). The types of things that you are using as examples would seem like projects to me, so I’d break them down if I could. I’m learning Koine Greek right now, which is analogous to learning Python. I have a project that breaks down all the steps that I need to do as I work through the grammar, lectures, and exercises. That makes sense, but sometimes it’s more overhead than you need. Breaking the garage cleaning effort into a multi-step project may be too much. That might just seem to be an appointment in the calendar, but I might start with a task in OF to “schedule time to clean the garage,” so I have something there if I’m not ready to schedule it just yet.

Another example is reading a book or doing some other thing that’s quasi like a project but that you don’t want to manage as a project. I don’t want to create a project listing each chapter of the book (or each group of 20 pages) I’m reading as a task to complete. So, i use @koterski’s repeating task method.

Lastly, there are some kinds of things that you have to do that require you to invest time and those little investments of time ultimately move the thing to completion. In my system I call those “MIFs” (Move it Forward). Those are repeating tasks that keep these items on the forefront of my mind that might otherwise get neglected. The tasks are not set to a due date, but are repeating. So, when I have free time, instead of watching a bunch of random youtube videos or scrolling Twitter, I can make progress one of these other things that is important to me.

Okay, with all of that, you still have what @wilsonng wrote or what @koterski wrote, with an ever so slight variation on these theme.

Nota bene: I had only focuses on @wilsonng’s calendaring method, but he also included the repeating-task method, too.

I suggest you to break such large tasks into smaller and concrete chunks, such as Learn classes declaration, Learn modules importing, etc. and put them into a Project such as “Python OO” etc.
That makes a task such as learning a programming language less foggy.
After all, how can you tell you’ve mastered completely the Python language so that you can check the task and forget it? I believe it takes a lifetime, or more.
Everything can be broken down to smaller components, to an atom level. But after a while of dissecting things, the project management becomes heavier than performing the actions it tries to manage.
The purpose here is to simplify.

I create a repeating Task that has a defer date/time of when I want to next consider working on it.

For example, I have a long-running Service Design task which I want to keep chipping-away at.

I created a Task “Progress with Service Design for XYZ”, set the Task to repeat every two days with a defer time of 10am (so I can get my regular morning Tasks out of the way before it comes back onto my list).

I can then Skip it or Defer it if I don’t want to work on it that day, or do some designing then complete it, for it to pop up again in a couple of days time.

Pretty much as others have said, with something like “lean Python” it’s a project, tasks are things like “source python learning material”

I keep a SAL called “engaged” where I keep reminders for each of the three projects I am working on such as “check in with Python project” that’s it when I have done that I may decide to go all in and spend an hour or two on it or I may stare blankly at the screen, depending on other factors. Either way I can tick off the task as I genuinely have checked in on the project.

This “engaged” SAL is complimented by a “parked” SAL which is on hold and contains repeating tasks like check in on xyz project" These are bookmarks to projects on the system I need to be working on but perhaps not this day or week, up to about 10 at any one time… I just drag tasks between the the two SAL’s depending on what I decide for the day/week

Lastly my “Today” perspectives shows available tasks from the “engaged” SAL plus tasks from certain “flow lists” like home tasks, office tasks, customer support etc. This way my finite projects stay out of the way while ongoing SAL tasks show up in the today perspective and it does not get too messy.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.