Drag And Drop Sucks

MergeMe with PickUpAndDrop? Or refactor so that the two pages don't overlap so much?

From DragAndDrop: Visually appealing approach to sort out positioning using a mouse...

Visually appealing, but ergonomically disastrous if your mouse skills are less than perfect or if the computer's mouse-handling skills are somewhat balky. I cannot count the number of times I've cursed drag-and-drop UIs because I accidentally dropped something at the wrong time, or the mouse didn't go over the precise pixel the application demanded it go over for something to take effect, or some other inane reason related to how fundamentally crappy the mouse is at precision work.

This doesn't even take into account people with a range of disabilities. You can say that mice should only be used by people who have perfect fine motor skills, but the fact is you can fake it to some extent using large icons and such but drag-and-drop tends to bring every imperfection right to the front.

Drag-and-drop sucks. Please don't make people rely on it.

Bitching works better if it's coupled with constructive suggestions. Since you don't provide any alternatives, I'll provide one myself.

(My constructive suggestion was my last sentence: Provide a different way to accomplish the same task.)

The problems you list can be ameliorated any number of ways. First by using haloed target areas. Second by snapping the mouse to object haloes. Third by providing a ZoomableInterface?, so you don't have to hardcode the size of objects. Fourth, by providing a meaningful system-wide undo.

(All of these sound interesting, especially the snap-to suggestion, but I'd have to use a system that implemented them before deciding if they actually helped.)

But a better way, something that fixes the underlying problem of drag and drop, is to use pick up and drop. Why is it better? Because after you've picked up an object, you don't have to worry about losing or dropping it accidentally, it requires a deliberate act to do so.

(This also sounds good, with the caveat that stickiness really should be configurable.)

Additionally, because you completely separate the pick up and drop actions, you no longer need to clutter the user's focal area (the mouse pointer) with whatever it is they picked up. Since that area is now uncluttered, it's easier to use auto-highlighting on target mouse-over.

So using pick up and drop, you move the mouse over an object, click to pick it up, at which point it gets visibly sucked into the objects stack in the upper left-hand corner of the screen. The object picked up shows up as a miniature in the objects stack with a coloured halo that corresponds to the new colour of the mouse pointer halo. Now you move the mouse over to the target area, and once on a targetable area the target gets backlit using some suitable highlight colour, which tells you that you're in the target area. At that point, you can choose to drop the picked up object into the target area or you can lose it (pop the stack without dropping the object) using deliberate actions.

In a well-designed system, it would also be possible to provide object-jumping navigation using keyboard keys. So the QWE-XWC would jump the mouse pointer to the nearest object along the designated directions. This works only if you've killed manual placement of objects but happily manual placement is itself idiotic, see AutomaticVsManualPlacement.

Does this adequately answer your concerns with mouse manipulation?

Often, it is possible to use keyboard shortcuts instead, Control-C to copy, Alt-Tab to go the proper window in whatever GUI one is using, Control-V to paste. Those are the most common, but not the only key combinations to do this.

Keyboard shortcuts are actually inferior to drag and drop. As you point out yourself, they work merely often and not most of the time, let alone all of the time. Which means that in order to use a keyboard shortcut, one first has to figure out whether it's even possible to use it. You start out with one problem, now you have two. Additionally, mnemonic keyboard shortcuts are evil since they are completely arbitrary, have to be relearned going from dvorak and qwerty, and the common ones (cut and paste) require two hands to operate under dvorak.

Furthermore, keyboard shortcuts have a completely different cognitive load than mouse operations. Whenever you have to transition between keyboard and mouse, this vastly increases the cognitive load. Also, alt-tab has an enormous cognitive load all by itself. It is by far the worst method of switching between tasks anyone has imagined. Of those that have survived anyways. Your proposing it as if it were a viable alternative is naive.

(This brings up an interesting point: Mice are overrated. That is, there are situations where mice are either unusable (on a plane, sitting in coach, with an obese person on either side of you) or carry more cognitive load than they're worth (a keyboard-centric task like programming shouldn't be interrupted by mouse-centric tasks like window placement, which is why so many programmers swear by the console even on machines that can support GUIs). This is another good argument against making people depend on drag-and-drop.)

So sorry but there are many tasks which are particularly suited to drag and drop. Slinging objects around is one of them. A console is a horrible means of organizing files, much worse than drag n drop. If programmers prefer the console for these tasks it is either because their minds are literally built in a different manner, or because they are mindless fanatics. The inability to use a mouse on a plane, sitting in coach, is a mere technical problem which can be overcome with better technology. Already, CCDs enable one to use a mouse on any semi-flat surface including but not limited to desks, fabric, carpeting and paper.

(You make many assumptions about brain structure that are unfounded and really haven't been backed up by any kind of science. You condemn certain UIs as 'crappy' without saying why and glorify another UI without regard for the actual, physical limitations it is heir to. I wonder if this is parochialism, arrogance, or simple trolling behavior. In any case, it is far from unique on this wiki whenever the topic drifts towards UIs and UI design. I wonder if all UI designers are as resistant to new complaints as the ones who write here.)

Brain structure, now really? I hardly need to rely on brain structure to note the obvious fact that some tasks operate on a continuum whereas others operate on a discrete set. The ones that operate on a continuum are particularly suited to a continuous input device. And gee whiz, the mouse just happens to be a continuous input device. Now if programmers really think that you can paint a drawing, or do any of the thousands of tasks which operate on a continuum, more easily with a keyboard than with a mouse then they are brain damaged retards. Is that clear enough for you?

Oh no, now you're going to whine that slinging objects around isn't a continuous operation. Well actually it is because as soon as you've got more than one or two dozen choices along up to three dimensions, then the situation becomes much more expensive to process for the user than if it were simply continuous (so the smart UI designer makes it continuous). The rules that allow the reverse, operating on a continuum using discrete operations (like moving a camera around), are very exacting. You can only use the keyboard for continuous operations if the dimensions are effectively broken down (the player never moves the camera along two or more dimensions simultaneously) OR if fine-grained input is not required (the player doesn't move quickly).

I condemn certain UIs as crappy because I have plenty of background analyzing their defects and I've provided more than ample reason on the subject. The real question is where the hell does your snide attitude come from? You question my knowledge, my abilities and my motivations without knowing who the hell I am. You do all this without making a single factual argument or observation despite the fact that I've offered plenty. You whine that your "complaint" isn't taken seriously after I've comprehensively dealt with it. Who the hell are you to do any of these things? Who the hell do you think you are that I should answer to you? -- RK

RK has strong opinions about defects of current technology, and has said he is working towards improvements, when and where he sees them, regardless of secondary criticisms that he has been targeted with, so let's forget the ad hominems and stick with technical arguments, hmm? If a critique of technology is made, logically it does not matter who made it. That's basic. -- DougMerritt

P.S. That's not to say I always agree with RK, just that, as in the famous quote, "I defend to the death his right to say it" - and less dramatically, that we should not stoop to ad hominem argument, here. -- DougMerritt


EditText of this page (last edited August 4, 2006) or FindPage with title or text search