jazzband / Watson

:watch: A wonderful CLI to track your time!
http://tailordev.github.io/Watson/
MIT License
2.45k stars 240 forks source link

Two proposed features from a new user [Add comments to frame, and Hierarchy of projects] #145

Open CausalReinforcer opened 7 years ago

CausalReinforcer commented 7 years ago

I was a user and fan of Timelime (http://timelimeapp.com). While I like it a lot, I believe the most ideal time tracking tool should be open sourced.

I started to use td-watson and I carefully read the documentation. I definitely loved the idea and design. In fact, I wish to contribute to the great project over time. There are two features that I wanted most:

(1) Add some comments to each frame/timing. One goal of time tracking is to record how did we spend our time. Allowing users to add some comments after each frame help to better record what has been done and what kind of issues encountered. From time management and personal growth perspective, these comments or notes recorded self-reflection and will help to recall this piece of experience in the future.

(2) Hierarchy of projects and tasks. If we consider time tracking as an accounting system of time, then reflecting the reality is an important goal. For example, when I take an online course, I may want to track how much time I spent in each session of the class. When I work on a project, I may want to track my time spend on different tasks and sub-tasks.

I understand that in current version of Watson, using tags may partially address both issues above, still I would love to raise my questions to get better understanding from the community.

Thanks, Yifei

SpotlightKid commented 7 years ago

Adding comments to frames is already implemented in my private fork and there is a pull request (#119) to add it to the main project. Since this makes a change of the storage format necessary, we planned to put this in the next major release (2.0). I originally planned to do this release still in 2016, but I'm afraid I'm not gone make this ;) In January I have some free time, though, so I plan to do it then.

There are no current plans to introduce a hierarchy into projects, but if you can explain your use cases a little more, may we can give some advice on how to use Watson best or start sketching out some ideas for improvements.

At the top of my priority list, though, is a revamp of the reporting and export/synchronization.

CausalReinforcer commented 7 years ago

Thanks for the prompt reply. I will check out your private fork and start to read the source code of Watson.

On project hierarchy, the use case is to split a project into tasks and sub-tasks, so that one can track time spending into each task or sub-tasks. This is particularly useful for planning -- decompose a task into several sub-tasks, and then tackle them one by one. In current version of Watson, the reporting function computes time spending related to each tag. However, tags and tasks/sub-tasks are different in the sense that tasks/sub-tasks are mutually exclusive. In other words, to sum up time spent in each tasks of the project equals to the total time spent in the project. However, this is not the case for tags.

I agree that export/synchronization is very important (more important than project hierarchy). For people who work across multiple PC/laptops, synchronization is really necessary.

loonies commented 7 years ago

Do you mean something like dot separated project hierarchy? Example: project.subproject.

wakatara commented 7 years ago

+1 on adding a comment/note to frames. I would love to see that.

Any update on incorporating that in (with all the storage change work?). I notice the PR appears stalled since last year. (though I completely appreciate that people have real lives and these things are always more complicated than it first seems... anything I can do to help move this impressive chunk of work forward?

jmaupetit commented 7 years ago

Hi @wakatara! Thank you for your proposal ❤️

As you refer to @SpotlightKid's work on #119 & #115 for the 2.0.0 release, I will let him answer/manage if/how you can collaborate on this.

Best.

SpotlightKid commented 7 years ago

What's basically missing for a 2.0 release is updating the branch with the newest developments on master, writing up an "upgrade notice" (the frames file gets updated automatically, but it's a one-way process, though there is a tool to convert between old and new format and vice-versa), and then doing a release.

I'm afraid that I don't have the time to do it at the moment until at least october. I'm currently taking some time off from programming to pursue some other projects. But I can assist with advice.

wakatara commented 7 years ago

Alright, I've forked the @SpotlightKid's forked repo, set the @TailorDev to upstream and merged in masters.

I just took a quick boo at the conflicts in tests and in watson.py but they seem minor on the surface. I will take a better look at things on the weekend and see if I can help push this forward if not get this done.

My plan after that will be to put a pull request on @SpotlightKid's fork and then have Spotlight PR those changes into the original #115 and #119 tickets to maintain continuity.

Sound like a good way to tackle this?

It looks basically all done to me though with all the hard work already done by @SpotlightKid, just some housekeeping to do. Am I missing something?

On Wed, Aug 2, 2017 at 4:32 PM, Christopher Arndt notifications@github.com wrote:

What's basically missing for a 2.0 release is updating the branch with the newest developments on master, writing up an "upgrade notice" (the frames file gets updated automatically, but it's a one-way process, though there is a tool to convert between old and new format and vice-versa), and then doing a release.

I'm afraid that I don't have the time to do it at the moment until at least october. I'm currently taking some time off from programming to pursue some other projects. But I can assist with advice.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TailorDev/Watson/issues/145#issuecomment-319605868, or mute the thread https://github.com/notifications/unsubscribe-auth/AAALMuoHjU494GY3BHrfQMOmcHldw7Djks5sUDQZgaJpZM4LXzLP .

SpotlightKid commented 7 years ago

My plan after that will be to put a pull request on @SpotlightKid's fork and then have Spotlight PR those changes into the original #115 and #119 tickets to maintain continuity.

I think I'd preferred it if you branched off from my branch and then submitted your own PR based on mine, so I don't have to be involved. I'll be on holiday starting next week.

Also, don't forget PR #140.

gapurov commented 6 years ago

Any updates on this issue? Thanks for your time.

peterdutton commented 5 years ago

Agreed, it'd be great to be able to add comments to a frame.

ThomasWaldmann commented 5 years ago

The first thing I wondered about when looking at watson is how to add comments after stopping working on some task.

It maybe depends a bit on what kind of project you work. But when e.g. doing systems checking / maintenance for a customer, it is often not that clear in advance what will be done specifically, but after you've done it, you'll know. But you need to be able to put a comment into time tracking, because otherwise you won't remember it later.

ThomasWaldmann commented 5 years ago

Partly duplicate to / overlapping with #93.

thmsklngr commented 1 year ago

I also would like to see comments/notes on frames. In some cases tagging may not give you the ability to track an activity completely.

Btw. excellent work, a very good example to me on how to use click for a larger project.