View Single Post
The behaviour of the "start..." and "due again after 1 day" options seem counterintuitive around midnight, when the next 'day' starts. I'd like to be able to move that to some less problematic time, like 4am.


Example: suppose I have a "Brush my teeth" action, set to start at 10pm and due at 1am. And let's suppose that the actual time I do this (and dutifully mark it completed) is equally likely to be before or after midnight.

For an action like that, I don't want to set it to repeat every day -- suppose I miss a day, I want the old overdue item there to remind me, but I don't want it to create extra (redundant) items for day(s) missed. Creating a new one for the next day after I do complete it is sufficient.

The problem is, depending on if the item is set to "start again" or "due again", and if I mark it complete before or after midnight, I can end up with the next repetition of the item being on the SAME day as the current one, or it SKIPPING a day entirely.

Specifically: Suppose it's Monday, at 11:55pm. The task is set to start at 10pm and due at 1am.

If repeat is set to "start again after 1 day":
  • If it's marked complete BEFORE midnight, the next iteration will start on Tuesday at 10pm. This is the desired behaviour.
  • If I wait ten minutes, and mark it complete AFTER midnight, then the next iteration will start on Wednesday at 10pm. There will be no Tuesday iteration.

If, instead, repeat is set to "due again after 1 day":
  • If it's marked complete BEFORE midnight, the next iteration will start on Monday at 10pm. The start and due times are an exact duplicate of the event that was just marked complete. This one really doesn't seem like a sensible behaviour for the software.
  • If it's marked complete AFTER midnight, the next iteration will start on Tuesday at 10pm. This is the desired behaviour.

There doesn't seem to be a solution that would have the next iteration start on Tuesday if I mark Monday's complete at 11:55pm Monday or 12:05am Tuesday, but have it start on Wednesday if I mark Monday's complete at 11:55pm Tuesday or 12:05am Wednesday. Am I missing something?


If I could change the "next day starts at" time to an hour when I'm actually consistently asleep, like 4am, this problem would disappear.


Alternately, OmniFocus could be smarter about its understanding of "after x days" by rounding the completion time up or down to the nearest hypothetical occurrence of the action; e.g., if the action was started 2 hours ago, and the options for starting the next iteration at 22 hours or 46 hours in the future, then the 22 hour option seems MUCH closer to the meaning of "after 1 day" than the 46 option.

I think this form of reasoning, if applied across the board to the "again after x units" repeat options, would be more intuitive, but I understand if this change would be too disruptive to existing users.