Clipboard Extensibility via Application Participation APIs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computer application programs are limited in their ability to participate in the copy and paste process, as they cannot control the data formats placed on the clipboard or determine how data is pasted, leading to restricted functionality in data transfer between applications.
Innovation Solution
The solution allows source and target application programs to participate in the copy and paste process by providing code to handle data formats, enabling them to cancel operations, determine data formats, and select custom formats, through an API and notification mechanism that communicates with the operating system's copy and paste components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the operating system provides the primary cut and paste mechanism, then the copy and paste operation can be performed between applications, but the application programs are limited in their ability to control the data formats and participate in the process
Solution Approach 1:
The patent introduces an intermediary mechanism between the operating system's clipboard and application programs. This intermediary allows applications to register custom data formats and participate in the copy/paste process without requiring direct modification of the OS clipboard core, thus enabling application participation while maintaining system stability.
Solution Approach 2:
The patent segments the copy and paste functionality into distinct components: the OS-provided clipboard mechanism, application-specific data format handlers, and event-driven communication interfaces. This segmentation allows each component to operate independently, enabling applications to control their data formats without affecting the overall clipboard operation.
2Adaptability or versatility
If application programs are allowed to participate in the copy and paste process with custom data formats, then the functionality and control over data transfer is enhanced, but the complexity of the system increases
Solution Approach 1:
The patent creates a universal interface that allows different application programs to use custom data formats through a common mechanism. The clipboard system becomes multi-functional, supporting both standard OS formats and application-specific formats through a unified event-driven architecture, thus enhancing versatility without proportionally increasing complexity.
Solution Approach 2:
The patent enables dynamic parameter changes in data formats by allowing applications to register and unregister custom formats at runtime. The system adapts its behavior based on the presence and requirements of different applications, changing the available data format parameters without requiring a complete system redesign.
3Adaptability or versatility
If source and target programs communicate through an editor and notification mechanism, then the ability to cancel operations and determine data formats is improved, but the ease of operation decreases
Solution Approach 1:
The patent implements a self-service mechanism where applications automatically register their custom data formats and handle their own copy/paste operations through event notifications. The source and target programs autonomously determine which data formats to use and can cancel operations as needed, reducing the need for complex user intervention while maintaining operational control.
Solution Approach 2:
The patent introduces a feedback loop through event-driven notifications between the editor, source programs, and target programs. The system provides feedback about available data formats, paste success/failure, and operation status, allowing applications to make informed decisions about whether to proceed with or cancel operations based on real-time system state.
Data Source
AI summary
Described is technology allowing computer programs to participate in the copy and paste process at various times. A source program, from which data is requested to be copied to the clipboard, may participate as desired, including, for example, to cancel the copy, or to determine which data formats will be placed on the clipboard, including one or more custom data formats. A target program, to which data may be copied from the clipboard, may also participate as desired, including, for example, to cancel the paste, or to determine which data format will be pasted, which may be a custom data format. In one implementation, events provide notifications and APIs may be called to facilitate the communication.


