I think Vikunja is great but the UI is honestly lacking here and there. My main problems coming from Toodledo and liking TickTick was:
Separate Page for Task details instead of beeing able to edit everything directly within the same page and not loosing focus
easily changing start date, as this is my go-to tool do keep me sane (with filters not showing tasks that begin in the future)
automatically order starred tasks(favorites) at the very top (micro management for the day for the ultra “i do it now first” tasks)
do not show project name if it is the default one
group by priority and not show the priority every time
I have adapted the frontend code and wanted to show the progress so far. i plan to also redo the overall fields, ui etc. so that it looks better but the main idea is working for me now. have a look at this video:
Ideally one can keep it as clean and functional like ticktick. especially the right sidebar side, where you can have a big intelligend note field. maybe even some similar functionality like notion
For now i have created a new overview route for myself and copied the necessary components, which i needed to adapt into the folder. not very DRY - also the whole code is not really meant for a PR. however if this is super interesting for others and i make good progress i can see this maybe shared in some form or another. Given that my requirements are maybe very unique i don’t want to pressure this ui into everyone’s instance. Let me know what you think…
Looks really nice. I think we can add a few things from your improvements:
The edit view in a sidebar: We had something like that in the past, but it didn’t have all options and became cluttered really fast. It was accessible by clicking on a “pen” icon on the right, maybe we could find a middle-ground between the two.
Group by priority: Could be made a setting - in the future it will be possible to show tasks grouped by buckets, similar to what Todoist allows you to do with their sections. We could have an option “Group by” with options none, buckets, priority.
Favourites at the top: That could be another setting to define the sort order. You can also adjust the position manually, if you want to have more important tasks at the top.
You could probably achieve some of what you want with a saved filter and due dates (maybe a filter “show me only tasks with a due date within the next 7 days”, as the due dates are already surfaced inline and can be easily changed).
What do have in mind specifically?
We’re currently in the process of redesigning a few things, not that we step on each other’s toes.
i think the sidebar is a really great addition and there is a reason why other editors also provide this, because you are not loosing context. glad to hear it was there at some point and at least is a consideration.
i know that some of the functions (especially hiding start date) are already possible today. i did that already just stumpled across more issues and then decided to have it directly there in my new view. for that i am basically just using the same filter settings as with the custom filters. I didn’t know that i could also use due dates, makes sense. the only downside is that i actually use both, starting date and due date sometimes for tasks which i want or can only start in the future and also have an actual due date until they have to be completed.
a general grouping functionality would be really nice yes! i didn’t know about the manual sorting of tasks,thanks for letting me know.
let’s do the following: given that my fork is anyway highly customized and you are working on a redesign anyway, i will try to come up with some nice additions myself and also work on the ui. i don’t think i will waste too many hours on that, so that anything that comes out of it and you like it, can then be agreed on to be maybe merged/integrated back into vikunja main.
for now i would say the sidebar panel is mostly the one which i would vote for to be integrated. i used “vue-resizable-panels” lib for that.
will also share my code in the next 2 weeks by creating a repo on my git instance.
some update here - i have now a nice sidebar that is sticky (scrolling with the viewport). also i put the action menu in a popup as space is king and the additional click is justified imho. i also set the default time for start date to 0:00 (in my view if you don’t want to see a task in 99% of the cases you just want to move it to a day in the future and not necessarly to a specific time).
there are way more things i did… some of them quite specific to my use case. in terms of compatibility i created a new “compact” route and tried to put everything there that i changed. also a completely new css file. by that i can more easily merge changes from main to my branch.
i also updated the mobile flutter app (lot of env changes) and refactored the dashboard to have priority grouping (like i did on the web) and a button to hide/show future tasks.
building this in docker and then copying the binary to my server docker instance works too so that i have a productive environment now.
i also created a toodledo → vikunja migration script. however as i don’t understand GO i needed to make this via a node script which is just calling the vikunja api over http requests. worked fine to migrate all my tasks and projects.
here’s a video:
and i forget to show the action menu so here is another one:
I am unsure if this is something to merge into Vikunja, if we go that route it should be behind a user setting. And how should it behave with other views?
I think we could go one change at a time, maybe start with the priority grouping first. Ideally, that could be done through computed buckets, which are on the roadmap for the version after the next release.
Do the keyboard shortcuts still work when you hide it away?
ChatGPT is pretty good with converting code between programming languages
no problem i understand it is a big change. currently it is quite isolated and only used on the overview page. so no interfering with any other view, they still behave the same (old) way.
obviously the best thing would be to ask the users how they actually use vikunja or if this is something wished for.
let’s indeed with the simpler stuff:
grouping setting (by date, by prio, manual, …? ) [will wait for the computed buckets if that makes more sense]
a user setting for the “new tasks” defaults. currently you can only select the default project, it would be great to also define other defaults. in my case i have set the default prio for new tasks to 3. but there might be certainly other settings as well. [could be done now?]
ok i started on the whole task defaults view page in the settings. the frontend looks good however i stumbled across a few problems as it seems i would need to also change the DB structure and add a column. given my lack of go understanding it was hard for me to continue without breaking anything. for now the progress is here. The setting is not yet persisted on the server and also not used for new tasks yet.
currently the project default id for a new task is not part of the frontend settings. i thought it should be on the same DB “level” as this one given the similar requirement. If it is fine for you however, of course i can put it there…