Allow multiple *open ranges* as "follow-up range" #335
Replies: 1 comment
-
Awesome, thanks for this comprehensive write-up! You are not alone with your use-case; relevant references (though primarily related to the CLI tool): #267, #268, #273. I wrote up some thoughts, just as a contribution to further explore and discuss your ideas. Syntactically speaking, I’m not sure the I’m thinking that in a series of entries (or “follow-up” ranges, or back-to-back ranges, or whatever we want to call them), the end time is actually redundant. So another approach could be some sort of syntax where you only need to note down the start time in a series of entries, like:
(Where the Beyond the syntax aspect, one thing that would be important to consider is that such a notation would also imply conceptual changes:
You pointed out the issue when a duration were to appear in the middle of such a series. I think this would be a symptom of the above implications, because the rules around entries would become more complex. Generally speaking, I think that such a feature touches on fundamental philosophical questions of the file format, which is a balancing act between overall simplicity and usage convenience: the (current) simple approach is easier from a “mental” perspective, but it can be more laborious in some situations, whereas more powerful features provide more convenience, but can also increase the overall “mental burden” of keeping all rules in your head. There might be a different angle to solve (or at least mitigate) this use-case, however, because such a problem could also be tackled through tooling – i.e. that an editor plugin provides similar functionality to what the
The editor could provide shortcuts or special functionality like the following:
I’m wondering whether something like this could be a viable middle ground between keeping the file format simple, but still providing enough convenience to cater these day-to-day use-cases. The downside is, of course, that you’d have to use an editor plugin (or some other tool) to have access to those conveniences. |
Beta Was this translation helpful? Give feedback.
-
Preface
I manually write down my time tracking. All my entries are tagged and rounded to the nearest half hour.
This is how I write down a typical day:
When I start a new task, I denote it as an open range:
I ofter work on multiple tasks and have to jump between those. For every time I switch task, I need to replace the
?
and write down the current time twice – once for closing the previous task, and once again for starting the new task.Suggestion
What if the spec allowed for multiple open ranges, but only if all open ranges are preceded by another range (open or not), except for the first open range.
This means that the above example could be written as
The main benefit of this is for me – I don't have to edit the previous line when I start switch tasks.
Of course, my lunch break is a little bit odd, since I need to explicitly end the current task and start my next task after lunch.
Considerations
This change would be backwards compatible, since
In order for this to actually work, besides the first open range, you cannot have durations precede any of the multiple open ranges.
These examples would be allowed:
Having the last open range left open would generate the same warning as having just single open range.
Author's notes
I am not sure this is actually a good idea, or if it's the best direction for Klog.
The terminology I use, "preceded by" might be off, since as long as there is a single "closed range" anywhere before another open range it can be inferred what is meant.
But it does raise some ambiguity, specifically in example 3, where you could argue both for and against the duration that appears between the open ranges – should the last open range be allowed and interpreted as a continuation of second entry on that day?
The examples might not be perfect, as I just wrote down what I thought of in the moment. They should be some guide to what I am trying to achieve though.
This is however something that I deal with everyday. I wanted to write down my thoughts and not keeping it all to myself. This one approach I could think of that would flow well with my current workflow, and stay coherent with the current syntax of Klog.
Additionally, I did consider if "follow-up ranges" could be written with something like
? - 10:00
, but that would still require me to edit the current entry before I can create another entry. That would defeat the whole point of this.Again, not expecting this to be implemented, just wanted to get my thoughts out.
Beta Was this translation helpful? Give feedback.
All reactions