Incremental Completion of Overdue, Recurring Dates?
That being said, I do have one question. I use GTD programs mostly for their recurring tasks; I have a set number of things to do each day, and if they don't get done, I want to be able to go back later and catch up on what I've missed.
For example: Say I have a task "reorganize 1 database" with the due date being "every 1 day starting 3/1". But let's say I procrastinate and miss five days of doing the task. So I look at my list on 3/5 and it shows the task as overdue under "5 Days Ago".
The recurring "every" function makes it sound as though the new due day should be calculated +1 day each time the task is completed. So I would expect to be able to check off the task and have it reappear under "4 Days Ago". And so on until I've done the task 5 times and I've caught up on all the work I missed (i.e. 5 databases reorganzied).
But instead, what happens is that checking off the task once causes it to be considered done for ALL previous days missed, and it automatically shows up as due tomorrow. This is what I would expect the "after" function to do, and experimenting with both, they appear to do the exact same thing: sending the task to "due tomorrow" no matter when it was originally due.
TL;DR version: The "every" and "after" functions seem to do the exact same thing. Is there any way to check off an overdue task and have it move from one overdue date to another overdue date (e.g. "5 Days Ago" to "4 Days Ago" for a task that's due every day)? Or do I have to manually adjust the date each time if I want to catch up on a task?
Or rather, in the TL;DR version: "The "every" and "after" functions seem to do the exact same thing … when it comes to overdue tasks."
Unfortunately, it's not possible to postpone an overdue task so that it would still be overdue after postponing. It's also not possible to complete an overdue task while keeping it overdue one day less. Please check of the task only after you catch up to it incl. today's occurrence.
The "every" and "after" options are different, but only in case of everyday tasks, the difference is not noticeable. The "every" option always moves the task to the number of days it's scheduled with respect to its own due date. For example, a task due "ev 15 days" that's been overdue by 5 days will become due in 10 days because it counts 15 days from the last occurrence (assuming that it's not overdue by more than 1 full cycle).
The "after" formula, on the other hand, moves the task with respect to the day of completion. So for example, a task due "after 15 days" which is overdue by 5 days, will be moved 15 days from now (the day of its completion).
In case of a task due "every day", there is no difference because 1 day is already a full "cycle" of the task so a task overdue by 5 days already skipped 5 full cycles and will be moved to tomorrow upon completion and a task due "after 1 day" will be moved to the next 1 day counting from now which is also tomorrow.
This is true for the web application but not for Android. On the Android app, if I complete an overdue task from yesterday, the app generates the task for today. This is not the case for the web app as it will complete yesterday and today. I prefer consistency between the web and the app as I sometimes forget to take this difference into account.
Thank you for your report, I have passed it to the developers and we will correct this issue on the Android app in future updates.