Bug 393454 - [DND] Drag and Drop of views/parts: bad user experience
Summary: [DND] Drag and Drop of views/parts: bad user experience
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.2   Edit
Hardware: All All
: P3 major with 2 votes (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: accessibility, helpwanted, usability
: 274145 (view as bug list)
Depends on: 420835
Blocks:
  Show dependency tree
 
Reported: 2012-11-02 14:48 EDT by Markus Keller CLA
Modified: 2020-08-25 13:52 EDT (History)
9 users (show)

See Also:


Attachments
drop area for "split horizontally" (40.76 KB, image/png)
2012-11-19 11:39 EST, Markus Keller CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2012-11-02 14:48:55 EDT
Please bring back the 3.x mode of drag and drop for views and editors. The current implementation is not only ugly (green borders), but even worse, it's a nightmare from a usability point of view.


The basic problem is that drop target areas are not easily predictable and small mouse movements have a big effect. This is unnatural and should be avoided.

This bug is about rearranging views in the workbench window. Bug 387678 is a separate problem with drop feedback on view tabs.

The goal of drag and drop is that the user can quickly rearrange views. There are two basic operations:
- move a view to another views stack
- split an existing view stack into two and put the dropped view into the new part stack
(- corner case: split the whole window and insert the dropped view along an edge)

Move is cumbersome
------------------
"move" is the more common operation. A workspace layout typically stabilizes after an initial configuration phase. Then, views are moved around when the user opens a new view and doesn't like the placement, or when he needs to have two views visible to compare contents, feed input from one to the other, or drag items from one view to the other.

However, in 4.x, the "move" operation is cumbersome, since the drop area is now only the tiny tab bar. In 3.x, I could just drop to the center of the target view.

Unpredictable drop target areas
-------------------------------
In 3.x, the drop target areas were clearly defined:
- 0-25px from the edge of a view: split view stack and put dropped view to that edge
- more than 25px from the edge: put view into the view stack
(- outside of the views area: split window and put dropped view along the edge)

=> The only "flip regions" where a small movement of the mouse changes the drop operation are diagonal lines of length 25px*sqrt(2) from all corners. These are far away from typical drop regions, so they're not an issue in practice.


In 4.x, the drop operation seems to be influenced by many interfering factors:
- distance to a window edge
- distance to all four view edges

=> The view content area is full of flip regions. Even worse, these flip regions are in places where there's no guiding line or anything that could help the user find out where the operation will switch. Humans can easily target a spot close to a line (3.x), but it's much harder for us to
a) find a spot that is in the correct half of a large area, AND
b) is not too close to a window edge, AND
c) is closer to the correct edge than to one of the adjacent edges

E.g. start the SDK with a new workspace, and then try to place the Outline view below the Package Explorer. (Hint: the correct region is a tiny horizontal bar that is not delimited by anything and floats inside the view area).
Comment 1 Dani Megert CLA 2012-11-05 07:03:57 EST
I agree with this. Every time I DnD a part it's a pain for me i.e. very hard to get what I want to do.
Comment 2 Markus Keller CLA 2012-11-19 11:39:02 EST
Created attachment 223721 [details]
drop area for "split horizontally"

(In reply to comment #0)
> E.g. start the SDK with a new workspace, and then try to place the Outline
> view below the Package Explorer. (Hint: the correct region is a tiny
> horizontal bar that is not delimited by anything and floats inside the view
> area).

Correction: The drop area for "split horizontally" is not a rectangle, but the triangle that is delimited by the arrow pointers in the attachment.
Comment 3 Markus Keller CLA 2013-02-24 14:08:46 EST
In many cases, the drop previews are not even correct. When a whole view stack is dragged, the preview assumes that the rest of the layout stays stable. But that's not the case, and the end result often looks different than the preview.
Comment 4 Lars Vogel CLA 2013-11-01 08:49:56 EDT
Information for people which would like to help:

org.eclipse.e4.ui.workbench.addons.dndaddon.DnDAddon from the org.eclipse.e4.ui.workbench.addons.swt plug-in would be the starting point. The corresponding Git repo is git://git.eclipse.org/gitroot/platform/eclipse.platform.ui.git 

See http://www.vogella.com/articles/Gerrit/article.html#eclipsegerritcontribution for the description how to clone the Eclipse UI platform Git repo and how to provide a Gerrit patch.
Comment 5 Eric Moffatt CLA 2014-02-04 14:29:17 EST
We seem to have addressed a number of these issues and I don't think that we have time to re-do the DnD completely at this point. I'm going to move this defect out of Luna to reflect this...

I've also added the 'helpwanted' tag for folks that may want to try for a fix since Lars' has already suggested a path...
Comment 6 Lars Vogel CLA 2014-08-08 09:50:35 EDT
*** Bug 274145 has been marked as a duplicate of this bug. ***
Comment 7 Markus Keller CLA 2015-04-28 09:32:17 EDT
DND for minimized views is also pretty broken:
- can't drag the minimized icon
- when I show a minimized view and the drag its tab, the view stays where it is, potentially covering the whole workspace area, so that I
  a) don't see where I'd drop it
  b) can't drop it into another view stack if that stack's tab area is not visible
Comment 8 Mickael Istria CLA 2015-11-24 10:05:35 EST
Reducing severity since the most common use-cases seem to work fine since a few versions.
Comment 9 Markus Keller CLA 2015-11-24 13:56:50 EST
Still a major loss of function. A few bugs have been fixed, but the main problem is still as described in comment 0.
Comment 10 Eclipse Genie CLA 2020-08-25 13:52:58 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.