When marking a Focus as complete, associated incompleted tasks should not be automatically deleted without warning.
I had a Major Focus that had several Backward Planner items attached. Some of these BP items were completed but some remained in my Daily Targets list and some it Do It Later.
When I marked the Major Focus complete I deliberately left some tasks in Daily Targets list as I had largely completed the main objective of the target but I wanted to finish up the remaining tasks later and had decided that they were not essential to the main Major Focus task.
However, these remaining tasks (created using the Backward Planner and attached to the Major Focus) were deleted automatically without warning after I marked the associated Major Focus target as complete.
This may seem the logical behaviour on the surface, but it resulted in a surprise – I did not want or expect the tasks to be deleted.
In a case where such tasks are left accidentally in Do It Later because they were forgotten about but need to be completed, this could result in some nasty surprises.
Please, bear with me in this next section – it's quite long but I want to justify my reasoning and show why it's important:
Using the software engineering “Principle of Least Surprise / Astonishement” (summary: "the result of performing some operation should be obvious, consistent, and predictable" - http://c2.com/cgi/wiki?PrincipleOfLeastAstonishment) this could be handled better.
I have my own principle that I follow that follows on from the above (but which currently lacks a similar snappy title!): “A system should not take an action on behalf of a user that the user would normally take themselves without informing the user that the action is being taken, and ideally giving an option to opt out of said action.”
In this case, a Simpleology user might have several tasks associated with a Focus - some tasks may be in Daily Targets, others may be in Do It Later or still in the Backward Planner. The user may be aware of those tasks and want to keep them there when marking a Focus complete for the same reasons as I did; or the user might have placed some of those tasks in Do It Later and forgotten about them (partly the purpose of Do It Later). If these tasks are automatically marked as complete without the user's knowledge the user will not know that they were – the tasks just won't get done. Perhaps the only reminder about them will be the unforeseen consequence of not doing the task (such as a boss's flight was not booked etc.). The action taken by the system on behalf of the user may result in quite big surprises!
Alternatively, the Focus can be marked complete but the tasks left wherever they were at the point it was marked completed, such as in Do It Later. At some point the user will come across them and may be very relieved to be reminded to do them. The user may otehrwise just realise they weren't important and delete them. In this scenario, there are at least no major nasty surprises and possibly the user is saved from them.
The most surprising/consequential action is to delete the tasks automatically; the least surprising is to leave them there for the user to delete / mark complete.
So despite logic dictating that when a Focus is completed all of its associated tasks are completed, the “Principle of Least Surprise” dictates that the system should not delete the tasks because the user may not be aware that the system took that action (or may not have actually wanted it to).
My other principle says that the system should not perform an action on behalf of the user if the action is one that the user normally expects to perform themselves, without warning the user first.
The ideal solution that follows both principles, but is also consistent with logical behaviour, would be when the user marks a Focus complete but tasks attached to the Focus remain incomplete, the system alerts the user that incomplete tasks associated with the Focus remain and asks the user if they should be automatically marked complete or left as they are. Showing the user a list of these tasks may also be helpful allowing the user to manually mark or otherwise move to Daily Targets or set reminders. It should also allow the user to cancel marking the Focus as complete when outstanding tasks remain.
Thanks.