Drag-and-drop refers to the act of (or support for the act of) clicking on a virtual object and dragging it to, or onto, another virtual object. The basic sequence involved in drag-and-drop is:
A common example is dragging an icon on a virtual desktop to a special trashcan icon to delete a file. In general, drag-and-drop can be used to invoke many kinds of actions, or create many kinds of associations, between two abstract objects. Examples include
- dragging a data file onto a program icon or special window for viewing or processing,
- moving or copying files to a new location/directory/folder,
- adding objects to a list of objects to be processed,
- rearranging widgets in a graphical user interface to customize their layout,
- dragging a command onto an object to which the command is to be applied,
- e.g. dragging a color onto a graphical object to change its color,
- dragging a tool to a canvas location to apply the tool at that location,
- creating a hyperlink from one location or word to another location or document.
As a feature, support for drag-and-drop is not found in all software, though it is sometimes a fast and easy-to-learn technique for users to perform tasks. Drag-and-drop is a common feature of graphical user interfaces.
Dragging requires more physical effort than moving the same pointing device without holding down any buttons. Because of this, a user cannot move as quickly and precisely while dragging (see Fitts' law). However, drag-and-drop operations have the advantage of thoughtfully chunking together two operands (the object to drag, and the drop location) into a single action (see, for example, Buxton, W. (1986). Chunking and Phrasing and the Design of Human-Computer Dialogues, Proceedings of the IFIP World Computer Congress, Dublin, Ireland, 475-480. http://www.billbuxton.com/chunking.html ).
See also point-and-click