Temporal nature of tasks (Work in progress)

For Tasks V2.0 we treat all tasks as discrete events. However, this isn’t actually true on the farm. At least the following use cases are known:

Temporal case

Definition

How it works

Example

Notes

Temporal case

Definition

How it works

Example

Notes

One time (single day)

This type of task happens once and can be completed in one day.

User 1 creates a task and assigns it to User 2 with a due date.

User 2 receives a notification on that due date and may mark it complete or abandon it.

Harvesting a small amount of wheat. Patching an individual hole in a fence. Seeding a few trays of tomatoes.

The only supported case in Tasks V2.0

One time (multi-day)

This type of task happens once but may take multiple days to complete.

Proposal:

Harvesting a large amount of wheat. Seeding a crop on a very large field.

This case can almost implicitly be handled by assigning the task to be due on the day the task begins. The task would show as “late” for some portion of the time it takes to complete it.

Right now our interaction for duration while completing a task doesn’t allow entries greater than 24 hours.

Over a period

This type of task happens throughout a range as it’s needed.

Proposal:

User 1 creates a task and assigns it to User 2 with a date range for completion.

User 2 receives a notification on the first day of the date range and may mark it complete or abandon it. When marking it complete, they can indicate whether there is “more work left on the task” or not. Abandoning would work the same as in Tasks V2.0.

Harvesting tomatoes as they become ripe over a 6 week span.

 

Recurring

This type of task happens on a set cadence, e.g. every Tuesday or every other day.

Proposal:

User 1 creates a task and assigns it to User 2 with a due date. At the same time, they indicate a schedule and number of iterations for that task moving forward. Any changes to the due date or assignee would prompt the option to modify that individual task or the series.

User 2 receives a notification on that due date and may mark it complete or abandon it. From User 2’s perspective, there is no different from a One time (single day) task.

Scout the fields for pests once a week for the first month after planting.

Would need to handle changes to individual tasks and series of tasks. For example, if rains push a planting, they’d likely push scouting too.

 

@David Trapp