Tasks Basic Abilities - MFoster/breeze GitHub Wiki
What is a task?
NOTE: open to calling tasks actions, or tracks, or item, etc.
A task has:
- a name, such as "Pluck nose hair"
- a type, such as "Grooming", "Communication", "Creating", etc. May be tags, and may have multiple.
- an estimated time amount, possibly called "chunk" as in: 5min chunk, 25min chunk, 50min chunk
- a day and time it becomes available
- a day and time it is due
- the ability to be scheduled at a specific time, as in a meeting
- a creator
- a person/people who are responsible for it
- a day and time when it is started
- possibly a number of times when it is paused and restarted
- a day and time when it is completed
Nice to haves:
- repeat interval for repeating tasks
- ability to be grouped in a project
- ability to be assigned to a group
- pre-requisite tasks
- the ability to track how many times it has been deferred to later
- the data on how many times and by how long its time estimate has been lengthened
- awareness of its context, which may include location, time, etc.
- a parent to track a tasks ancestry, and can be used to see when one task sparks more tasks
These are some just general thoughts, so we can start thinking about what this app needs to be able to do. From a UX perspective, I want to make as many safe assumptions for things like due dates and categories as possible, while giving people the ability to quickly change anything they need to.