Razeeman / Android-SimpleTimeTracker

Simple app that tracks time.
GNU General Public License v3.0
542 stars 69 forks source link

Mood Tracking #143

Open emrestive opened 6 months ago

emrestive commented 6 months ago

There will be mood levels in the section where the activities are located, after the user selects one of those levels, he will express his current mood, that is, it is not a one-time event for each activity, there may be different mood levels during the activity.

As a result, there should be a report section showing what the feeling was at what time of the day and what we felt while doing which activities.

thehale commented 4 months ago

Have you considered making a general tag for each mood that you want to track?

That would let you choose an activity + a mood. If your mood changes during the same activity, stop, then restart with the new mood tag.

The statistics already work well for filtering by any tag, so you would be able to get the reports you want there.

cogk commented 4 months ago

While I understand the appeal of this feature (and as a personal note I did track my mood for some time in a spreadsheet), I'm not sure this feature request is inside the scope of Simple Time Tracker. Aren't there other applications that are a better fit for your use case?

However, if your mood depends on the activity then a general tag as suggested above might work.

testfailed commented 4 months ago

Have you considered making a general tag for each mood that you want to track?

That would let you choose an activity + a mood. If your mood changes during the same activity, stop, then restart with the new mood tag.

The statistics already work well for filtering by any tag, so you would be able to get the reports you want there.

It is a decent solution, but it would be much better if those general tags have some sort of scores. I've made some tags like 'focus1', 'focus2', 'focus3', ... but it is very cluttered and hard to manage if the kind of those tags are getting more and more.

Also, it doesn't have a meaning of numeric score, so it is not possible to calculate, e.g., avg. focus score this week, or plotting avg. focus scores into a graph by month.

If a tag can have a score property with min and max value configurable (e.g., single tag focus with a property score[1~5]), then it would solve both of the problems above.

Razeeman commented 4 months ago

Hello! Thank you for the suggestion.

A little tag rework is planned for future updates.

One thing is would be removal of "show even for only general tags" setting and adding instead s setting to choose for which activities a tag selection dialog would be shown.

And another though was adding some kind of "special tags". One would be weighted which would have a certain weight assigned, which would allow for wages calculation (for example, worked for 3 hours, record assigned a tag with weight 8$ per hour - record have a 24$ value). And another kind would be a mentioned scored tag, with assigned score for example from 1-5, which allow mood tracking. Different kind of tags would have different statistics. For weighted tag it would make sense to have accumulated graph (to see how much I earned in a month), and for scored tag - average graph (to see how the mood is fluctuates).

Hope this makes sense. This is just an idea floating, and not sure if it will be possible to implement.

testfailed commented 4 months ago

And another though was adding some kind of "special tags". One would be weighted which would have a certain weight assigned, which would allow for wages calculation (for example, worked for 3 hours, record assigned a tag with weight 8$ per hour - record have a 24$ value). And another kind would be a mentioned scored tag, with assigned score for example from 1-5, which allow mood tracking. Different kind of tags would have different statistics. For weighted tag it would make sense to have accumulated graph (to see how much I earned in a month), and for scored tag - average graph (to see how the mood is fluctuates).

scored tag: weighted tag with pre-defined values, for example mood[1-5] or focus[1-10] or priority[1-3] weighted tag: weighted value should be entered whenever it is selected. For example, if user selects wages tag it prompts user to enter the value of $ per hour => user can enter 8, 24, 16, etc.

Am I get it right?

Also I wonder if weighted tag can have pre-defined values + custom input value. For example if user selects wages tag it shows user like

[8, 16, 18.5, 24, <Enter Value>]

where user can select either pre-defined value or <Enter Value> when there are no matching input value, preferably user can select checkbox 'Adding it to the pre-defined values' on the prompt.

Razeeman commented 4 months ago

@todaypp Something like that, yes.

testfailed commented 4 months ago

Different kind of tags would have different statistics. For weighted tag it would make sense to have accumulated graph (to see how much I earned in a month), and for scored tag - average graph (to see how the mood is fluctuates).

I think 'mood' or 'focus' seems more like a weighted tag rather than a scored tag.

For example, users may want to put more weight on mood[1] for 8 hours than mood[1] for 5 mins, expecting stats for its weighted values, not just for its frequency or trend. But I guess it's up to users to decide which one is weighted tag and which one is scored tag.

I think this feature is very useful in a variety of use cases, at least for me. Thanks for the great works 👍