climech / grit

Multitree-based personal task manager
MIT License
1.67k stars 48 forks source link

Question: Bullet Journaling Usecase #13

Open kairichard opened 3 years ago

kairichard commented 3 years ago

First of all thanks for putting time and effort into this, it looks really neat and has really narrow interface which I totally like. I am also a big fan of bullet journaling, I don't know if you have heard of that technique - it is basically scheduling tasks on dates and moving them manually when you don't manage to complete them on the given date which in turn makes you reconsider if the task is really worth doing.

grit comes really close to resembling this workflow. However, one thing I am currently missing on the default view is a way for me to see if a node has been linked to another date/root.

Is that also something you had in mind when designing this or do you have other plans with this?

Visual example of what I mean.

>> grit
[ ] 2021-04-04 (1)
 └──[>] escalation (2) -> (2021-04-05, Textbox)* 
     ├──[ ] placeholder (5)
     └──[ ] sent email (3)

* This could be any alias.
climech commented 3 years ago

Thanks for the tip about the Bullet Journal method. It looks interesting, I'll definitely look into it as soon as time allows (I've been getting a lot of cool ideas from people lately, and it's great, it's just a little overwhelming 😄).

one thing I am currently missing on the default view is a way for me to see if a node has been linked to another date/root.

This is something I've been thinking about too. Recently I've come up with a tiny tweak to the tree view:

[ ] 2021-04-04 (32)
 ├──[ ] task (33)
 ├··[ ] task (10)
 │   ├──[ ] task (11)
 │   └──[ ] task (12)
 └··[ ] task (37)

The middle dots basically say "this task has more than one parent" ("and the current view shows only one of them"). The user can then run grit stat on the node to check its neighbors. This should be included in v0.2.1 sometime soon. I think it's quite subtle and unobtrusive, and should work well with possible additions in the future, but feedback is always appreciated.

Another idea is to add a quasi-state [*] for completed tasks viewed in the context of dates different than the one on which the task was completed. This would allow the user to look back on previous dates and see which tasks were completed late:

[ ] 2021-04-03
 ├──[x] completed on 2021-04-03
 └──[*] completed, but not on 2021-04-03

Ideally, I'm looking for solutions that do not widen the output too much horizontally. Your idea could possibly work if we capped the items in the parentheses at 2-3 items max, and elided the rest, e.g. (2021-04-05, 24, 42, …).

I would also reverse the direction of the arrow, to match the direction of the graph relationships. The nodes are not so much "moving" here as gaining another context to view them in. It seems that the directed graph structure has been causing some confusion, and it may take some time for users to adjust, but I believe working this close to the "raw" structure is also what makes the tool more flexible and powerful.

Again, thanks for the suggestion!

kairichard commented 3 years ago

Thanks for taking the time to answer my question and idea - much appreciated. I personally think the double dots .. are neat and unobtrusive. And yes I got the arrow direction wrong, but then again showing an arrow to the other linked nodes might help form the mental model needed to make the most out of grit.

I think once v0.2.1 is available I will try to implement a Bullet Journaling workflow and report back feedback either in this Issue or a new one, depending on whether you want to close this or keep it open for more suggestions from other people.

Thanks - Kai

climech commented 3 years ago

v0.3.0 is out now -- I ended up bumping the minor version. I'll keep this issue open.