Vikunja is a great project and I’m currently considering migrating from Tracks, which I’ve been using for the past 10 years.
But I think the current overview page, or the workflow for tasks that are important today could be improved.
The Problem
There is always more I could do than I actually do, so the list of tasks tends to grow over time.
As a result, it can be really overwhelming when you are greeted with a page that shows 200 tasks that is stored somewhere in the system, opposed to the ~10~20 tasks that are really important today.
Tracks’ Solution with respect to Vikunja
Tasks in Tracks have two dates, a “due date” and a “show from date”.
This is very similar to Vikunja’s “Start Date” and “Due Date”, but “Start Date” is more about tasks that have a duration, rather than hiding tasks that only become relevant in the future.
On Tracks’ first page you see all tasks with a “show from” date that is either unset or is in the past.
All tasks with future “show from” dates are hidden by default.
This is greatly reduces the number of tasks you see on your todo list each morning.
This could be achieved by setting start dates for all tasks in Vikunja and using a “startDate<now” filter.
In the demo I didn’t find a way to permanently set a filter for the Overview page though.
With such a workflow it also becomes important that you can quickly set a “show from” date for many tasks in a list.
In Tracks there is a simple interactive drop-down button next to each task with the options “Defer 1 day”, “Defer 2 days”, “Defer 3 days”, and “Defer 7 days”.
Vikunjas “Start Date” drop down is actually much better than this, offering more options and showing a small calendar to pick a specific date.
But it is not accessible from the task list, and this would also abuse the concept of a tasks with a duration and a set “Start Date”, opposed to a “show from” date.
In my daily routine in Tracks, I open the “Today” page and defer any task that I don’t want to see for the rest of the day.
The “drop-down and defer” workflow allows me to quickly decide what I want today to be about, and I can decide when I want to see that task again, when it might be more relevant to revisit it.
After all these years I really think that this is reducing stress and overwhelm and makes me more productive with managing my tasks.
A Proposal
So to outline a different approach in Vikunja and open the discussion about it, how about this:
- The “overview” page stays as it is, since it is useful to have a “show everything” page
- But it moves to the second position in the sidebar
- Maybe add the “Filter” button on the top right also to the Overview page? (At least I couldn’t find it in the demo)
- The new default home page is a “today” page, with the purpose to manage any task that might be relevant today (could also be called “home” or “now”, …)
- Tasks might need an extra “show from” date. Or do we start abusing “startDate” for that purpose?
- Task lists, especially on this new “today” list get a new quick-set button for this “show from” date
- Keep the “Add a task” field at the top of the new first page. (Maybe also on the Overviwe page?)
There certainly are implications and decisision of how to handle such a “show from” date for tasks in other views.
I think the different project views should ignore such a filter by default and show any task related to the project.
These pages are to think about all tasks related to a certain activity.
It also feels like this would tightly couple to the existing filter system and it’s more about reevaluating the purpose of different pages/views and which default filters might be useful there.
Possibly Related Discussions
There are a couple of discussion in the past that already touched on these ideas, be it by setting a custom filter for the overviwe page (“Customization Overview Page”), or a discussion on “Hide tasks where Start Date is in future”, which is basically the filter idea again.
“Better ways to show Current Tasks” is another topic discussing filters for the overview page.
Also setting the default due time to the end of the day (“Default Due Time”), a “show from” date would be most useful for the beginning of the day (maybe 0:00, maybe 6:00?).
“Overdue tasks persistance” - is discussing the purpose and look&feel of the default pages on the sidebar.