-
Notifications
You must be signed in to change notification settings - Fork 0
A free task management system
License
carlor/Tasker
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Tasker 0.2.3
Copyright (C) 2012 Nathan M. Swan
Licensed under the GNU GPL, see the LICENSE file.
Overview
--------
Tasker is a task management system designed to leave little choice to the user,
forcing them to do the unpleasant task rather than the easier and less urgent
task they prefer.
Building
--------
It comes as a NetBeans project, so that can be used, or you can use the ant
build script.
User Manual
-----------
Tasker shows the task you should currently be working on, the "current task."
It hides the other tasks, which are stored in a .tasker file (it automatically
opens the ~/default.tasker file).
The information it displays is:
1. Absolute effort
The effort you specified when you created this task, a measure of the
time and energy required.
2. Days left
The urgency of completing the task, a measure of the time left until
the due date.
3. Relative effort
The amount of effort to be spent each day.
These are the operations which change your task list:
1. Add Task...
Launches a dialog where you configure your task. The description should
be a fully descriptive name for what the task is. Effort is, on a 0-100
scale, the time and energy required to complete the task. Choose the
date due, or weekly repetitions, for the Due Date.
2. Put Off
Puts the current task back into the list, taking out a new task. This
should be used, for example, with easy tasks that can be responsibly
put off. Don't use this feature too much, though, or you defeat the
purpose of Tasker.
3. Complete
Declare that the task is finished, removing it from the list of tasks
And displaying a new task.
4. Shuffle
Just like "Put Off," but it considers the current task. Use if, after
adding a batch of tasks, you want to see if one is more important, or
if you should continue on your current one.
5. Taskdump
Displays info on all tasks to stdout. If you do not know what this
means, this feature isn't for you.
Technical Details
-----------------
It chooses tasks based relative effort, defined:
relative_effort = absolute_effort / (days_left + 1)
Absolute effort is a 0-100 user-defined measure of the time and energy required
of the given task, while days_left is the number of days left until the user-
specified due date. Relative effort can be seen as effort per day.
But if the task is late, another formula is used:
relative_effort = absolute_effort * 2 * days_late
This puts late tasks at the top of the list.
Tasker doesn't just choose the task with the highest relative effort on the
task list as the next task. Doing so could force the user into doing similar
hard projects, and sometimes they need a break. Instead, it randomly chooses
a task from the list with bias towards higher relative effort.
To be mathematical about it, it chooses the nth index of a list reverse sorted
by relative effort where R is a random number of Gaussian distribution where:
n = floor(|2R|)
It reads from the task file that's been opened, which is in a text-based format
with time measured in millinix-time (milliseconds from the Unix epoch). This
is the grammar (a superset of the tasker0.1 format):
TaskerFile ::=
'tasker0.2' ['empty' | NotEmpty]
NotEmpty ::=
'current:' Task 'others:' (Others)
Others ::=
[Task | Task Others]
Task ::=
Description AbsoluteEffort MillinixDueDate
Description AbsoluteEffort '0 0' DaysOfWeek MillinixFirstDueDate
The description will have underscores ('_') in place of spaces (' ').
Future incompatible versions will have different signatures.
About
A free task management system
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published