Does the world need another task list app?
There are limitless options out there, but none seem to provide a simple way to answer this question:
"I have some time, what should I be doing right now?"
To answer this, a tool must elicit and cater for a wide variety of tasks effectively without requiring excessive maintenance. Most critically, it must allow all tasks to be prioritised in a single view.
The term "task" is very broad; we can split it into several types and cater specifically to each:
The significant distinction between these types is not the way the tasks do or do not repeat, but rather that each type serves a different intent for the user. This is why the mental model is easy to learn.
Task repetition and due dates are supported by many task list apps. Here they are not just supported - they are the common element across task types, used to provide a prioritised view of all tasks at any given time.
On a desktop screen the three task types can be presented separately in a single screen.
Each list is sorted by next due date, allowing the user to glance across the lists to select an appropriate task to complete. The user can add/edit tasks in a modal dialog, making this a single-page app. Recurring tasks will move down the priority list when marked off (using motion to move).
A timeline allows the user to assess recent performance and upcoming tasks in a glance.
This depends on the colour mapping for each task (or tooltips shown when hovering on the timeline), but will become easy to interpret quickly for an experienced user.
For a task list to be effective it must be accessible anywhere at any time, and that means on any device.
The challenge is to cater for all screen sizes while maintaining a consistent experience. On smaller devices it makes sense to combine the task types into a single prioritised list, to provide an equivalent glanceable view to what is seen on a desktop.
The tasks you'll never do.
There are always a few tasks that sit at the top of the list getting more and more overdue. This design is vulnerable to that issue, as higher priority tasks would become less visible. One solution to this is to decay tasks that are sufficiently overdue, pushing them gradually down the list. This serves two purposes:
This feature must be managed carefully however to ensure the user understands what is happening and has opportunities to react appropriately.
Fitting a detailed timeline on the page.
The timeline contains a lot of information in a very small space, necessitating the use of colour coding, which is laborious to interpret. It would be better to use a vertical timeline where there would be room to include the task names and scrolling could be used to navigate, however that presents the challenge of where to situate the "present day" part of the timeline, which should ideally be the starting point but is in the middle of the timeline.
Pay the bill before you take a walk.
Due date alone doesn't comprehensively reflect priority, and not all tasks will have a due date. A combination of configurable attributes and intelligent weighting is needed to ensure display priority, while not perfect, doesn't lead users astray.