The document contains:
Goal of release - simple discription of relase primary value
Features - high-level description of new features supposed to be delivered in this release.
Misc - all other information
In one sentance: ** "Make better tasks, allow tasks to be grouped into projects" **
The name of release is "Tasks to Projects". Main goal of this release is introduction of Projects functionality. This would involve changes in UI, new server side funtionality and API. As soon as Project functioality is release on web, it should be also supported on Android platform.
As a part of this release we are going to enchance existing Tasks functions. This would include: edit. planning, sorting and prioritizing of tasks.
All of functionality would be based on current (1.0.5) version of http://tracyt.net.
Task consists of such data:
Desciption (name) of task
Notes - any additional infomration user consider to put (editable)
Created Date - date the task has been created (non-editable)
Planned Date - deadline for task (editable)
Planned Effort - number of hours planned to spend on task (editable)
Actual Effort - calcualted total effort (non-editable)
There are 2 different type of tasks:
Memo: small to-do, user is not typically plan for Date with planned effort. This is a simple just complete task, like "Throw out garbage", "Call mom", "Check garage". Users create them to not forget. As soon as they are completed they put to done and typically deleted.
On-going: continues task, user is typically plan for Date and Planned Effort. This is ongoing task that take some time. User is interested in exactly time spend on task as well as meeting deadline. As sson as user completes the task, it is put to done state and left for further analisys.
Task witout Planned Date and Planned Effort is treated as Memo, otherwise it is on going task.
I can edit my existing task. To do that I double click on it. User is able to edit all editable fields (see F.110.Tasks.0).
I can prioritize tasks easily. It should be possible to just drag-n-drop a task for a any place in list. As higher task is list, as much priority it has. It should be also possible to put task on the top of the list with just one click.
I can sort all tasks. It should be possible to sort by: Name, Created Date, Planned Date, Planned Effort.
I can filter out some tasks. I have such kinds of filters: "Today", "Tomorrow", "Next 7 days", "Memos" (not planned)
I can search for task by name. If I put several letters in search box, search should actually start and suggest variant (aka Google Suggest widget). Search is done, by: name, tag name, date (any of date).
I can complete the task. It means I plan no actions for the task any more. I click on "Done" and task market as completed. It disappears from active list and appears on "Done" tag folder.
Tasks with overdue are marked as red. They are also appear on special view called "Tasks with overdue".
Projects are basically numbers of tasks grouped together. User migth have as many projects as he wish. Project might include as many task as user wish. It should be easy to see, what projects user have. Project are applied as different tags that could be put on task. Task might have as many tags as user wants.
All projects displayed as list sorted by project name (or created date??).
If project has some undone tasks, near project name user is able to see how many tasks is still undone. For instance:
** private  **
If project contains no task, it is marked as "green" or "completed"
By default, new task is not associated with any project. It belongs to group.
As it says in F.110.Projects.0, assigment task for project is basically tagging task. User edit task (F.110.Tasks.2) and put tags.
If I currently review some tasks for some project, in other words if some project is active, and I create new task, this task is automatically assigned for this project.
All completed tasks are automatically tagged ty 'Done' tag. It is always possible to see completed tasks.
It is possible to delete project. It is possible to delete project with tasks. Deletion of project would mean deletion of all tasks within project and project iteself. User must be warned about this operation and confirm it. As analog of deletion user could Backup project.
Backup of project is a kind of archiving project. User might decied to hold some project for unknown period of time. The project is then marked as 'Backup' and goes to backup storage. Later user might either restore project from backup, or delete it competely.
No radical changes to UI is planned, rather improvements. Dashboard and site might be changed a little.
It is also very important to support mobile platforms. Our primary platform is Android.