Cross-Browser Drag-and-Drop Library with Link Key Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing drag-and-drop implementations across different web browsers are not cross-browser compatible, requiring separate solutions for each browser and version, and existing libraries lack the ability to define links between drag sources and drop targets, limiting data transfer between them.

Innovation Solution

A cross-browser drag-and-drop library that allows Web developers to easily implement drag-and-drop functionality by creating draggable and droppable objects with user-defined data structures, grouping drag sources and targets, and intercepting browser events to facilitate consistent drag-and-drop operations across browsers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate drag-and-drop solutions are implemented for each browser and version, then browser compatibility is improved, but device complexity and implementation time increase

Engineering Contradiction:
Improvebrowser compatibilityVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal drag-and-drop library that works across multiple browsers and versions through a single codebase. The library detects browser capabilities and adapts to different environments, providing consistent drag-and-drop functionality without requiring separate implementations for each browser. This resolves the contradiction by maintaining broad compatibility while reducing implementation complexity through code reuse and standardized interfaces.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary layer (the drag-and-drop library) that sits between the browser's native drag-and-drop API and the application logic. This intermediary handles browser-specific variations and inconsistencies, translating them into a unified interface for developers. By mediating between different browser implementations, the library achieves cross-browser compatibility without requiring developers to write multiple versions of their code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing drag-and-drop libraries are used, then implementation time is reduced, but the ability to define links between drag sources and drop targets and customize data transfer is limited

Engineering Contradiction:
Improveimplementation speedVSAvoiddata transfer flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic data transfer system where the data structure passed between drag sources and drop targets is determined at runtime based on the specific drag operation. The library allows developers to define flexible data schemas that can adapt to different drag-and-drop scenarios, enabling both quick implementation through predefined patterns and customization when needed. This resolves the contradiction by providing a balance between ready-to-use functionality and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the data transfer mechanism into modular components, allowing developers to define specific data structures for different drag sources and drop targets. Each drag operation can have its own customized data schema while still using the same underlying library infrastructure. This segmentation enables rapid implementation for standard cases while providing the flexibility to customize data transfer for specialized requirements.

Inventive Principle:
Principle #1Segmentation

3Reliability

If multiple drag-and-drop libraries are maintained for different browsers, then browser-specific optimizations are achieved, but upgrading and management of code becomes difficult

Engineering Contradiction:
Improvebrowser-specific performanceVSAvoidcode maintenance
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The patent merges multiple browser-specific drag-and-drop implementations into a single unified library. Instead of maintaining separate codebases for different browsers, the library consolidates all browser adaptations into one project with a standardized API. This unification makes upgrading and maintenance straightforward, as developers only need to update one codebase while the library handles browser-specific optimizations internally through its adaptive detection and translation mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9026931B2Cross-browser “drag-and-drop” library
Publication Date: 2015.05.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9026931B2 patent drawing
  • US9026931B2 patent drawing
  • US9026931B2 patent drawing

AI summary

Technologies are described herein for implementing a cross-browser drag-and-drop library. The drag-and-drop library creates a draggable object corresponding to a drag source element and a droppable object corresponding to a drop target element defined in a webpage. The draggable object and droppable object are each assigned a link key value. A user-defined data structure populated with data regarding the drag source element may also be assigned to the draggable object. A browser event indicating a drag-and-drop operation between the drag source and the drop target is intercepted, and the drag-and-drop library determines whether the link key value assigned to the corresponding draggable and droppable objects are the same. If the link key values are the same, the drag-and-drop library generates an event associated with the droppable object to facilitate an application-related operation associated with the drag-and-drop operation using the data in the user-defined data structure.