Fact-checked by Grok 2 weeks ago

Drag and drop

Drag and drop is a direct manipulation gesture in graphical user interfaces (GUIs) that enables users to select a virtual object—such as an , , or text—using a like a or finger on a , drag it across the screen, and release it at a target location to perform actions such as moving, copying, or linking between entities. This technique mimics physical object handling, making interactions intuitive and reducing the need for complex commands or menus. The origins of drag and drop trace back to the 1970s, with early innovations at Palo Alto Research Center (PARC) in systems like the (1973), the first computer with a display and . It was further pioneered in experimental systems such as David Canfield Smith's , a visual programming environment developed as part of his 1975 Stanford PhD thesis, allowing users to drag icons to define program properties and behaviors. Drag and drop became a core feature in the workstation released in 1981, which introduced it for office tasks like moving documents between folders in a . Apple adopted and popularized the technique after visiting PARC in 1979, implementing it in the computer (1983) for file management and extending it to the Macintosh (1984), where it supported dragging icons to organize files, launch applications, and manipulate windows. For more details, see the section. Today, drag and drop remains a across platforms, enhancing by enabling efficient data transfer and spatial organization without intermediate steps. In , the Drag and Drop standardizes its implementation, allowing JavaScript-based operations like reordering lists or uploading files by dragging them onto a element. On devices, touch-based variants support gestures for tasks such as rearranging icons or sharing content, with studies showing it improves task completion times for diverse users, including older adults, when combined with appropriate . Its versatility extends to specialized domains, from visual programming in no-code tools to in CAD software, underscoring its enduring role in human-computer .

Fundamentals

Definition

Drag and drop is a gesture in graphical user interfaces (GUIs) in which a user selects a virtual object—such as an , , or UI element—by pressing and holding a , touch input, or similar mechanism, then moves it across the screen to a target location before releasing the input to complete the action, thereby simulating the physical manipulation of tangible objects. This interaction paradigm exemplifies direct manipulation, where users interact with visible representations of data in an immediate and reversible manner, as opposed to indirect methods like commands. In human-computer interaction (HCI), the primary purpose of drag and drop is to facilitate intuitive relocation, reorganization, or transfer of —such as files between folders or elements within an application—without the need for intermediary menus, dialogs, or syntax-based instructions, thereby reducing cognitive effort and enhancing user productivity and satisfaction. By mimicking real-world actions like picking up and placing items, it promotes a sense of control and in the computing environment, allowing users to visualize the effects of their actions in . The key principles of drag and drop include selection, where the user acquires the object via a , press, or long touch to indicate intent; dragging, involving sustained input while relocating the object to the desired position; and dropping, the release of input to execute the transfer or action at the target. Throughout the process, the system provides essential mechanisms, such as cursor changes (e.g., from to hand), visual outlines or images of the object, and highlights on valid drop zones, to confirm the object's state, prevent errors, and preview outcomes.

Core Actions

The core actions of drag and drop in user interfaces follow a sequential process that enables direct manipulation of objects. The interaction begins with selection, where a user identifies and highlights a draggable item, typically by clicking or pressing on it with a pointing device, which triggers visual feedback such as an outline or color change to indicate affordance. This step ensures the user clearly acquires the object before initiating movement. Following selection, dragging occurs as the user moves the while maintaining the press, causing the selected object—or a representation like a ghost image or translucent overlay—to follow the cursor's path. During this phase, the cursor often changes to a closed hand or to signify the ongoing operation, and the may provide continuous , such as highlighting potential drop targets as the object hovers over them. The dragged representation helps maintain spatial awareness, reducing by mimicking physical handling. The process concludes with dropping, where the user releases the pointing device to place the object at the intended destination, triggering relocation, copying, or another action based on the context. Successful drops provide confirmation through visual cues, such as the object snapping into place or an of integration, while the original item may disappear or remain depending on the operation. This release deselects the object and finalizes the interaction, often with haptic or auditory feedback in modern systems to affirm completion. Variations in drag and drop enhance flexibility across use cases. Modifier keys, such as holding Ctrl (or Option on macOS) during dragging, can alter the default behavior from moving to copying the item, indicated by a plus icon on the cursor; similarly, Shift may enforce a move operation in some contexts. Multi-item selection allows users to drag multiple objects simultaneously, often by extending the selection with Ctrl+click before dragging, useful for batch operations like file transfers. Constrained dragging limits movement to specific bounds, such as within a container or along axes, with techniques like spring loading—where prolonged hovering over a boundary activates sub-options—preventing unintended exits and guiding precise placement. Error handling ensures robust interactions when drops fail. For invalid drops, such as attempting to place an incompatible object in a target area, the interface rejects the action with immediate visual feedback: the dragged item may animate back to its origin (a "bounce-back" effect), fade out, or display a prohibition cursor, helping users correct without disorientation. Accompanying cues like error sounds or tooltips explain the rejection, such as "Cannot drop here," while supporting mechanisms allows reversal of unintended successes. These responses prioritize user recovery, minimizing frustration in imprecise or long-distance drags. Accessibility considerations extend drag and drop beyond or touch inputs, providing alternatives to simulate the core actions. Users can navigate to draggable items via or , select with Spacebar or Enter, and initiate a drag operation through a context menu (e.g., Ctrl+Shift+F10) offering options like copy or move; dropping then involves navigation to targets followed by Enter, with canceling the process and restoring . Assistive technologies, such as screen readers, announce draggable states, valid targets, and live updates during simulation, ensuring equivalent functionality without physical dragging unless essential. This approach aligns with standards like WCAG 2.1, promoting operable interfaces for motor-impaired users.

History

Origins

The origins of drag and drop in computing trace back to the pioneering work at Xerox Palo Alto Research Center (PARC) in the 1970s. The technique was invented by David Canfield Smith in his 1975 Stanford PhD thesis, implemented in the Pygmalion visual programming environment developed at PARC. Pygmalion allowed users to drag icons with a mouse to define program properties and behaviors, marking the first use of drag-and-drop for direct manipulation in a graphical interface. This built on the foundational Xerox Alto (1973), the first computer with a bitmapped display and mouse, which enabled graphical interactions but did not fully incorporate icon-based drag-and-drop until later PARC innovations. The Alto's GUI, led by figures like Alan Kay and Butler Lampson, laid the groundwork for accessible computing distinct from command-line interfaces. Pygmalion's drag-and-drop capabilities influenced subsequent systems, notably Apple's computer released in , which adopted and refined the paradigm for commercial use. In the Lisa's GUI, users could drag icons to folders, the , or the trash for organizing and deleting files, emphasizing visual metaphors like a desktop workspace to simplify operations for non-experts. Although the Lisa was not a widespread success due to its high cost, it demonstrated drag and drop's potential in everyday computing tasks, bridging experimental to practical application. A pivotal milestone came with the Apple Macintosh in 1984, which popularized drag and drop through its Finder interface, making it a core feature for file manipulation accessible to a broad audience. The Macintosh Finder allowed seamless dragging of icons between folders, disks, and applications, such as opening documents by dropping them onto program icons, which streamlined workflows and contributed to the GUI's mainstream adoption. This implementation drew directly from PARC's demonstrations, which Apple executives observed in , accelerating the shift toward user-friendly interfaces in personal computing.

Evolution

In the , drag and expanded beyond early prototypes into mainstream graphical user interfaces, enabling seamless inter-application data transfer. integrated the feature into upon its release in April 1992, allowing users to drag files between the and applications via () mechanisms. Concurrently, IBM's 2.0, launched in March 1992, introduced drag and drop as a core element of its Workplace Shell, an object-oriented desktop where users could drag icons representing drives, printers, or programs to perform actions like copying, moving, or shredding objects using the second . Standardization efforts during the decade solidified drag and drop as a foundational paradigm. Microsoft's (OLE) 2.0, released in 1993 as part of Windows enhancements, provided a robust for drag-and-drop operations, supporting complex data formats and enabling or linking of objects across applications for richer interoperability. These developments influenced subsequent APIs, such as Apple's framework in the early 2000s, which debuted with in 2001 and offered extensible drag-and-drop support through classes like NSDraggingDestination for intra- and inter-application transfers. From the to the , innovations adapted drag and drop to emerging platforms and intelligence. Apple's iPhone OS (later ), unveiled in , established as the basis for gesture-driven dragging, allowing finger-based manipulation of on-screen elements like photos or to simulate physical interactions. In the web domain, the Drag and Drop —first outlined in the February 2009 working draft—enabled native browser support for draggable elements using events like dragstart and drop, standardizing the feature across sites without proprietary plugins by the mid-2010s. More recently, in the , AI-assisted enhancements have emerged, such as predictive placement in UI design tools to streamline layout decisions. Persistent challenges in cross-platform consistency were mitigated by frameworks like , which introduced comprehensive drag-and-drop support in its early versions during the late 1990s—fully integrated by 2.0 in 1999—and has since enabled uniform implementation across Windows, macOS, , and other systems via classes such as QDrag and QDropEvent.

Operating Systems

macOS

In macOS, drag and drop functionality has been a core feature of the Finder since the original Macintosh 1.0 released in , enabling users to drag files between folders, across desktops, or into the for intuitive file management without menu navigation. This implementation allowed direct manipulation of icons in the graphical , establishing drag and drop as a foundational interaction paradigm for file operations in Apple's . Over time, macOS introduced advanced enhancements to streamline dragging. Spring-loaded folders, first implemented in in 1997, automatically open nested folders when an item is dragged over them after a brief pause, facilitating navigation through deeply nested directory structures without releasing the drag. , debuted in (10.5) in 2007, integrates with dragging by allowing users to press the Space bar during a drag operation to preview file contents in a floating window, aiding in verification before completing the drop. Additionally, Universal Control, introduced in (12.0) in 2021 as part of the Continuity features, supports cross-device drag and drop operations by allowing users to control multiple nearby Apple devices with a single and (or trackpad), extending direct manipulation gestures beyond a single machine when devices are signed into the same account. For developers, macOS provides robust API support through the AppKit framework in , where views conform to the NSDraggingDestination and NSDraggingSource protocols to handle custom operations, including defining pasteboard data types and images for seamless integration in applications. Specific behaviors are modified via keyboard modifiers: holding the during a creates a copy of the item (indicated by a green plus icon), while Option-Command generates an alias (a to the original), allowing precise control over move, copy, or link actions without menu selections. further enhances this by permitting users to files directly from search results in the overlay, integrating system-wide search with operations for quick access and relocation of content.

Windows

Drag and drop functionality was introduced in , released in 1992, primarily through enhancements to the application, which allowed users to drag files between directories for copying or moving operations. This basic implementation marked the initial integration of the gesture into the Windows , enabling intuitive file management without relying on menu-based commands. The feature evolved significantly with in 1995, which introduced shell-level drag and drop support for desktop icons, folders, and , extending the capability beyond to the entire Explorer shell. This update included standardized data formats via Clipboard Format Strings (CFSTR), such as CFSTR_FILEDESCRIPTOR and CFSTR_FILECONTENTS, which facilitated richer data transfers during drags, including and contents for files and shell objects. Key enhancements in also comprised right-button drag operations, where releasing the right mouse button during a drag displayed a context menu offering options like move, copy, or create , improving user control and reducing errors in file operations. Additionally, auto-scrolling was implemented to automatically scroll windows when dragging near edges, aiding navigation in large folder views. In the 2010s, drag and drop integrated with cloud services through , where the sync client embeds OneDrive folders into Windows Explorer, allowing seamless dragging of local files to cloud-synced locations for upload and synchronization, treating remote storage as local for user interactions. From a programming perspective, the (OLE) Drag and Drop API, introduced in the mid-1990s with OLE 2.0, provided developers with functions like DoDragDrop for implementing cross-application drags, supporting multiple data formats and visual feedback. This evolved into modern frameworks, including .NET's DragDrop events in and WPF for event-based handling, and WinUI's DragDropManager in the , which manages operations with classes like DragInfo for enhanced touch and cross-device support.

Other Systems

OS/2 introduced drag and drop as a core feature of its Workplace Shell in , released in , which provided an object-oriented where users could drag representing files, programs, and folders to perform actions like copying, moving, or launching applications. The Workplace Shell treated desktop elements as manipulable objects, enabling intuitive interactions such as dragging a onto a printer to initiate , and it supported (DDE) for inter-application communication during drags. This implementation simplified drag-and-drop programming by integrating it directly into the shell's object model, making it easier for developers to handle data transfer without low-level coding. In Unix-like systems, including and BSD variants, drag and drop originated in the during the 1990s through protocols like XDND (X Drag and Drop), which standardized data exchange between applications by defining messages for drag initiation, motion, and drop events. XDND allowed for flexible data formats, such as text or images, and addressed earlier fragmentation from competing protocols like Motif's drag-and-drop mechanism. Modern implementations in desktops, such as and since the 2000s, built on XDND using widget libraries like for 's file manager and for 's , enabling seamless file operations like rearranging icons or transferring data across windows. Unix and BSD systems carry a heritage of terminal-emulated interactions that prefigure graphical drag and drop, where users select and manipulate text or paths in console environments, often via middle-click pasting in tools like , influencing hybrid workflows in modern terminals that support direct file drags for path insertion. Adaptations of Android's principles, emphasizing smooth touch gestures, have influenced desktop environments like in the 2010s, incorporating elevated drag animations and haptic feedback proxies for better cross-platform consistency, though primarily touch-optimized. Open-source drag-and-drop implementations faced challenges from protocol fragmentation in X11, with varying support across desktops leading to inconsistent behaviors, but the Wayland protocol, emerging in the 2010s, partially resolved this through unified interfaces like wl_data_device for clipboard and drag operations, improving reliability in compositors such as those in GNOME and KDE.

Web Technologies

HTML Standards

The HTML Drag and Drop API, introduced in the W3C HTML5 working draft in 2010, provides a standardized mechanism for enabling drag-and-drop interactions within web pages. This API allows elements to be marked as draggable using the draggable attribute set to "true", with default support for images and links containing an href. It relies on a series of events to manage the drag operation, including dragstart to initiate the drag and set initial data, dragover to determine drop acceptability during movement, and drop to handle the final placement. These events enable developers to control visual feedback and data transfer without requiring external libraries, though full functionality necessitates JavaScript event handlers. Central to the API is the DataTransfer object, which encapsulates the data being dragged and supports multiple formats via MIME types such as text/plain for plain text or image/png for images. During the dragstart event, developers can populate this object using methods like setData(format, data) to store information, which is then retrieved at the drop event with getData(format). The object also includes properties like dropEffect to specify allowed operations (e.g., copy, move, link) and files for handling FileList objects when dragging files from the user's system. This structure ensures secure data exchange, with access restricted to specific event phases to prevent unauthorized reads or modifications. Browser support for the API began with Firefox 3.5 in July 2009, marking an early implementation ahead of formal standardization. Subsequent browsers like Safari 3.1 (2008) and Chrome 4.0 (2010) followed, with providing support in 2012. The API was fully standardized as part of the W3C Recommendation on October 28, 2014, solidifying its role in the . Despite its capabilities, the API has inherent limitations, including no direct access to the native beyond user-initiated drags from the desktop, which helps maintain security by avoiding arbitrary file reads or writes. Additionally, drags cannot be initiated programmatically without user interaction, and the API requires to handle events and data, as HTML alone does not suffice for dynamic behavior. These constraints prevent misuse while focusing on declarative markup for basic setup.

JavaScript Implementation

provides the core mechanisms for implementing and customizing drag-and-drop functionality on the through the Drag and Drop , which extends the model to handle user interactions dynamically. The relies on a series of fired during the operation: the dragstart allows s to set on the DataTransfer object, which holds the information being dragged, such as text, URLs, or custom formats; dragenter and dragover are used to define valid drop zones by calling preventDefault() on dragover to indicate that dropping is permitted, while dragenter can provide initial feedback; and the drop extracts the transferred from the DataTransfer object to perform the desired action, such as appending elements or processing files. These enable fine-grained control, building upon basic like draggable for initiating drags. Custom behaviors enhance user experience and functionality beyond default browser handling. For visual feedback, can modify CSS properties during drag events, such as reducing opacity on the dragged element (element.style.opacity = '0.4';) or highlighting drop targets on dragenter to signal acceptability. Integration with the File supports multi-file uploads by accessing the dataTransfer.files property in the drop event, which returns a FileList object containing selected files from the user's device, allowing asynchronous processing or upload via FormData and fetch(). To simplify implementation, especially for complex interactions, libraries and frameworks abstract the native 's boilerplate. Interact.js, introduced in the , provides a declarative for , drop, resize, and multi-touch gestures with features like and snapping, targeting modern browsers including IE9+. DnD, a -specific utility library, decouples components from logic using hooks to connect draggable and droppable elements to a backend engine, supporting customizable monitors for state like hover detection. Security considerations are integral, as the API enforces the to prevent unauthorized cross-origin drops, such as dragging content between iframes or windows from different domains, which triggers errors and blocks data access. This sandboxing mitigates risks like unintended data leakage, with browsers like explicitly restricting cross-domain drag-and-drop to maintain isolation. For improved input handling across devices, the (standardized in 2013) complements drag-and-drop by unifying mouse, touch, and pen events, allowing developers to dispatch custom drag events from pointer interactions for more consistent behavior.

Website Builders

Website builders such as , founded in 2003, and , established in 2006, popularized drag-and-drop interfaces in low-code by providing visual canvases where users can drag elements like images and text blocks directly onto page layouts without writing code. These platforms enable intuitive site construction, allowing non-technical users to arrange content in real-time on a that mirrors the final website appearance. Key features include responsive previews that display how dragged elements adapt to different screen sizes during the editing process, auto-snapping mechanisms that align components to underlying grids for precise positioning, and template-based drops where pre-designed sections or blocks can be inserted and customized via drag operations. For instance, Squarespace's Fluid Engine editor uses a flexible grid system to facilitate these interactions, while Wix's editor supports snapping for over 900 customizable templates. Backend integrations further extend drag-and-drop functionality, permitting users to connect widgets or booking systems by dragging them onto the canvas, thereby enabling features like online stores or form submissions without custom coding. In the 2020s, these tools evolved with enhancements, such as Wix's AI-optimized layouts that suggest components during drops and Squarespace's Blueprint , which generates initial site structures and offers smart content recommendations to streamline the design process.

Touch Interfaces

Gesture Mechanics

In touch-based interfaces, the drag and drop follows a specific sequence adapted from interactions to accommodate direct finger input. The process begins with a long press—typically lasting 500 milliseconds or more—on the target object to initiate selection and reveal visual affordances like a or , distinguishing it from shorter taps or swipes. Once selected, the user by moving their finger across the screen, often with built-in that simulates physical for smoother, more natural motion beyond the initial touch path. The concludes with releasing the finger at the drop target, triggering the operation if valid; haptic feedback, such as a brief , provides tactile confirmation for successful grabs or alerts for invalid drops by pulsing upon release over non-droppable areas. Multi-touch capabilities extend these mechanics, allowing simultaneous finger interactions for complex variations during the . For instance, a with two fingers can the dragged object in , adjusting its size based on the distance between fingers while maintaining the primary path, as implemented in gesture detectors that multiple pointer IDs. These enhancements leverage coalesced events to handle rapid multi-point movements without . Significant challenges arise in touch drag and drop due to human and hardware limitations. Fat-finger errors, where imprecise touches accidentally select or drop on nearby elements, are prevalent on smaller screens; mitigation involves enlarging hit areas to a minimum of 1 cm × 1 cm (about 0.4 in × 0.4 in) with adequate spacing between targets, as smaller sizes increase error rates in empirical studies. Integrating with inertia-based scrolling poses another issue, as rapid finger movements can inadvertently trigger pans instead of drags; this is addressed through timing thresholds, like the long-press delay, and pointer capture to lock on the dragged during motion. To standardize these behaviors across devices, the W3C Pointer Events specification (Level 2 Recommendation, November 2020; with Level 3 Candidate Recommendation, May 2025) introduces a unified model for handling input from , pens, and touchscreens. It defines core events—pointerdown for initiation, pointermove for tracking (including coalesced batches for high-frequency touch data), and pointerup for release—that abstract device differences, ensuring drag and drop operations behave consistently without separate touch-specific . This approach maps touch sequences to familiar mouse events for while supporting via pointer IDs.

Mobile Platforms

