|
Description:
|
|
 So, I guess it's a series now. In our last installment, we walked through the reason behind the project and my vague ideas about how to go about it. Todoist Smart Reschedule Instead of looking for Todoist alternatives, I decided to implement my own Smart Reschedule feature, which they removed from the app not long ago. Art RosnovskyRosnovsky Park™ Part I: Why, what and howNow, I've been tinkering with the project for a little bit and want to share some of my observations and where things stand at the moment. Not much has changed in how I think I will approach task rescheduling. However, I tweaked the parameters a bit. Let me recap: Task age in days multiplied by -(Task priority) = Reschedule Score: a five-day old task with a no priority (Task priority:4) gets a score of -20. A two-day old task with top priority (1) will get a score of -2. - Tasks are divided into two groups:
overdue and future. Tasks within each group are sorted descending by Reschedule Score: a task with the score of -2 will be ranked higher than a task with a score of -20. I bet there's a more elegant solution, but for now this will do. - I removed the number of times the task had already been rescheduled before: it's evident to me now that this datapoint is not relevant: if a task has been rescheduled 20 times, it doesn't add anything to its importance (likely, the other way around). For now, I removed it from the equation.
- Extra data: I decided to also fetch labels and projects from Todoist. I don't know yet how I'm going to use it exactly (other than showing what task belongs to what project/label). I also decided to fetch my overall Todoist stats (completed tasks, Karma and so on), so that if I get to creating a UI, I have all the data I want to showcase.
Next stepsNext, I need to figure out how to go about, well, rescheduling tasks. As of this moment, the plan is this: - Figure out a good way to grade future days based on how many tasks they have and how important these tasks are. Maybe, priority multiplied by number of tasks? I need to figure out a way to reverse priority so that top priority task weighs more than low priority. A day with 3 medium priority tasks and 2 top priority tasks will then have a day score of 12. I can set a maximum capacity for a given day of 15 points, so for such day I'll only be able to add one top priority task or 1 medium priority and 1 low priority, or 3 low priority tasks. Not sure it's smart enough, though
|