What's the difference between "defer another" and "due again" for a task with a due date?

I have a task that is set to “defer another” after completion. I then set a due date on the task, because it is due just on this one occasion. Then I wondered what would happen after completion. To my surprise, after marking the task completed, it behaved as if it had “due again” set. It looks as if setting a due date overrides the repeat setting. I find this a little confusing, as I would expect the repeat setting to be respected, i.e., to defer the task, not make it due again. Does anyone have an understanding of this, or whether it is a bug?

1 Like

Hmm, that sounds unexpected! On the Mac, you can see the next defer and due dates after you complete a repeating task in the Inspector. For example, this is what the Inspector looks like for a task that I have set to Defer Another few days:

What does the Inspector look like for your task? Can you post a similar screenshot? Also, after completing the task, do the dates set on the new task actually match the “Next Deferred” and “Next Due” dates shown there?

Here are two screenshots, one before marking the task complete and one after.

After marking the task complete, the due date on the new instance matches the “next deferred” date that was shown before completion but the time has changed to a seemingly random value.

As mentioned before, I would have expected the “due” field to be empty on the new action generated after completion and the “defer until” to have a value in it instead of being blank as it is here.

The nature of this behaviour tells me that I might find other similar anomalies if i experiment more.

That’s interesting! I wouldn’t have thought to combine the Defer Another repeat mode with only a due date on the task. Most often, I’ll use Defer Another alongside a defer date and possibly a flag; that way, OmniFocus can take the existing defer date and advance it by the interval you specify.

I wonder if this isn’t a case of OmniFocus trying to preserve as much information as it can on your task. Since you’ve specified only a due date, OmniFocus doesn’t want to throw that away when the task repeats, but it has a hard time figuring out the rest of the behavior (especially the time, apparently!).

The good news is that I now have enough information to find this issue in our development database. I’ve added your comments - thanks for passing them along!

You’re welcome.

I do feel that the expected behaviour was well-defined. The repeat said “defer another”, not “due again”, so there should be no due date when the task repeats.

Thanks for your interest.

I’ve run into similar behaviour before as well… “Defer Another” does in fact reset the Due Date, and I think that behaviour is reasonable and expected, since you can’t really set both options, and it makes sense (to me at least), that the two dates should both be carried forward onto the next task.

However, if no defer date is set, it seems that OmniFocus doesn’t actually set one. I’ve gotten into the habit of setting a defer date before setting “Defer another” on a task, even if I just type in the word “today” as I pretty much know what’s going to happen.

That said, "Defer another’ should enter a Defer Date regardless of whether the existing task has one or not. That would definitely make more sense and be more intuitive. Since it’s based on the date you actually complete the task, there’s really no need for there to be an existing date for it to work with.

Arguably, one could suggest that “due again” exhibit the same behaviour – set a date if one isn’t already set – but I think that’s probably less of a non-intuitive thing than “defer another” is.