Sunday, July 11, 2010

Repeating Tasks Use Case

Repeating Tasks are a common request for Todo Q & something I've been working on for a while. The implementation will allow the easy addition new or custom repeat rules. The following is a raw document I created and just decided to release. I welcome input on alternate repeat rules and or strategies that I might have missed.

Use Case: Repeating Tasks

Tasks can be marked as repeatable with a custom time period.

The user can select one of the following values in the dropdown:
Every Day
Every Week
Every Month
Every Year

The application will then store this value & use it when a task is completed
to schedule the next one. Custom repeating tasks require additional user input.

Custom Repeating Tasks

D1-Every day
D2-Every weekday
D3-Every N days

W1-Every Sun/Mon/etc
W2-Every N weeks on {d1, d2, ..., dN}

M1-Day X of every N months
M2-The first/second/etc Sun/Mon/etc of every N months

Y1-Every year on MM/DD
Y2-The first/second/etc/ Sun/Mon/etc of Jan/Feb/etc

No end date
End after N occurrences
End by X date

Repeat Rules

D1 - no inputs
D2 - no inputs
D3 - how many days

W1 - which day of week Sun/Mon/etc
W2 - how many week apart, which days of week

M1 - which day of month, how many months apart
M2 - which one, which day of week, how many months apart

Y1 - which date MM/DD
Y2 - which on, which day of week, what month


String ruleType
String ruleValue

DateTime calculateNext(RepeatRule rule, DateTime time)


Please comment below or email me if you have suggestions for the repeating tasks implementation.

Todo Q is available for $1.99 on the android market.


1 comment: