Decoupled User Interface via Asynchronous Communication Handler

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing user interfaces are tightly bound to specific host applications, limiting their reusability and flexibility, as they are not designed to function asynchronously or across different locations, such as local and remote environments.

Innovation Solution

Implementing a UI communications handler that enables asynchronous communication between the user interface and the host application using APIs and protocols typical of web applications, allowing the UI to be decoupled from the desktop application and communicate through mechanisms like ExternalInterface or socket communication, making it agnostic to its location and enabling reuse across different applications and environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the user interface is tightly bound to the host application, then the integration and performance are optimized, but the reusability and flexibility are limited

Engineering Contradiction:
Improveintegration performanceVSAvoidreusability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The user interface is segmented into a separate, self-contained module that can be independently deployed. The UI module includes its own communications handler that handles all interactions with the host application, allowing the UI to be extracted and reused across different applications without tight coupling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A communications handler is introduced as an intermediary between the user interface module and the host application. This mediator enables asynchronous communication through queuing mechanisms, allowing the UI to interact with the host application without direct tight binding, thus improving reusability while maintaining integration performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the user interface is decoupled from the host application to improve reusability, then the flexibility and adaptability are improved, but the communication complexity and synchronization issues increase

Engineering Contradiction:
ImprovereusabilityVSAvoidcommunication mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The user interface module is designed to be self-sufficient with its own communications handler that manages all interactions. The UI module independently handles communication tasks, message queuing, and synchronization, eliminating the need for complex coordinated communication mechanisms between separate components.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The communications handler implements asynchronous communication with queuing mechanisms that ensure continuous operation. Requests are queued and processed continuously without blocking the UI thread, maintaining useful action continuity while simplifying the communication model through event-driven architecture.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If the user interface is designed for asynchronous communication to enable reuse, then the versatility and deployment flexibility are improved, but the real-time response capability may be affected

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidresponse time
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The communication system dynamically adapts between asynchronous queued communication for general reuse scenarios and synchronous direct communication when real-time response is required. The communications handler can switch modes based on the operational context, enabling both deployment flexibility and real-time performance when needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9400661B2Embedded user interface
Publication Date: 2016.07.26 ADOBE INC
  • US9400661B2 patent drawing
  • US9400661B2 patent drawing
  • US9400661B2 patent drawing

AI summary

A system to provide embedded user interface (UI) may comprise a request collector to receive a request directed at a host application from a user interface (UI), a response collector to receive a response from the host application, and a response dispatcher to dispatch the response to the UI via the asynchronous communication channel. The request and the response may be communicated via an asynchronous communication channel.