In the iOS ecosystem, drag and drop support was introduced in in September 2017 via the UIKit framework's UIDragInteraction class, which allows developers to enable dragging of items from a view within an app. This interaction employs a delegate protocol to supply drag items—such as text, images, or URLs—and to manage session events like movement and completion, facilitating intra-app transfers through continuous touch gestures. Cross-app drag and drop within a device became available on with in September 2017 and on with in September 2021. Cross-device drag and drop became available starting with and in October 2021 through Universal Control, a feature that extends input devices across compatible Apple devices. Users can drag content, such as files or sketches from an iPad app, directly onto a screen or vice versa, using a shared or trackpad without needing to switch devices explicitly. A distinctive aspect of drag and drop on iPad is its integration with split-view multitasking, enhanced in in June 2019. In this mode, users position two apps side by side and drag items—like selected text from to or photos from app to —between windows by long-pressing and releasing over the destination. Multiple items can be selected during a drag by additional elements while holding the initial one, with a badge indicating the count for efficient batch transfers. In 18 (released 2024), drag and drop was further improved for multitasking, allowing users to quickly add apps to Slide Over or Split View via gestures from the or , enhancing workflow efficiency on larger screens. In the ecosystem, drag and drop has been supported since Android 3.0 ( level 11) in February 2011, primarily through the View.DragShadowBuilder class in the Android View system. This builder constructs a visual drag shadow—a lightweight representation of the dragged data, such as an image or text clip—that follows the user's finger, enabling both intra-app rearrangements and inter-app data sharing via content URIs. Developers start a drag by calling the View.startDragAndDrop method in response to a touch event, with the shadow customizable for size and appearance to match the source view. Android 12, released in October 2021, refined drag and drop mechanics alongside the Material You design language, which emphasizes dynamic color theming derived from wallpapers for more personalized UI elements, including during interactive operations like dragging. These updates improved shadow rendering and gesture recognition, allowing smoother transitions in themed environments without disrupting the personalized aesthetic. In Android 15 (released October 2024), drag and drop received further enhancements, including a new tap-dragging gesture for touchpads to improve accessibility and precision, along with better support for large-screen devices in multi-window scenarios. Android's implementation uniquely accommodates edge-to-edge layouts and gesture-based , introduced progressively from Android 9 in 2018 and expanded in later versions. Drag operations extend across full-screen displays, bypassing system bars, and integrate with swipe gestures for multi-window mode—available since Android 7.0 in 2016—enabling users to drag between split-screen apps or from an app to the . This ensures compatibility with modern navigation paradigms, where long-presses or flings initiate drags without interference from edge swipes. For cross-platform applications targeting both and , frameworks like offer built-in drag and drop via the Draggable widget, introduced in early versions and refined over time. This widget handles touch initiation, feedback rendering, and drop targeting, allowing developers to create consistent behaviors—such as reordering lists or moving assets between canvases—across platforms with minimal native code. In , drag and drop is typically implemented using third-party libraries like react-native-reanimated-dnd, which builds on the library for performant, gesture-driven animations and , ensuring fluid interactions on touch devices.

Programming Contexts

Application Development

In application development, drag and drop functionality enables developers to create intuitive user interfaces for manipulating data, objects, or elements within and applications, often leveraging platform-specific to handle gestures and data transfer. This feature is integral to building responsive apps, where developers implement drag sources, drop targets, and feedback mechanisms to ensure seamless interactions across operating systems like Windows, macOS, , and . Frameworks such as , initially released in 2013, facilitate cross-platform desktop application development by integrating drag and drop APIs with native file handling through methods like webContents.startDrag, allowing JavaScript-based apps to support dragging files or custom items between windows or external sources. Similarly, , introduced by Apple in 2019, provides declarative support for drag and drop on and macOS via modifiers like .draggable and .drop, enabling views to participate in transfer operations with minimal for model objects conforming to the Transferable protocol. Data interchange during drag and drop operations typically involves serializing content into standard or custom formats for transfer between sources and targets; common choices include for lightweight, structured data or XML for more verbose, schema-validated payloads, which are passed via platform clipboards or data objects. Drop targets must validate incoming data by checking types or formats to ensure compatibility, preventing errors such as invalid drops and maintaining app integrity. In integrated development environments (IDEs), drag and drop enhances productivity; for instance, allows developers to drag selected code blocks or snippets between files or the designer surface, reorganizing code structure without manual cut-and-paste operations. In game development, Unity's scene editor, available since the engine's first public release in 2005, relies heavily on drag and drop for placing assets, prefabs, and components into the hierarchy or , streamlining level design workflows. Best practices emphasize performance optimization to achieve smooth interactions at 60 frames per second (), involving techniques like throttling update events, using -accelerated rendering, and minimizing recalculations during drags to avoid jank on varying . Developers should also conduct testing across devices and OS versions to verify , haptic feedback, and drop accuracy, ensuring consistent behavior in diverse environments such as touch-enabled mobiles or high-DPI desktops.

End-User Tools

End-user tools leverage drag and drop mechanisms in visual programming environments to enable non-experts, such as children and hobbyists, to create software without writing traditional . These tools emphasize intuitive interfaces that abstract complex programming concepts into graphical elements, fostering and problem-solving skills. By allowing users to manipulate blocks or components visually, they democratize access to technology, particularly in educational and prototyping contexts. A prominent example is , a block-based developed by and released in 2007. In Scratch, users drag colorful blocks representing commands—like motion, sound, or control structures—and snap them together to build interactive projects, such as animations and simple games. This drag-and-drop approach eliminates syntax errors common in text-based coding, making it suitable for ages 8 to 16. Similarly, , introduced by in 2012, extends these principles to web-based app prototyping. Users assemble puzzle-like blocks via drag and drop to generate code in languages like or , focusing on logic rather than boilerplate. Blockly's supports rapid , enabling beginners to prototype interactive web elements, such as data visualizations or simple simulations, without deep technical knowledge. Core features across these tools include puzzle-piece snapping, where blocks only connect if compatible, ensuring valid program structures. This shape-matching mechanism prevents runtime errors by visually enforcing syntax rules, as blocks with mismatched notches simply do not fit, providing immediate feedback and reducing frustration for novices. In educational applications, tools like , launched in 2010, apply drag and drop to . Users drag components—such as buttons or sensors—onto a screen layout and connect logic blocks to define behaviors, creating apps like educational quizzes or location-based tools for devices. This approach has empowered students in classrooms worldwide to build functional mobile projects, enhancing without prior coding experience. No-code platforms extend these capabilities to professional web services, as seen in , founded in 2012. Bubble's visual editor allows users to drag elements like forms or databases onto a canvas, configuring workflows and data flows through interconnected components to deploy full web applications, such as sites or task managers. This enables non-technical entrepreneurs to automate processes rapidly. The primary benefits of these end-user tools lie in lowering the barrier to entry for programming, allowing non-experts to focus on ideas rather than implementation details. Research highlights how visual drag-and-drop interfaces reduce through familiar metaphors, leading to higher engagement and success rates among beginners—evidenced by user-created games in or custom automations in that mirror real-world applications. By preventing errors via structural constraints, these tools build confidence and facilitate transitions to more advanced if desired.

Applications

Everyday Use Cases

