johannesjo / super-productivity

Super Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, Gitlab, GitHub and Open Project.
http://super-productivity.com
MIT License
8.66k stars 753 forks source link

idle time task search should include today's completed tasks #3135

Open timblaktu opened 2 months ago

timblaktu commented 2 months ago

Problem Statement

The idle time detection and assignment feature is absolutely killer, but there is one way I'd like to see it improved. The interface for searching for existing task to assign idle time to should include all "Today" tasks, including Completed ones, in the task search list. Currently it only includes Today's tasks that have not been marked completed.

This is important when tasks are pre-maturely marked as Completed. When one finds themselves working on a Completed task, it should be just as easy to track that time as it is in the case when they forgot to start the tracking timer for an uncompleted task.

It could be argued that in the case where you find yourself working on a Complete task, the root problem is either the work was not de-composed enough, or definition of done was not clear enough. I postulate here that even if this was the case, pre-mature task completion is inevitable to occur with every one of this app's human users, and that it is not constructive to penalize users when this happens.

Nor is it necessarily constructive to reward them for poor definition/decomposition, but my point here is that the quality of a user's task definition should be moot, and that enhancing this feature would further streamline its elegant workflow in a manner that will not penalize those who do not agree with the above. I believe that this feature enhancement will provide valuable, regular feedback to the user that "hey, that thing I was just working on wasn't really 'done'" which informs them how to continuously improve their task definition and usage of Super Productivity.

Illustration of the problem

The below screenshots illustrates how this feature works today, and the limitation addressed by this feature enhancement request. The user has been idle for 5m16s, sees the idle time banner, clicks "Add to Task":

When the user clicks "Add to Task" in the Idle Time detected banner:

image

In the resulting dialog, the user is asked what to do with the untracked (idle) time. We consider two possibilities for assigning to existing task, and ignore/do not change the "assign to new task" path. The user realizes that during this idle time they have been working on "Curating Tasks and Learning Super Productivity". They type cur...

A. Task is not yet completed

The "Curating Tasks and Learning Super Productivity" tasks is found and populated in the drop-down for the user to select.

image

B. Task already marked as Completed

The "Curating Tasks and Learning Super Productivity" task is NOT selectable in the drop-down.

image

:grey_question: Possible Solution

When the user clicks "Add to Task" in the Idle Time detected banner:

image

In the "Select or Create Task" field of the resulting dialog, the user should be able to select any of Today's tasks, regardless of its Completed status.

Also, the completed task that has just been assigned more time must be automatically marked as Undone. This is analogous to and consistent with other automatic state change features in Super Productivity such as automatically adding a task to My Day when time is assigned. As such I believe this feature mod is in alignment with the rest of the app's design and UI.

:arrow_heading_up: Describe alternatives you've considered

The only alternative I know of is to "not do that," i.e. don't pre-maturely mark tasks as Completed. As I postulate above (and is a well-known fact in project/task management), I believe it is impossible to prevent human users from being in this situation as we are prone to make mistakes both in the front end of task definition/estimation, and at the tail end of accidentally or erroneously clicking the completed check button.

:heavy_plus_sign: Additional context

I'm using version 8.0.1 on Windows 11 installed via the Microsoft Store.

github-actions[bot] commented 2 months ago

Thank you very much for opening up this issue! I am currently a bit overwhelmed by the many requests that arrive each week, so please forgive me, if I fail to respond personally. I am still very likely to at least skim read your request and I'll probably try to fix all (real) bugs if possible and I will likely review every single PR being made (please, give me a heads up if you intent to do so) and I will try to work on popular requests (please upvote via thumbs up on the original issue) whenever possible, but trying to respond to every single issue over the last years has been kind of draining and I need to adjust my approach for this project to remain fun for me and to make any progress with actually coding new stuff. Thanks for your understanding!

github-actions[bot] commented 2 months ago

Hello there timblaktu! πŸ‘‹

Thank you and congratulations πŸŽ‰ for opening your very first issue in this project! πŸ’–

In case you want to claim this issue, please comment down below! We will try to get back to you as soon as we can. πŸ‘€

For more open ended discussions and/or specific questions, please visit the discussions page. πŸ’–

Jagdfalke commented 2 months ago

Thank you very much for your request and your detailed description!

Actually you already had me in the first couple of lines. Multiple times I've run into the same issue when I had spent time on a task I already completed earlier.

So personally speaking I second your change request.