GothenburgBitFactory / taskwarrior

Taskwarrior - Command line Task Management
https://taskwarrior.org
MIT License
4.45k stars 306 forks source link

[EX-37] productivity rewards #33

Closed taskwarrior closed 6 years ago

taskwarrior commented 6 years ago

David Patrick on 2009-12-04T07:52:13Z says:

Task will already nag; "Is that all ya got ?" (or whatever you chooses to prod yourself with) but in the same spirit, task could be taught to let you give yourself rewards for certain arbitrary levels of productivity.

Let's say you decide that you want to complete at least ten tasks a day, and that at least four of those have to be High priority.

If you could define your goals in the .taskrc, something like

.### daily productivity rewards reward.day.4=pri:h reward.day.6=pri.any: reward.day.message=Congratulations! You've reached todays productivity targets! Play 1/2 hour of video games guilt-free! reward.week.12=pri:h reward.week.20=pri.any: reward.week.6=proj:baz reward.week.message=You are a mighty Taskwarrior! Make reservations for 2 at Chez Louis!

you could goad yourself to greatness.

taskwarrior commented 6 years ago

Migrated metadata:

Created: 2009-12-04T07:52:13Z
Modified: 2017-01-17T02:37:23Z
taskwarrior commented 6 years ago

Paul Beckingham on 2009-12-04T21:31:59Z says:

Could you include some real command line examples of using this, and how task responds? It sounds very similar to an old feature I couldn't think of a name for and never implemented.

taskwarrior commented 6 years ago

David Patrick on 2009-12-04T22:32:52Z says:

Paul Beckingham wrote:

Could you include some real command line examples of using this, and how task responds? Not really and yes Not really because other that changing the reward values with something like

$ task rc reward.daily.6=pri:l

there in no direct cli action needed. Rewards are (self) granted when the conditions defined in the rc are met. completed 6 pri:l and 4 pri:h tasks today ? the message pops up

Congratulations! You've reached todays productivity targets! Play 1/2 hour of video games guilt-free!

It sounds very similar to an old feature I couldn't think of a name for and never implemented.

new as far as I can remember.. which is about |-----------------------| this far.

taskwarrior commented 6 years ago

Paul Beckingham on 2009-12-04T22:46:02Z says:

The feature I was thinking of (which I don't think ever came up in conversation) was milestones. It would work something like this:

You first create a milestone

$ task milestone m1 "Take a bath"

Then you add it as a tag

$ task add find all the candles +m1
task 1 added
$ task add take phone off the hook +m1
task 2 added
$ task draw the water +m1
task 3 added

Then when you complete all the tagged tasks:

$ task do 1
1 task modified
$
$ task do 2
1 task modified
$
$ task do 3
1 task modified

Milestone "Take a bath" reached.

$

Then you could look at your milestones:

$ task milestones

Milestone  Description  Status
* --------  -----------  -------
m1         Take a bath  Achieved

But I could never decide if it was useful or just silly. Silly was the conclusion.

taskwarrior commented 6 years ago

David Patrick on 2009-12-05T10:16:52Z says:

Paul Beckingham wrote:

The feature I was thinking of (which I don't think ever came up in conversation) was milestones. But I could never decide if it was useful or just silly. Silly was the conclusion.

VERY interesting and basically the same behavior as "reward", but in specifying specific tasks. I don't think it's silly at all. We've never discussed milestones, but we should !

I see your example uses an arbitrary tag "+m1", I can see achieving this using (in .taskrc) something like

milestone.MyMilestone.all=tag:m1 milestone.MyMilestone.message=You have reached the Phase 1 milestone ! Break out the champagne ! milestone.Proj-X.all=proj:ProjectX milestone.Proj-X.message=No more tasks for Project-X, hurrah ! what about Project-Y ?

as an alternative to the (quite compelling) cli example you give above, which might be the front end, while my example might be the back end.. ?

taskwarrior commented 6 years ago

t charles yun on 2009-12-08T18:22:09Z says:

i want to chime in that this is a great idea; i like it; i want it. my question is how milestones are visualized during a simple task list scenario.

specifically, what happens when one has tasks with different: due dates, project names, etc.

it is too late in the evening for me to come up with decent examples, but I think that there are some details here worth hashing out.

taskwarrior commented 6 years ago

David Patrick on 2009-12-09T08:58:20Z says:

tcharles yun wrote:

i want to chime in that this is a great idea; i like it; i want it. and eventually, you shall have it!

my question is how milestones are visualized during a simple task list scenario.

There are two distinct things hinted at; rewards and milestones. Rewards are designed to encourage a rate of task completion, and Milestones are to indicate an important step in a specific project. The suggested mechanisms for both are very similar, and neither would appear in a typical listing, but instead, would pop-up a message when a pre-specified set of tasks, or number of tasks, has been completed.

taskwarrior commented 6 years ago

Federico Hernandez on 2011-05-30T22:50:58Z says:

not really ready for 2.0.0

taskwarrior commented 6 years ago

Paul Beckingham on 2017-01-17T02:37:23Z says:

When subtasks are implemented, the parent will be the milestone, and the subtasks, when all completed will be the "reward".

pbeckingham commented 6 years ago

No plans to implement.