Iterate on drag and drop interactions
Problem
While working on Epic Swimlanes we am running into constraints around our drag and drop interactions. I am thinking drag and drop ideation can be a seperate effort from which things like swimlanes can benefit from once complete.
Some potential things to think about:
- Drop target design
- Currently we show an "preview" of the object about to be dropped. What happens if the object is particularly tall or wide (maybe even taller or wider than the area it is being previewed in)? An example of this would be dragging a tall board list or board swimlane (where the item could potentially be >1x the height of the screen.
- Could we simplify this drop target design in some way? Does it need to be a preview of the object, or can it be its own design?
- Design of object on drag
- Currently we show the entire object on drag. If the user is dragging a large object- this could get unusable fast.
- Is there some kind of minimized state of an object we could provide on drag?
- How do we best afford that an object can be dragged? How might we make good use of our drag handle icons?
- Where and how should we provide guidance on which axis a user can drag?
- How do we indicate that a drop target is not viable, that a user can't drag an object somewhere, and why?
- How do users "undo" or "abort" the drag action while it is happening or right after?
- How do we confirm an action has taken place as intended?
- Any microinteractions around dragging, landing/snapping in place, undoing?
Anything else?
Solution
TBD
Here are some very rough ideas from gitlab-org/gitlab#7371 (closed)