Originally Posted by keynotes
What I'm looking for doesn't seem to be supported by OmniFocus at this time.
That's correct, you cannot directly drag and drop tasks into any desired priority order in context mode.
If there is a hierarchy of priority among your projects (all tasks in project A are more important than all tasks in project B), you can achieve your goal by putting project A above project B in the sidebar and sorting by project. Of course, this may create havoc with any attempt to maintain a neatly ordered project list, and with projects of any appreciable complexity where everything isn't due all at the same time, it is unlikely that the prioritization will be so straightforward.
Could this be incorporated into OmniFocus 2.0? It's a shame that it's not possible to drag to reorder tasks in the Due perspective.
It's interesting to think about just what is involved in implementing such a request (more generally, the ability to have a manual sort order in context mode).
OmniFocus has a number of underlying concepts in play when constructing displays that are more or less apparent:
- Ordering of actions in projects is significant
- Ordering of projects and contexts is significant
- Displays of the same data with the same view settings should be identical
That the ordering of actions in sequential projects (and action groups) is significant is obvious. Less obvious at first glance is that OmniFocus treats order as significant in parallel projects/action groups. This is done so that you can specify a preferred order of execution in a parallel project or group rather than having the order reflect internal implementation details of the software. This is most apparent to the user when using a Next Action view.
The significance of ordering projects and contexts comes up when looking at a view sorted or grouped by project or context. These views are presented in the same order as the projects or contexts appear in the sidebar. You aren't required to order your projects by order of importance, but OmniFocus assumes that you have, so that you have that option.
Consistency of display from device to device and session to session is clearly desirable, especially if any sort of manual sorting is supported. Display ordering is the sticking point, I think. OmniFocus clearly has the necessary code to support dragging rows into an arbitrary order, but that ordering has to be retained across launches of the program or even opening new windows in order to be of much use. If you spend time dragging your tasks into priority order, you don't want your work undone as soon as you switch to a different view, do you? That ordering also must be propagated by sync to any other OmniFocus clients. The only way that can happen is if your ordering choices are stored in the database. Also, do we restrict ourselves to only one manual ordering? Why shouldn't I be able to rearrange my list of Flagged tasks, or tasks starting today?
As a result, this isn't just a simple UI change; it probably needs a database format change with all of the extra compatibility code and testing that entails. That's the sort of thing you want to do as infrequently as possible, so my prediction is that if it happens, it happens in OF 2 sometime (one could make the format change before actually exposing a UI that used it).
It does seem strange that the basic functionality of looking at today's tasks and prioritizing them is missing
I have a different viewpoint here. If you have a collection of tasks you are calling "today's tasks", those are tasks to be done today. Either you have enough time in the day to get them all done, or you don't. If you get them all done, the order probably isn't important (or is dictated to you by the time they are due and any sequencing constraints). If you don't have time to get them all done, you shouldn't be worrying about prioritizing them, you should be renegotiating your agreements about what you are going to do. Otherwise, you're just doing the "daily to-do list" exercise that David Allen shoots down on pp. 40-41 of Getting Things Done