Click and Swap, our alternative to Drag and Drop
engineering.contentsquare.com
engineering.contentsquare.com
The solution we ended up with, which is similar to the OP, is what we affectionately called Pick n Plop. I.e. you select an item, the UI tells you where it can go, and you click again to place it. You get keyboard accessibility for free since it's just buttons.
Demo right here (sorry for the terrible quality): https://giphy.com/gifs/9KgZorKdwdsaolomxS/fullscreen
I.e. If you click the question item (but not the blue button), the question is visible on the right. If you click the blue button in the list, the question goes into reorder mode. Those two things are separate from each other, so you can reorder a question that's not currently active.
Another solitaire game did it even better -- more visually -- PySol maybe?
Although I am not a programmer, I "wrote" a program to allow rebar detailers to create bar lists and cut lists for bills of material for rebar fabricators. For moving whole line items, I required the user to:
* Highlight some portion of each of the lines to be moved. * Click a target line. * Enter A or B to move the selected line items above or below the target line. This allowed me to paste above the topmost line.
Now admittedly, while this is a bit clunky and woefully unconventional, I did this because I didn't want to stop and learn the drag and drop protocol for Tkinter -- again, I'm not a programmer. But there was also concern on my part that eventual users could misplace some line item in the middle of a big group of lines inadvertently, and not be able to easily reconstruct what had just happened.
Conventional drag and drop is seemingly designed to increase fatigue and error, and diminish patience.
I just wanted to make something I could use and perhaps polish it later for use by others. I scratched my immediate itch, and the secondary itch hasn't flared up for quite some time.
^^^ this is genius
Like drivers license test kiosks and playing solitaire on life fitness machines.
(For completeness: yes both Firefox and Safari, but that is to be expected as every other browser on iOS is just a skin, but you never know if a website looks up the user agent.)
I’ve seen this happen with a diverse range of systems, from firewall policy to music notation to workforce management.
Ensuring the algorithmic level continues to be more attractive than the explicit override remains one of the hardest problems of UX affordances. Step 1 is obtaining a deep affinity with domain-expert users, we must make it easy for the cynical to trust our algorithmic automation.
Another example would be the App Store’s “GET” (download button). My dad was tripped up because he didn’t recognize the icon denoting you already downloaded the app, but that it is not currently on your device (it’s a cloud icon with an arrow in it that is pointing down). It doesn’t help that the cloud icon is just an outline and loses all affordances that it is a button other than the colour blue.
Its way to easy to accidentally do. I am often left with not know what happened and having to ctrl-z in my desktop environment.. something which is equally scary (something somewhere was undone).
It's (or was) terrible in windows when you accidentaly in "Program Files".
I think that you accidentally a word.
Via a physical mouse, it's fine. But trackpads are such a common set up these days and you cannot reliably drag and drop, especially since sometimes you need to lift a finger to drag further. The only solution I can think of would be to have a key that initiates a drag and you can hold the key while to continue the drag - but there's currently no standardisation in this pattern
Especially visual programming. Probably would be way more successful if they would abandon the free "Put nodes anywhere and connect them" model for a lists-and -trees kind of model.