Productivity rethink

· geekery ·

I don’t usually make New Year’s Resolutions, but I do sometimes use the break from work over Christmas to rethink how I work, and try out new tools. I have used Things as my todo app for quite a few years now, and really enjoy its quiet simplicity. The design is beautiful and well thought out for getting things done without fuss or over-complication, but it is true that it does not have as many bells and whistles as some other todo apps. I have also in the past used OmniFocus, and appreciated the power and flexibility it enables, while finding it somewhat overwhelming at times. Essentially, I have felt that they two apps are both very good, but at opposite ends of the Goldilocks Continuum: this app is too simple, this app is too much. But where was the app that was Just Right? I felt as if I needed something that helped me with planning, and with keeping track of the progress of longer term objectives, while (somehow) presenting all that stuff in a quiet, tranquil and non-panic inducing way.

Over the Christmas break, I tried out a few things. I tried a trial of Sunsama. It’s a clever service that aims to help you to make more meaningful progress with your work while encouraging a healthy work-life balance. It has some very well thought out features, and guides you through selecting tasks to work on today, estimating how long they will take, and then guiding you in how much you can reasonably expect to get done in a day alongside events (such as meetings) on your calendar. You tell it when you want to start and stop work, and it warns you when you try to put too much on your plate for the day. There are prompts to plan the day and then ‘shutdown’ the work at the end of the day. You can use it to timeblock tasks during the day if you like, or just work from the list, ordered manually in the order in which you want to work on your tasks. You can also set objectives for the week and add tasks to them, or you can mark existing tasks as contributing to objectives. This is nice because it gives you a higher level view of how you are working towards certain goals, even if you don’t complete those tasks within a day. This, I think, is something I haven’t seen in other productivity tools, and it is a great feature. It is too easy to get obsessed with ticking off (or checking off if you prefer) tasks on your list, so if you do a lot of work on a task on a particular day, but don’t finish it, it is easy to feel as if you have not accomplished anything.

I really like Sunsama, and while it is quite a pricey subscription, I might have subscribed after the trial but for one issue: it does not work with the other tools that I use. It connects with a lot of other calendar and todo managers, email clients and similar tools, but none that I actually use. If you use Google Calendar and Gmail, and something like Todoist or Trello for todos, you will be fine. I even tried using Todoist, just so that I could use Sunsama. While there are many good things about Todoist (and it has improved a lot since I last played with it), it just doesn’t click with me.

However, trying out a different system made me think about how I could use existing tools to help me get a more balanced view of my work. Coincidentally, OmniFocus 4 was also released in this period, and I was curious to see what the very long awaited new version offered. Would it move closer to the ‘Just Right’ spot on the Goldilocks Continuum?

I was pleasantly surprised with the new version of OmniFocus. It doesn’t have many huge new features, but there is an overhaul of the UI that — for me at least — makes it feel much easier to use, less fussy, and less ‘in your face’, for want of a better word. Since it is now coded in Swift, the iPhone and macOS (and iPadOS) versions all use the same code base, and have essentially the same features and UI. There’s a lot that you can do with the configuration to make it work the way you want it to, and to create a calm and clear environment in which to plan your work.

My particular requirements were as follows:

  1. To enable me to run a ‘start date’ or ‘defer date’ driven system to plan my weeks, with only light use of due dates where absolutely justified (i.e. when there are actual consequences for completing a task late).
  2. To be able to easily hide work tasks at the weekend, or personal tasks when working, as I don’t want to stressed by work things when I am not working, or vice versa. However, if I want to take a peek at the other domain of my life, I should be able to do so.
  3. I would like some way of incorporating objectives into my planning and tracking.
  4. I would like to be able to define roughly how long a task should take, and then use that for timeblocking. I don’t use timeblocking every day, but I use it often and find it helps with planning how best to use the time, and keeping on track on busy days.
  5. I would like to integrate my todo app with other tools, such as Obsidian which I am using for note taking and journalling every day.

Defer date system

One of the things I loved about Things was that you could set a start date for a task, and it would quietly drop into your ‘Today’ view on that date. If you didn’t get to it that day, it would — just as quietly, and with no drama — appear the next day and the next, until you completed it or rescheduled it for another day. When I last used OmniFocus, it was rather a due date driven system, and the colour coding for due dates was much more alarming than I needed for tasks that I hoped to do on a certain date. You could use ‘defer dates’ (which were similar to start dates), but if you didn’t get the thing done that day, it would not appear the next day, and that gave me the fear that I would end up dropping something important. You could flag a task and have it appear in the Today view of Forecast, but that felt stressful and shouty to me1.