Drag and drop is a in file management systems, allowing users to intuitively rearrange desktop icons and move files or folders between locations. In Windows, this feature enables seamless data transfer between applications or across the desktop by selecting and dragging items with a or touch input. Similarly, macOS Finder supports dragging items to copy, move, or organize files, such as repositioning icons on the desktop or transferring documents to different directories. This method simplifies everyday organization without relying on menu commands, making it a core part of graphical user interfaces since their inception. Beyond local storage, drag and drop streamlines uploading files to cloud services, a common task for backing up photos or documents. For instance, users can select images from their file explorer and drag them directly into a OneDrive folder in Windows File Explorer to initiate synchronization and upload. On macOS, the same technique applies to iCloud Drive via Finder, where dragging files from the desktop or other folders automatically uploads them to the cloud once the destination is reached. These actions reduce steps compared to traditional upload dialogs, enhancing efficiency for routine data management. In productivity software, drag and drop aids in organizing workflows, such as sorting emails into folders within . Users select one or more messages and drag them to a target folder in the navigation pane, instantly categorizing content for better inbox management. Project management tools like , introduced in 2011, leverage this for Kanban-style boards where tasks represented as cards are dragged between lists to reflect progress stages, from "To Do" to "Done." This visual reorganization fosters collaborative task handling without complex navigation. Media applications employ drag and drop for intuitive content manipulation, including reordering in . By switching to custom order mode, users grab and drag tracks within a playlist to adjust playback sequence, a feature available across desktop and mobile interfaces. In , macOS Preview allows by dragging the rectangular selection tool over the desired area of an open image, followed by applying the crop via the Markup . This drag-based selection ensures precise control over edits in a lightweight tool integrated into the operating system. E-commerce platforms in the 2010s increasingly incorporated drag and drop for adding products to shopping carts, mimicking physical shopping gestures to improve user engagement. While major sites like primarily use click-based "Add to Cart" buttons, the technique gained traction in web implementations using , allowing users to drag product images or items directly into a cart sidebar or zone for immediate inclusion. This approach, popularized in custom sites during the decade, streamlined multi-item selection and reduced checkout friction for online shoppers.

Advanced Examples

In data visualization software, Tableau, launched in 2003, pioneered the use of drag-and-drop interfaces to enable users to dynamically construct charts and dashboards by pulling data fields onto a , leveraging its VizQL technology to translate visual actions into optimized queries without requiring coding expertise. This approach revolutionized by allowing non-technical users to explore datasets interactively, generating visualizations like bar charts or scatter plots in real time as fields are repositioned. In virtual and environments, integrations with engines like during the 2010s facilitated object placement through hand -based drag-and-drop mechanics, where users could grasp, move, and release virtual items onto real-world surfaces detected via Foundation. Similarly, platforms in the same decade supported controls such as grip-and-release motions to simulate dragging and dropping objects in , enhancing immersive interactions for tasks like spatial arrangement in simulations. These features, often powered by hand-tracking sensors, allowed precise manipulation in space, as explored in studies on intuitive design for object handling. Complementing this, AI-driven tools like Sensei, introduced in 2016, integrate drag-and-drop for content-aware operations, such as dragging an image into Adobe Stock's to automatically retrieve similar assets or applying intelligent fills that adapt dropped elements to surrounding contexts in editing software. In security-focused enterprise environments, tools like provide encrypted drag-and-drop file transfers, allowing users to securely move sensitive data between systems with built-in encryption, auditing, and features to prevent unauthorized access during transit.

