Moon-Jumper Tasks

From Adam Colton
Revision as of 18:32, 19 October 2017 by Adamcolton (talk | contribs) (→Tasks)
Jump to navigation Jump to search

Tasks

A task can take a list of conditions. It will only show up as active when all it's conditions are met.

Basic Fields

  • Name: name of task
  • Notes: additional notes, hyperlinks are automatically linked. Should add a task notation link too.
  • Points: time/energy requirements of the task
  • Label: task context

Read-Only / Computed Fields

  • State
    • Active: task can be worked on. It will show up in lists and when the priority is high enough, it will show up in the main list
    • Backlog: tasks assigned to the backlog will never become active until they are removed.
    • Pending: some pre-req hasn't been met.
  • Date Active: when a task changes from pending or back log to active, this is updated.
  • Date Complete: date when a task is marked as done

Conditions

  • Date: when a task is given a date, it will not be active until after that date.
  • Task: a task can be made dependent on other tasks, it won't be active until all dependent tasks are completed.
  • Group Stage: a task can be added to a group, it is part of a stage. Only when all prior stages are complete can you work on that task
  • Date Range: Takes two month/day and returns true for dates in between.
  • Set: creates a set of conditions so that if you want several things to work off the same conditions, they can all be wired to the same set.

UI Conditions

  • Button: Can only be pressed once.
  • Switch: Can switch on and off.

UI conditions can themselves have display conditions. So a button can be set to not show up until some task is complete.

Maybe Conditions

  • Weather: takes the users location and lets user exclude tasks based on certain weather conditions (temperature, rain probability). One catch is that this should not reset the active date.

Repeaters

A repeater returns the next date in a sequence, or returns nothing, indication end of repetition.

  • Until: Will repeat until all it's conditions are met. Always returns today or nothing.
  • Days: Repeats some number of days after completion
  • Week: Repeats by day of the week.
  • Month: Repeats by day of the month, negative means counting from the end of the month.
  • Date: Takes a month/day.

Priority

This is always hard to get right.

I like the 4 priority stages I use. 3 normal levels and Now that means it always shows up in the main list (overriding point limits).

I'd like to add a hidden secondary priority. Each priority level forms a queue. When a task becomes active, it's set to the bottom of it's priority queue. You can also "Bump" a task to send it to the bottom of the priority queue.

  • How would you promote a task?
  • What to do when changing priority?

Label

Maybe do calendar import: Import a calendar and scale a labels point based on free time.