Move a task to a different project by dragging and dropping

Not sure if this has been discussed before, but having a way to quickly move tasks to different projects would be a great feature to improve the management and organization of tasks. Right now, the way to move a task to a different project is by 1) clicking on a task to see detail, 2) clicking on Move, 3) type in the project where the task is to be moved to, 4) click on the project.

Being able to drag and drop a task to a project on the side bar would streamline this process and enhance the user experience IMHO.

2 Likes

No hate-- I’ve written lots of open source code and know how much effort features take to implement and what impossible backlogs look like-- but this actually just lead me to kill the VPS I set up to evaluate Vikunja and go back to TickTick. .

Here was my flow: I spent a good chunk of time dumping a few dozen tasks for work, home, medical stuff, habits, etc. into my inbox, then set up projects based on how I thought they should be categorized. Then, as I have in all other task management applications, I thought I started distributing them to the other lists by dragging and dropping. After thinking I was a dropping a screenful of items into other projects, I noticed that the first one suddenly popped up again! Sure enough, the other projects were empty and the tasks were still there, just being re-ordered.

I’ve done a bit of UI design, and this is my quick analysis: when people see a drag and drop mechanism, they generally assume that they can drop things on any container that holds that type of thing. It’s not even particularly obvious that it has not moved if you try and drop it onto a list because there’s no snapback animation, the item is no longer in the list at the location you dragged it from because it triggered the sorting functionality within the list and glancing back, the item seems like it moved, especially because the subsequent items shift. In other words, users assume they can drag and drop items onto another list, and if they could, the visual cues would be exactly the same as they are now. If you have a big list, the only way to see that it doesn’t work is to read the whole list which users won’t intuitively do with such a common UI interaction model. Also, considering that the default project is named Inbox and one of the most common facets of task management workflows is dumping tasks into an Inbox and then redistributing them, I assumed there would be some way to either move them from the task view either in a bulk operation (multiple select and then move) or quickly drag and drop.

Since the existing functionality requires a multi-click operation on separate screens for each task, it would take over an hour: it would be significantly faster to switch back to TickTick with a fresh account starting from scratch and write this comment than it would be to distribute all of my tasks, and with dozens of outstanding things on my task list that also need my attention, I just can’t justify spending the time to do that to get integrated into an app that pushes against my workflow every day.

Otherwise there’s a lot I like about Vikunja, so when I’ve got more time on my hands, I’ll look into throwing in a PR for this if I don’t see one in progress.

Unrelated Aside: I have a personal preference to avoid oauth sign-ins so I tried to sign up for this site with just the U/P approach, but no matter what I put in as a password, it was listed as too common, and once it said the password was the same as my username. I use a password manager so they’re all 16+ characters from multiple character sets, so neither of those things was true. The GH sign-in, obviously, worked just fine, though!

Also, I was going to put in an issue for this on Gitea, but when I tried to sign in with GH, it said I had to contact the site administrator to approve the account, so I just deleted the oauth approval. Wanted to let you know in case that wasn’t intentional.

Thanks for the insight!

This has already been discussed elsewhere:

I’ve just moved it up in the backlog.