Page MenuHomePhabricator

Optimize the UX for moving a task between columns in the Workboard
Closed, WontfixPublic

Description

Imagine a board with two columns, Col1 is very long and Col2 is empty. Now I want to move a task at the bottom of Col1 into Col2. It is very hard because:

  1. there is no direct editing panel for it and I have to drag and drop the task
  2. When dragging the task, the document wouldn't scroll automatically when the task is dragged to the screen edge, therefore there is no direct way to drag the task from Col1 into Col2

Therefore I see two things can be added:

  1. A quick editing panel that move the task into a certain work board (similar to trello)
  2. Simliar to T4221: Dragging Maniphest task to the screen edge should trigger scrolling, triggering document scrolling when a task is dragged to the viewport edge

Event Timeline

chengyin assigned this task to chad.
chengyin raised the priority of this task from to Normal.
chengyin updated the task description. (Show Details)
chengyin added projects: Maniphest, Workboards.
chengyin added subscribers: epriestley, chengyin.
chad removed chad as the assignee of this task.Feb 26 2014, 10:28 PM
chad added a subscriber: chad.

I am currently trying to use the board feature and here is my proposal:

Make all boards the same height so you can just drag and drop without vertical motion.

A tentative/partial approach here would be to make the entire vertical column a drop target (that is, extending 100% of the height of the page) and distinguish between "dropping onto the column" and "dropping into a specific place in the column". That would resolve a related issue too, which is that dropping into a column how means "move to the target column, and adjust the priority if necessary to keep the column priority-ordered", which isn't necessarily intended (@mbishopim3 talked about this yesterday in IRC).

So the column itself wouldn't necessarily be full-height, but the drop target would be.

Without the distinction between "drop into column" and "drop into a specific place in the column", all of these drag operations would always re-prioritize the task to be lower than the lowest priority task in the column.

We could also do the internal scrolling thing that Trello does, but I generally dislike this conceptually. It deals with this in an OK way (and means you always have access to the bottom of every column, so we could put buttons/controls there), but you lose the sense of scale and can't scroll-wheel the whole page anymore.

Agreed. At least in our use cases the task will have a priority and having column moves change that will almost always be unintended.

On that, another option would be to get rid of priority ordering entirely, or make it an option or view filter. I think it's probably a useful feature for many use cases (particularly where tasks are managed on a mixture of boards and through Maniphest) but if you're only using boards you might not care and would rather have the backlog column be time-ordered and everything else just arbitrarily stay where you put it.

I think the "useful to most people" version is how it is now. Columns are priority ordered, dragging into a column thus adjusts the tasks priority relative to where you drag it. I think this should be the default default where if you make a project and click "workboards" this is what you get.

I would support options / configuration to change this behavior a la T4431.

I would love a way to configure work boards.

I personally do not find the re-prioritization very useful or intuitive. If I drag a task into the next column, I have to be sure to put it in the right place or it will change priority. In our flow, moving the task to the next column is far more frequent of a task than re-prioritizing a task. For us, it makes more sense for if you want to re-prioritize a task, you go in and edit the task and change the priority, however, I do see the value and use-case for being able to quick re-prioritize by drag and drop.

Perhaps have "reprioritize on drag and drop" have three options "always", "never", "if moved in the same column".

As an added note: How do you drag and drop to quickly change a task to a priority that no other tasks have yet? Is it possible?

You used to be able to scroll the page (scrollwheel) while dragging and get things exactly where you wanted them. This broke at some point and when you scroll, the task you are dragging and the mouse pointer diverge. If that were fixed it would significantly help things (though there are better solutions yet, as described here and in T5002)

epriestley claimed this task.

This task is mostly dealt with elsewhere:

  • Scrolling Behaviors: See T5240. In particular, we're (at a minimum) fixing scrolling with the mousewheel (D10186) and making dragging something near the edge of a scrollable area scroll it (D10188).
  • Ordering Behaviors: See T4807. We've introduced a default "natural" order.

Things we aren't specifically doing yet are:

  • internal scrolling for columns;
  • making the entire column a drag target;
  • adding a dropdown menu with a "move to..." option.

We might do this stuff after T5240, but should wait for feedback on that. The rest of this task meanders all over the place so I'm just going to throw it a fire.

See also T5523 for some overlap.