Now, you can set a Forecast Tag, separately from a Flag. This can be whatever you want, but I use an emoji star to mimic Things’ symbol for Today tasks. My workflow is that when I am planning the week (or month) ahead, I set the defer date of tasks to roughly when I want to (or think I will have time to) tackle them. At the start of each day, I look at the Forecast perspective for today, and either bump the defer date of tasks to later if I know I can’t get to them today, or add the Forecast Tag (there’s a hotkey for this). I set my Today perspective to show things that are available (i.e. the defer date is today or has passed), and that are either flagged, tagged with the Forecast Tag, or are Due Soon (for me, that means the next 24 hours). If I don’t complete the thing today, and forget to bump the defer date to tomorrow, it will still show up the next day because it is both available and tagged with the Forecast Tag. I have repeating tasks that run at the start and end of workdays to plan the day ahead and ‘Shutdown’ (clean up and reflect on) the day when I stop work, and sub-tasks make sure that check on all these things consistently.

I only use due dates for hard deadlines (grant application submission dates, marking deadlines, dates that I need to give a lecture, so no point in preparing the lecture after that date, and so on). I therefore tend not to have many due dates, but I have a Due perspective that I check during my weekly review to see things coming up grouped by this month, next 3 months and so on.

Switching work and personal contexts

You have always been able to group projects under folders in OmniFocus, so you can have all your Personal projects in one folder and Work projects in another. Then you can choose to ‘Focus’ selected projects or folders, so that everything not focused is hidden. This worked well for switching between contexts, but took a couple of steps to perform. Since coming back to OmniFocus, I have learned about OmniAutomation, which is incredibly powerful, and enables you to automate just about anything in the same way on macOS and iOS. So I have set up specific plugins to toggle personal or work focus on and off, and have keyboard shortcuts set up to do it quickly. This makes me feel much calmer at work and at home.

Objectives

There’s no built-in system for this in OmniFocus, but I managed to build something that works well for me. I limit the tags I use quite strictly to the broad kind of activity a task involves (create, review, manage, and so on), but I have a hierarchical tag of ‘obj’ which holds my objective tags. Each month, I plan out a list of broad objectives for the upcoming month, and write them in a monthly note in Obsidian as checklist items. I then go through my projects and tag those that relate to the objectives with a tag that reflects the year and month, so that this month’s objectives would be under ‘obj/24-02’. I also have an Objectives perspective, that is limited to the tags under ‘obj’, but which shows tasks and projects of all availabilites, and sorts by completion date. I can look at the progress of multiple months’ objectives, or just the current month, and keep track of how things are going in my weekly reviews2. So far, this has been a great success, and has kept me on track much better for objectives which take a while to complete, but don’t have a defined due date.

Timeblocking

OmniFocus has had a ‘Duration’ property for tasks for a long time. I now try to fill this in for most tasks in my daily review. If I am timeblocking that day, I can then drag the task on to my calendar in BusyCal, and it will get added as an event with the duration I set in OmniFocus. This makes it very easy to plan the day and work around fixed events like meetings or teaching. Inevitably, my estimates are often wildly inaccurate. I find that I overestimate how long it will take me to do small tasks and underestimate longer tasks. Either way, I adjust the calendar items as I go to reflect reality, and then transfer the durations to OmniFocus. I have been using this in conjunction with the superb MeetingBar app which shows you the time until the next event on your calendar, or the time left in that event, in your menubar. I find that helps me to keep on task and speeds me up as I get near the end of a work block.

Integrations

Again, OmniAutomation comes to the rescue here. I don’t really know how to code in Javascript, but through my usual combination of looking for a script that does something similar, then using trial and error and the OmniScripting Console, I could put together another plugin to copy a Markdown formatted list of the tasks done today and the time that they took, as well as the total amount of logged time that day and copy it to the clipboard. I can run that through an Apple Shortcut while in Obsidian, and then paste it into my daily journal for the day. Thinking about my time estimations has made me more realistic about what I can hope to get done in a day, and to feel better about my achievements. I also use Hookmark liberally to connect tasks to my notes or other files so that I spend less time faffing about at the start of a task looking for the resources I need.

All in all, I am really happy with my switch to OmniFocus. I still think that Things is fantastic, but the extra power and flexibility of OmniFocus has enabled me to create a system that works for me, and takes the best parts of both Things and Sunsama. Since setting it up, I have noticed that I have completed a couple of projects that had got stuck, and that I completed all my monthly objectives (early!) last month, even though it was a very busy month. Some of that is no doubt to do with the excitement and enthusiasm of using new tools, but I have felt much more on top of things, so let’s hope it continues!


  1. If this all sounds very feeble and precious to you, it is. But if you spend a lot of your day in and out of your task manager, and you feel stressed at work, it’s nice if your task manager helps you manage the stress, not add to it. ↩︎

  2. The built in project review system in OmniFocus has always been superb. I use it every week as part of another repeating task on a Friday in which I look at my Objectives perspective and assess how things are going there, and then review my projects, adding tasks or tagging objectives as necessary. Again, this helps me to feel on top of things, and ensure that nothing slips through the net when I am busy. ↩︎