Any way to change logic of "sort by duration"?

Many of my perspectives show 30+ items and I would love a way to sort by priority (with more granularity than flagging).

I’ve been using “sort by duration” instead. 5m = high priority, 10m = medium, 15 = low. This works pretty well, although you cant view all durations on mobile.

The problem: an item with NO duration sits at the bottom of the list.

So when a new item goes to that perspective (based on its project or tag), if its duration-less, it sits below things that I’ve already decided are low priority! But often those new things are the highest priority!

I know I could just change my habits, be more strict about assigning duration when I tag the item, but that would greatly slow down inbox processing. Sort by tags is a mess when using more than one tag. I could use “sort by title” and add numbers (slow). I could use “sort by project order” and drag them around in project views (slow)…

FWIW, “sort by tag” works the opposite way: an untagged item will sit at the top of a list of tagged items. (Will sort by tag be improved in OF4 please?)

Is there any way, through plugins or hidden settings etc, to make an item with no duration sit at the top of a “sort by duration” perspective?

I think the issue is in the processing, however you attempt to achieve this it requires you to add meta data at some point be it duration, numbers in the name etc etc so I guess the best solution is probably to bite the bullet and just add it when processing the inbox?

Duration to complete and priority/importance are two different things. Even in the workflow you’ve described, would it really be useful to have the perspective sort 100 items first, most of which are not what you consider ‘high priority’, followed by the 20 items for which assigning a duration was relevant?

Like @TheOldDesigner says, you’ve got to add some metadata for whatever categorisation of tasks you like to use. When you do your inbox processing, you could simply flag items which are important in some way but you don’t want to add a specific duration to immediately. That’s very quick to do. You can return to them later and add durations.

Based on that, use a perspective which:

  • filters on tasks which are either flagged or have a duration
  • groups by ‘Flagged’
  • sorts by ‘Duration’.

The flagged items will be at the top, followed by those with a duration, shortest first.

1 Like

Thanks for your response, and yours @TheOldDesigner.

Just for context the use case would be something like a “read later” list. I’d love to be able to throw a lot of items in there and see the new items at the top, and the sorted stuff below it, without adding metadata to the new stuff. Again, sort by tag works this way.

@MultiDim the perspective you describe is my current workaround. Its ok, except I’ve been weaning myself off of “fake” due dates, and using Flags to indicate “do ASAP / this week”. So my most important perspective, my “Today / Next” view, now includes flagged items.

But because I don’t want my “read later” (and the 20 other projects like it) in there, I have to go another step further and say “Include items that are flagged except from project x, y, z” Or simpler, “from folder Z”.

It works. But it’s a lot to keep up with, having two different uses for flags, and making sure all of the “important” perspectives exclude that “folder Z”, and that all of the less important projects like “read later” are in that folder.

As I type it out, I acknowledge its all a bit silly 😅. But it would be solved with the ability to sort “No-duration” at the top of the list. Of course It would also be solved with more “columns” for metadata or some better tag sorting options! For example most other apps that offer sorting also offer the choice of Ascending vs Descending.

Rant Incoming: I see that type of limitation in a lot of OF features: it’s there, but can only be used in a specific, non-obvious way that will affect the entire setup. I feel like there should be a prize (or pity?) for users who manage to solve the Logic-of-OF puzzle. I’d love to see a poll of the black-belt users and ask hour many hours they spent figuring it all out. I’d say I just recently earned brown belt. Easily over 200 hrs. 😬

There’s a bit of a contradiction in saying that OF is very complex and wanting more options for alternate behaviours. OF is very flexible, but the design wisely makes some choices based on the fact that it’s a task manager (for a few hundreds of tasks that each belong in a project) and not an all-purpose database. Sort order (eg. most recent dates come first) is a good example.

Duration can be a useful piece of data to capture for some specific tasks. If comparing them it’s best to look at them in isolation, and the ‘Has an estimated duration’ rule in custom perspectives conveniently allows this!

If you want to have a workflow based on prioritisation I’d suggest two approaches:

  • there is already an implicit prioritisation in the distinction between tasks which are ‘remaining’, available’, or have the ‘Forecast tag’. The flag can provide another level.
  • Create tags if you need additional prioritisation levels. They are quicker to apply than durations. On the Mac you can easily switch the priority in any perspective which groups by Tag: press the Cmd key and drag the task between tag groups.

I cheated I read @Kourosh’s excellent book “Creating Flow with Omnifocus” and implement most of that, with a few tweaks to account for my different work and family circumstances. Honestly probably the best book I have ever read when it comes to organising a workable and trusted system.

1 Like