Sticky Drop Target Selection in Nested Drag-and-Drop Interfaces
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional drag and drop animations in graphical user interfaces, particularly in object tracking applications, result in a poor user experience due to constant selection and deselection of droppable objects, especially in nested structures like lists or virtual boards, leading to voided operations if the user accidentally ends the drag and drop operation in an in-between un-droppable area.
Innovation Solution
Implementing a method that maintains the 'stickiness' of droppable objects by selecting a drop target once the cursor enters a droppable zone, continuing to select that target until the cursor enters a new zone, and considering hierarchies and preconfigured stickiness settings for droppable objects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional drag and drop selection logic is used in nested structures, then the system can respond to cursor position changes, but it causes constant selection and deselection of droppable objects leading to poor user experience
Solution Approach 1:
The patent implements dynamic stickiness assignment to droppable objects based on their hierarchical level and parent-child relationships. Instead of uniform selection behavior, the system dynamically determines which objects should maintain selection state during drag operations, allowing nested structures to have differentiated interaction patterns that prevent constant selection/deselection cycling
Solution Approach 2:
The patent applies different selection persistence rules to different droppable objects within the nested structure. By assigning stickiness properties locally to specific droppable objects based on their position in the hierarchy and their relationship to draggable items, the system ensures that only appropriate target objects maintain selection state, preventing the constant selection/deselection problem in nested structures
2Measurement precision
If the system selects drop targets based on cursor position in nested structures, then it can identify potential drop locations, but it causes accidental voiding when cursor moves to un-droppable areas
Solution Approach 1:
The patent pre-assigns stickiness properties to droppable objects before drag operations begin. This preliminary configuration ensures that when a draggable item is dragged, the system knows in advance which nested droppable objects should maintain selection state, preventing accidental voiding caused by cursor movement into temporary un-droppable zones
Solution Approach 2:
The stickiness property acts as an intermediary mechanism between cursor position and drop target selection. Rather than directly linking cursor position to selection state changes, the stickiness property mediates this relationship, allowing the system to maintain appropriate selection state even when the cursor temporarily moves over areas that would otherwise cause selection changes
3Adaptability or versatility
If traditional field or menu control input methods are used, then the interface provides structured input options, but it becomes difficult or inefficient to provide input
Solution Approach 1:
The drag and drop interface allows users to directly manipulate objects to indicate their desired destination or state changes. Instead of requiring users to navigate through menus or fill out forms, the objects themselves become the input mechanism, with their position and arrangement directly encoding the user's intent, thereby improving input efficiency while maintaining versatility
Data Source
AI summary
Systems, methods, and computer readable medium for determining a current drop target during a drag and drop operation are disclosed. The method includes during the drag and drop operation, detecting an event that indicates that a draggable item has moved. The method further includes determining whether a previous location of the draggable item was over a first drop target prior to the detected event, and determining whether a current location of the draggable item is over a second drop target. The method further includes determining whether to continue selecting the first drop target as the current drop target or to select the second drop target as the current drop target depending on the previous and current location of the draggable item, and a stickiness of the first drop target.


