Standardized task status indicators for open, completed, waiting, on hold, and cancelled
R
Russell Read
Task status formatting standardization suggestion.
The help and user guides says that # indicates a tag and @ is a mention (though of course both are searchable and could be used however one wants.)
But, Noteplan, in the preferences, has a setting to use "@done" + the date to indicate a task is completed which is applied along with a change to the task icon from an empty circle to a checkmark in a circle. So from a built in use of tagging standpoint, NP defaults to the @ symbol as an indicator of the state of a task, albeit only for the completion status admittedly.
So at present we have a task icon change and an "@" tag added to a task when it is completed. But when it is marked as cancelled, while the icon is changed to an X in a circle, no "@cancelled" tag is added and also no date, so one can't see when they cancelled it without manually adding the date and time. There is also no "@waiting" nor "@hold" tag nor an icon for the task indicator for these statuses and no way to know for how long one has been waiting or on hold without manually adding dates.
So my point is that it would be nice IMO if NP standardized on a combination of BOTH a task icon change AND an "@" tag symbol for task status so that one could easily filter by open tasks (active, waiting, and on hold) based on these @ tags and they would be internally consistent within the app by using @.
So for example:
Active task: icon = open circle; Markdown = * [ ]; @ tag = nothing
Completed task: icon = circle with X; Markdown = * [x]; @ tag = "@done(YYYY-MM-DD HH:MM) (same as now!)
Active task but waiting on something or someone: icon = circle with something for waiting (W or hourglass, or open palm hand, etc); Markdown = * [w]; @ tag = "@waiting(YYYY-MM-DD HH:MM)"
Task on hold: icon = circle with something for holding (H or hands holding); Markdown = * [H]; @ tag = "@on_hold(YYYY-MM-DD HH:MM)"
And just as with the current situation with the completed indicator, if the task's status is changed from waiting or on hold to cancelled or completed, both the icon and the @ tag would change and the date and time updated to the current time.
T
Tim
I just wanted to encourage this idea. It's so many times that a task has been done, but is only fully completed, when (or if ...) a response came in by another person etc.
XIT looks super interesting for this!
Stu Willis
This has recently been discussed on the Discord in response to a suggestion for support XIT style syntax (see https://xit.jotaen.net).
Personally, I am in favour of some simple statuses:
[ ] is an open task
[.] is on hold/paused (I'm okay with [h] too)
[w] is waiting
[@] or [/] is in-progress.
It will allow more effective filtering of tasks.
BUT I think the most broadly useful is hold (e.g. [.] or [h]). Being "on hold" means that a task is not opened, not complete and not cancelled. Tags or mentions can then use to clarify that to whatever the specific user would like. Waiting, for example, is a subset of tasks on-hold.
Eduard Metzger
Thanks for sharing this! I like this approach in general, but I fear it makes things super complicated by adding so many states.
At the moment, you can solve it by simply adding tags manually, like
@waiting
, @onhold
, etc. Then use search or Review to filter by these tags. What would be the advantage if its added to NotePlan natively and what would it do with this information if it would be auto-generated? It's maybe a good candidate for a plugin.
A plugin could also generate the tag along with the date for you. That's an easy plugin to build. If you want to render
* [w] text
like * [x] text
is rendered, a Theme could be easily customized for this.R
Russell Read
Eduard Metzger: Thanks for the reply. I want a date and time stamp for any task status change so I can track time frames, such as how long I’ve been waiting on something or someone. I’m not a developer so I don’t know the complexity and difficulty in adding options for additional task states, but I envision a preference just like at present for @done. While a plug in could do this that is nowhere near as easy as it being built in, as with @done. The other reason for a task status icon is for visual scanning. While I could create searches, activating them would require leaving the current state. It’s helpful to be able to quickly scan, visually, a list of tasks and see which are open, waiting, on hold, etc.
H
Haris Sav
Russell Read: +1
Additionally in order to avoid complexity it could be added as a preference. Like the recognise - or * as todo there could be another reference to enable more states.
R
Russell Read
Eduard Metzger: Yet another reason for a built in option and not manually adding the "@taskstatus(YYYY-MM-DD)" tags just surfaced for me. I was doing just this (manually adding an "@cancelled(YYYY-MM-DD)" tag to a task that was cancelled. But since the syntax for this, based on the built in "@done(YYYY-MM-DD)" tag is for the string to all be together with no space, now I will have an entry in my "Mentions" section of the sidebar for every single such tag I add, which is obviously not ideal and in fact makes manually adding these not an option due to the clutter, not to mention the fact that autocomplete will offer up all these old dated tags everytime I try to add a new one.
Jonathan Clark
Eduard Metzger: Well, I think some of the pieces for this are available already: some theming can be done. But it would also need:
- an ability to specify an icon to use at the start of a line in place of the current set of 3 (open circle, ticked circle, cancelled circle)
- extend the API's ParagraphType, or allow plugin authors to extend it. Perhaps simply keep the existing set of types as the default ones, but allow others to be set and read back as required?
This looks quite straight-forward to do as a way for some of us to experiment with this idea.
J
Jeroen
I love the idea of expanding the checkbox-syntax. I wouldn't need the additional tag though, as long as tasks can be filtered by their state.
R
Russell Read
Jeroen: The main reason I do want the tag is so a date and time stamp can be added so I know when I completed it, or cancelled it, or put it on hold, or started waiting on someone else. Especially the latter, so I can be reminded if I've been waiting a short time or a long time, which changes how I might ping that person again. But an option like now exists for the @done tag would be ideal so I get my time stamp and you don't have the extra clutter!
J
Jeroen
Russell Read: I see why you added this, but I wanted to open the feature request up to different interpretations. For me personally, it would also suffice if these states could be set through the checkbox syntax only
H
Haris Sav
+1
i just came to ask for a waiting state for a task but your analysis have covered fully the request