References

  1. [1]
    Drag and Drop Subsystem for the Java 2 Platform Standard Edition 5.0
    Drag and drop is a direct manipulation gesture found in many graphical user interface systems that provides a mechanism to transfer information between two ...
  2. [2]
    Drag-and-drop versus point-and-click mouse interaction styles for ...
    This research investigates children's use of two common mouse interaction styles, drag-and-drop and point-and-click, to determine whether the choice of ...
  3. [3]
    [PDF] Smith DC 1975 - Pygmalion
    PYGMALION is a two-dimensional, visual programming system implemented on an interactive computer with graphics display. Communication between human being ...
  4. [4]
    35 Interface Innovations that Rocked Our World - Xerox
    The graphic user interface (GUI). Point and click, drag and drop, overlapping "windows," icons, menus – none of these things existed until a group of ...
  5. [5]
    A History of the GUI - Ars Technica
    May 4, 2005 · Many former Xerox PARC engineers found new jobs with Apple, and set ... The idea of "drag-and-drop" was also invented at this time, and ...Apple · Other Guis During The 1980s · More Guis Of The 1980s
  6. [6]
    Children may expect drag-and-drop instead of point-and-click
    In this paper we present evidence from a pilot study that children may have started to expect the drag-and-drop interaction style. This is in contrast with ...
  7. [7]
    Drag-and-drop for older adults using touchscreen devices
    This study shows that drag-and-drop is an efficient technique for moving targets even on small touchscreen devices and pen interaction may help older users.
  8. [8]
    Reciprocal Drag-and-Drop - ACM Digital Library
    Sep 24, 2015 · Drag-and-drop has become ubiquitous, both on desktop computers ... User interface software and technology. Read More · Drag and drop by ...<|control11|><|separator|>
  9. [9]
    Drag–and–Drop: How to Design for Ease of Use - NN/G
    Feb 23, 2020 · It is a type of direct manipulation, particularly useful for grouping, reordering, moving, or resizing objects.Clear Signifiers and Feedback... · Cursor Changes · Feedback that an Object Has...Missing: human computer
  10. [10]
    [PDF] Direct Manipulation: - UMD CS
    N.J., to appear in 1983. 30. Ben Shneiderman, "A Computer Graphics System for. Polynomials," The Mathematics Teacher, Vol. 67, No. 2,. Feb. 1974, pp. 111-113 ...
  11. [11]
    Direct Manipulation: Definition - NN/G
    Aug 21, 2016 · Direct manipulation is an interaction style in which UI elements are visible and can be acted upon via actions that receive immediate feedback.
  12. [12]
    Drag and drop | Apple Developer Documentation
    Using drag and drop, people can move or duplicate selected photos, text, and other content by dragging the selection from one location to another.Missing: definition computer
  13. [13]
    What are the most common modifier keys for dragging objects with a ...
    Aug 27, 2015 · Common modifier keys include Ctrl+Drag (copy), Shift+Drag (move), Alt+Drag (shortcut), and Option+Drag (copy) on Mac. Right-click+drag shows ...Missing: HCI | Show results with:HCI
  14. [14]
    PF/ARIA/BestPractices/DragDrop - W3C Wiki
    Oct 3, 2007 · Step 1: Identify draggable objects · Step 2: Allow the user to initiate the appropriate drag operation using the keyboard · Step 3: Mark the drop ...
  15. [15]
    Understanding Success Criterion 2.5.7: Dragging Movements | WAI
    A taskboard that allows users to drag and drop items between columns also provides an additional pop-up menu after tapping or clicking on items for moving the ...Missing: modifiers | Show results with:modifiers
  16. [16]
    Understanding Success Criterion 2.1.1: Keyboard | WAI - W3C
    An application that uses drag and drop also supports "cut" and "paste" or form controls to move objects.
  17. [17]
    Pioneering Apple Lisa goes “open source” thanks to Computer ...
    Jan 19, 2023 · First released on January 19, 1983, the Apple Lisa remains an ... drag-and-drop icons, movable windows, the waste basket, the menu bar ...
  18. [18]
    The Roots of the Mac OS - Low End Mac
    Dec 21, 2007 · This computer was the Xerox Alto – and a world shattering piece of hardware it was. It was the first computer to use a bit-mapped display to ...
  19. [19]
    Full text of "Windows 3.1 secrets" - Internet Archive
    The Windows 3.1 DDEML solves problems such as this, making DDE more reliable and less trouble-prone. Drag-and-Drop Windows 3.1's new Drag-and-Drop feature ...
  20. [20]
    OS/2 2.0
    When IBM officially released OS/2 version 2.0 on March 31, 1992, it was not entirely unexpected. In fact, 32-bit OS/2 had been promised since the very beginning ...
  21. [21]
    OLE drag and drop | Microsoft Learn
    Aug 3, 2021 · OLE drag and drop is a shortcut for copying/pasting data, allowing any data to be dragged from a source to a target, transferring data between ...
  22. [22]
    Introduction to Drag and Drop - Apple Developer
    Jan 9, 2012 · Cocoa gives you the ability to implement sophisticated drag-and-drop capabilities both within your application and between applications.Missing: 2000s | Show results with:2000s
  23. [23]
    Apple Reinvents the Phone with iPhone
    Jan 9, 2007 · iPhone introduces an entirely new user interface based on a large multi-touch display and pioneering new software, letting users control iPhone ...
  24. [24]
    AI in UI Design: Current Tools and Applications - UXPin
    Feb 12, 2025 · AI tools like Figma, Adobe Firefly, and UXPin automate tasks, speed up workflows, and enhance collaboration in UI design. Figma offers text-to- ...
  25. [25]
    Drag and Drop | Qt 4.8
    ### Summary: When Drag and Drop Support Was Added to Qt Framework
  26. [26]
    How the Finder is the real power macOS Tahoe feature - AppleInsider
    Jul 11, 2025 · Apple has been building up the Finder since 1984 and the original ... So you can more easily drag files from one place to another. The ...
  27. [27]
    Forty Years Ago, the Mac Triggered a Revolution in User Experience
    Jan 19, 2024 · It also had a one-button mouse that allowed users to click, double-click and drag-and-drop icons without typing commands. The Xerox Alto had ...
  28. [28]
    Mac OS 8 - Wikipedia
    Its successor, Mac OS 9, was released on October 23, 1999. Contents. 1 Copland; 2 ... Spring-loaded folders. Live scrolling. WindowShade widget in window ...
  29. [29]
    View and edit files with Quick Look on Mac - Apple Support
    Quick Look offers a fast, full-size preview of nearly any kind of file without opening the file. You can rotate photos, trim audio and video clips, and use ...
  30. [30]
    Apple previews major update with macOS Sierra
    Jun 13, 2016 · Universal Clipboard allows you to copy content, including text, images, photos and video from one Apple device and paste it in another. Apple ...
  31. [31]
    Drag and Drop | Apple Developer Documentation
    Objects become part of this dragging mechanism by conforming to dragging protocols: Draggable objects conform to the NSDraggingSource protocol, and destination ...
  32. [32]
  33. [33]
    Drag & Drop from Spotlight in Mac OS X to Move & Open Files
    Apr 6, 2012 · From Mac OS, hit Command+Space to bring about Spotlight and search for something that is a file; Now click and hold on the item while dragging ...Missing: integration | Show results with:integration
  34. [34]
    Windows 3.1 - Classic Computer Magazine Archive
    An especially useful enhancement to File Manager is 3.1's drag-and-drop feature. ... Drag and drop works with most Windows accessories, and it will work with any ...
  35. [35]
    A Brief History of Microsoft and the Evolution of Windows
    Windows 3.1 added drag-and-drop functionality as well as TrueType fonts. Windows NT 3.1. July 27, 1993. Windows NT 3.1 was the first Windows OS that was not ...Windows 1 · Windows 3.0 · Windows Xp
  36. [36]
    Windows 95 - Toasty Tech
    You can drag and drop files on the desktop, in other folders, or on program icons. The desktop is in fact just another folder window. You can view folders as ...
  37. [37]
    Shell Clipboard Formats - Win32 apps | Microsoft Learn
    Nov 18, 2022 · This is important if your application is the source of a drag-and-drop operation on a Windows 3.1 system. CFSTR_FILECONTENTS. This format ...
  38. [38]
    Windows 95 Tips and Tricks - UKT Support
    Drag and Drop Filenames to Command Prompt. You can drag file and folder icons from the desktop or a folder to an MS-DOS command prompt. The filename is then ...
  39. [39]
    Autoscrolling on drag, part 1: Basic implementation - The Old New ...
    Jan 25, 2021 · Autoscrolling starts when the mouse drags out of the window, scrolling until the mouse returns. The TryAutoScroll function checks if the mouse ...
  40. [40]
    Sync files with OneDrive in Windows - Microsoft Support
    To choose which folders you're syncing, right-click the blue cloud icon in the taskbar notification area, and select Settings > Account > Choose folders. See ...Missing: drag drop
  41. [41]
    Microsoft.UI.Input.DragDrop Namespace - Windows App SDK
    DragDropManager. Manages the drag and drop operation between objects. DragInfo. Provides information about the drag and drop operation.
  42. [42]
  43. [43]
    XDND - Freedesktop.org
    XDND is a drag-and-drop protocol for the X Window System, aiming to provide a single standard for data exchange between programs.Missing: 1990s Linux Unix
  44. [44]
    Implementing a Generalized Drag-and-Drop in X - USENIX
    This paper proposes a generalized semantic and protocol for drag-and-drop that makes the draggable and droppable as intrinsic properties of any GUI objects.
  45. [45]
    Drag and Drop - GNOME Developer Documentation
    You will need to create a GtkDropTarget , which is an event controller that, connected to a widget, emits the “drop” signal if the dragged object is dropped on ...
  46. [46]
    Drag-and-drop without the drag - Unix & Linux Stack Exchange
    Jul 16, 2015 · I want a simple way to drag-and-drop files from the terminal into windows that force drag-and-drop without having to drag the file or interact with a GUI.Can I "drag" a file into a window without a file manager?How Drag & Drop works in linux?More results from unix.stackexchange.comMissing: BSD emulator
  47. [47]
    Wayland clipboard and drag & drop - emersion
    Mar 26, 2020 · On Wayland, clipboard and drag & drop share the same data transfer primitives. The data can be plain text, but can also be rich content such as ...Missing: open- fragmentation 2010s
  48. [48]
    7.8 Drag and drop — HTML5 - W3C
    To make an element draggable is simple: give the element a draggable attribute, and set an event listener for dragstart that stores the data being dragged.
  49. [49]
    HTML Standard
    ### Timeline/First Publication Date of HTML5 Drag and Drop Specification
  50. [50]
    HTML Drag and Drop API - MDN Web Docs
    Oct 2, 2025 · HTML Drag and Drop interfaces enable applications to use drag-and-drop features in browsers. The user may select draggable elements with a mouse, drag those ...File drag and drop · Drag operations · HTMLElement: drag eventMissing: WinUI | Show results with:WinUI<|control11|><|separator|>
  51. [51]
  52. [52]
    HTML5 drag and drop in Firefox 3.5 - the Web developer blog
    Jul 15, 2009 · It's a simple yet powerful UI concept used to support copying, list reordering, deletion (ala the Trash / Recycle Bin), and even the creation of ...Missing: history | Show results with:history
  53. [53]
    Drag and Drop | Can I use... Support tables for HTML5, CSS3, etc
    "Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.Missing: history | Show results with:history<|control11|><|separator|>
  54. [54]
    HTML5 Recommendation - W3C
    HTML5. A vocabulary and associated APIs for HTML and XHTML · W3C Recommendation 28 October 2014 · Abstract · Status of This document · Table of Contents.
  55. [55]
    File drag and drop - Web APIs | MDN
    Oct 2, 2025 · This tutorial demonstrates the third use case: dragging data into a page. We will be implementing a basic drop zone that allows the user to drop ...Basic Page Layout · Declaring The Drop Target · Processing The DropMissing: integration | Show results with:integration
  56. [56]
    interact.js - JavaScript drag and drop, resizing and multi-touch ...
    interact.js takes a slightly different approach compared to most drag and drop libraries. To give you as much control as possible, it tries to provide a ...DraggableRead through the documentationInstallationProSnapping
  57. [57]
    Overview - React DnD
    React DnD provides hooks that connect your components to the DnD engine, and allow you to collect monitor state for rendering.
  58. [58]
    Drag and drop cross domains, iframes, browsers windows
    Jun 6, 2013 · Open your chrome dev tools and select the console tab. Then attempt your drag and drop. What error appears? I know from experience that same- ...Drag and drop across cross-domain iframes - Stack OverflowSecurityError: Blocked a frame with origin from accessing a cross ...More results from stackoverflow.com
  59. [59]
    Security: do not allow on-page drag-and-drop from non-same-origin ...
    A simple solution is to prevent cross-domain drag-and-drop on a single page altogether (we can have dev channel experiments to see how many problems this ...
  60. [60]
    Pointer Events - W3C
    22 oct 2025 · During a mouse drag, the value of the button property in a pointermove event will be different from that in a mousemove event. For example, ...
  61. [61]
    The story behind Squarespace's rapid growth
    Apr 30, 2014 · Anthony Casalena built the first version of Squarespace because he wanted a better personal website for himself. It's a common enough story.
  62. [62]
    About Us - Wix.com
    2006. FOUNDED. Wix was founded by Avishai Abrahami, Nadav Abrahami and Giora Kaplan. ; 2008. FLASH EDITOR LAUNCHED. Wix launches its Flash Editor. ; 2009. 1 ...Terms of Use · Contact us · Investor Relations
  63. [63]
    Fluid Engine – Drag and Drop Website Editor - Squarespace
    Design a stunning and customizable website with Fluid Engine, a drag and drop website editor from Squarespace. Start your free trial today.
  64. [64]
    Drag and Drop Website Builder: Create For Free - Wix.com
    Drag & drop thousands of design features. Add text, galleries, videos, vector art, and more. Get business-ready. Add an online store, booking system ...
  65. [65]
    AI Website Builder - Create A Website In Minutes | Wix
    Rating 3.9 (25,801) Experience seamless website creation with Wix's intuitive AI website builder. Design a unique, business-ready site faster than ever before. Start now.Missing: drag drop 2020s
  66. [66]
    Create a Custom Website in Minutes with AI — Squarespace
    Squarespace has several AI-powered features to help you build a website, including Designer Templates with Style Previews, Brand Identity creation, and AI ...
  67. [67]
    Drag and scale | Views - Android Developers
    Feb 11, 2025 · This document describes how to use touch gestures to drag and scale on-screen objects, using onTouchEvent() to intercept touch events.Missing: mechanics | Show results with:mechanics
  68. [68]
    Touch Targets on Touchscreens - NN/G
    clumsy cocktail sausages ...Missing: drag | Show results with:drag
  69. [69]
    Pointer Events - W3C
    Jan 15, 2013 · This document defines events and related interfaces for handling hardware agnostic pointer input from devices like a mouse, pen, or touchscreen.
  70. [70]
    UIDragInteraction | Apple Developer Documentation
    An interaction to enable dragging of items from a view, employing a delegate to provide drag items and to respond to calls from the drag session.
  71. [71]
    Drag and drop | Apple Developer Documentation
    With drag and drop in iOS, users can drag items from one onscreen location to another using continuous gestures.
  72. [72]
    Universal Control: Use a single keyboard and mouse between Mac ...
    Universal Control supports using your mouse or trackpad to drag and drop between devices. Examples: Sketch with Apple Pencil on your iPad, then use your mouse ...
  73. [73]
    Use multitasking on your iPad – Apple Support (UK)
    Jun 24, 2025 · Touch and hold one of the larger app icons, then drag it into Split View or Slide Over. To see your other apps by category, tap one of the ...Multitasking types · Start multitasking · Make adjustments · Drag and drop
  74. [74]
    The new iPadOS powers unique experiences designed for iPad
    Jun 3, 2019 · iPad users can now work with multiple files and documents from the same app simultaneously with updates to Split View, or can quickly view and ...
  75. [75]
    View.DragShadowBuilder | API reference - Android Developers
    Android Developers · Essentials. More. Design & Plan. More. Develop. More. Google Play. More. Community · Android Studio. Android API Reference. Overview.
  76. [76]
    Implement drag and drop with views - Android Developers
    Apr 27, 2024 · The constructor View.DragShadowBuilder(View) creates a default drag shadow that's the same size as the View argument passed to it. The ...
  77. [77]
    Features and APIs Overview - Android Developers
    Android 12 introduces a new design language called Material You, helping you to build more personalized, beautiful apps. ... drag and drop. For more ...
  78. [78]
    Display content edge-to-edge in views | Views - Android Developers
    Your app is displayed edge-to-edge. The window spans the entire width and height of the display by drawing behind the system bars.Edge-to-edge design · Manually set up the edge-to... · About window insets
  79. [79]
    Drag and drop in multi-window mode | Views - Android Developers
    Jul 22, 2024 · Devices that run Android 7.0 (API level 24) or higher support multi-window mode, which lets users move data from one app to another by dragging and dropping.
  80. [80]
    Drag a UI element - Flutter documentation
    Flutter provides a widget called LongPressDraggable that provides the exact behavior that you need to begin a drag-and-drop interaction. A LongPressDraggable ...
  81. [81]
    React Native Reanimated DnD - Drag & Drop for React Native ...
    A powerful drag-and-drop library for React Native using Reanimated 3. Smooth animations, simple API, and works perfectly on iOS and Android.
  82. [82]
    Drag and drop - Windows apps | Microsoft Learn
    Jul 12, 2024 · Drag and drop is an intuitive way to transfer data within an application or between applications on the Windows desktop.
  83. [83]
    10 years of Electron
    Mar 13, 2023 · Electron v1 was released in 2016, promising increased API stability and better docs and tooling. Electron v2 was released in 2018 and introduced ...
  84. [84]
    Native File Drag & Drop | Electron
    To implement this feature in your app, you need to call the webContents.startDrag(item) API in response to the ondragstart event. Example​. An example ...
  85. [85]
    Apple Announces Declarative SwiftUI Framework for Leaner, Faster ...
    Jun 5, 2019 · Apple recently announced at WWDC 2019 the SwiftUI framework for application development across the iOS, macOS, tvOS, and watchOS platforms.<|control11|><|separator|>
  86. [86]
    Adopting drag and drop using SwiftUI - Apple Developer
    This sample code project demonstrates how a SwiftUI view can act as a drag source or drop destination.
  87. [87]
    Collapse and Expand Regions of Code - Visual Studio (Windows)
    Aug 25, 2025 · The Copy, Cut, Paste, and drag-and-drop operations retain outlining information, but not the state of the collapsible region. For example, when ...<|control11|><|separator|>
  88. [88]
    Manual: Create a drag-and-drop UI inside a custom Editor window
    To start, create a default custom Editor window from the menu. Change the menu name and window title to Drag And Drop , and remove the code for the default ...
  89. [89]
    Performance Tips for Optimizing HTML5 Drag and Drop Interfaces
    Oct 17, 2025 · From experience, combining both can yield best results. For instance, throttle position updates at 60fps (around 16ms intervals) to maintain ...
  90. [90]
    [PDF] Visual Programming Languages: A Survey - UC Berkeley EECS
    We present a survey of the field of visual programming languages beginning with an historical overview of some of the pioneering efforts in the field. In ...
  91. [91]
    Celebrating 10 years of Scratch - MIT News
    May 11, 2017 · ... Scratch programming language was released in 2007. “It's exceeded our expectations,” said MIT LEGO Papert Professor of Learning Research ...
  92. [92]
    Google Blockly Lets You Hack With No Keyboard - WIRED
    Jun 1, 2012 · Google has released a completely visual programming language that lets you build software without typing a single character.
  93. [93]
    The MIT roots of Google's new software
    Aug 19, 2010 · Google's App Inventor, which lets people with no previous programming experience build applications for mobile phones, draws on decades of MIT research.
  94. [94]
    Goodbye, Tech Founders: The Bubble Origin Story
    Jun 26, 2020 · After leaving KeywordSmart in 2012, Josh started coding a project that would become Bubble: a tool to help non-technical founders build ...
  95. [95]
    Drag and drop items on Mac - Apple Support
    To copy the item instead of moving it, press and hold the Option key while you drag. Release the trackpad or mouse to drop the item in the new location. See ...Missing: modifier | Show results with:modifier
  96. [96]
    Upload photos and files to OneDrive - Microsoft Support
    To move a file using Windows File Explorer, drag files from the file list in the right pane to OneDrive in the left pane. To move a file using Mac Finder, drag ...
  97. [97]
    Organize email by using folders in Outlook - Microsoft Support
    Note: To move more than one email, select an email, hold down the Ctrl key and select other messages, and then click, drag, and drop them into a folder. Add a ...
  98. [98]
    Trello 101: How to Use Trello Boards & Cards
    Drag and drop cards across lists to show progress. There's no limit to the number of cards you can add to a board. You will learn more about this in the ...Missing: 2011 | Show results with:2011<|separator|>
  99. [99]
    Inside Trello's reinvention as a personal tasks app - Yahoo Finance
    Feb 25, 2025 · Trello first entered the world as a concept nearly 14 years ago, in September of 2011—the brainchild of Michael Pryor and Joel Spolsky.
  100. [100]
    Sort and filter - Spotify Support
    In Your Library Collection , select the Playlists filter. · Click Arrow down at the top and select Custom order. · Drag and drop playlists to your preferred ...
  101. [101]
    Crop, resize or rotate an image in Preview on Mac - Apple Support (IE)
    Go to the Preview app on your Mac. · Open an image. · Click the Show Markup Toolbar button · Enter new values for width and height, or click the “Fit into” pop-up ...Missing: drag drop
  102. [102]
    Using HTML5 Drag And Drop To Create A Shopping Cart
    This week we'll be taking advantage of the drag and drop functionality to create a basic shopping cart.
  103. [103]
    The History of the Shopping Cart - Shopify
    Aug 3, 2021 · The story of the shopping cart's rise to ubiquity is filled with light-bulb ideas, artistic interpretations, and even a well-known psychological theory on ...
  104. [104]
    Analyzing the history of Tableau innovation
    Dec 2, 2021 · VizQL's visual encoding, in particular, supported a drag-and-drop user experience that allowed users who did not have query skills to focus on ...The People And Technology... · Six Tableau Innovation... · Visual Encoding Innovation
  105. [105]
    From Prototype to Product: Software Engineering in Tableau's Early ...
    Nov 17, 2020 · The paper laid out several key ideas: interactive specification of the visualization using a drag-and-drop user interface, the VizQL query ...Missing: history | Show results with:history
  106. [106]
    Placing and Manipulating Objects in AR - Unity Learn
    both part of the Unity AR Foundation package — to place and manipulate objects in AR ...2. Installing The Ar... · 3. Configuring Your Scene... · 4. Creating The Interaction...Missing: 2010s | Show results with:2010s
  107. [107]
    Gesture Control: From Origins to Evolution - Wearable Devices
    Dec 4, 2024 · Grip/Release: Close your hand into a fist to "grip" and open it to "release" - used to drag and drop objects. Steering Wheel: Hold your ...
  108. [108]
    Design of Hand Gestures for Manipulating Objects in Virtual Reality
    Aug 7, 2025 · The purpose of this study was to evaluate parameters for the design of 3D hand gestures for object manipulation in virtual reality to optimize ...
  109. [109]
    Applets - IFTTT
    Rating 4.6 (58,500) The Applet creation tool is designed to help you build valuable Applets and publish them for the world to use.Missing: drag drop 2010
  110. [110]
    Adobe Sensei: Mastering Content and Data
    Nov 2, 2016 · A framework and set of intelligent services built into the Adobe Experience Platform which dramatically improve the design and delivery of digital experiences.Missing: drop | Show results with:drop
  111. [111]
    [PDF] Adobe Sensei Lets Customers Master the Art of Digital Experiences
    Nov 3, 2016 · Adobe Sensei includes a unified. AI/machine learning framework and a set of intelligent services that power Creative Cloud, Adobe Document Cloud ...
  112. [112]
  113. [113]
    MetaMask: The Leading Crypto Wallet Platform, Blockchain Wallet
    Set up your crypto wallet and access all of Web3 and enjoy total control over your data, assets, and digital self. The go-to web3 wallet for 100+ million ...Download MetaMask mobile app · Portfolio · How to update MetaMask · Login
  114. [114]
    Crypto Swap, Swap Tokens, and Token Exchange | Metamask
    MetaMask allows swapping thousands of tokens on many exchanges, inside the wallet, across chains, with secure contracts and high success rates.