Remote Application User Interface Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing remote application systems lack the ability to dynamically adapt user interfaces to different user devices with varying display and input capabilities, leading to suboptimal user experiences and increased complexity in maintaining multiple interface codes for diverse devices.

Innovation Solution

Implementing a remote application system that classifies user devices into specific classes and generates user interfaces using corresponding code paths, allowing for tailored interactions based on device capabilities, while enabling seamless switching between devices and maintaining centralized application data and session state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single user interface code path is used for all user devices, then device compatibility is simplified, but user experience deteriorates due to inability to adapt to different display and input capabilities

Engineering Contradiction:
Improveuser interface adaptabilityVSAvoidinterface code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The user interface code path is segmented into multiple device-specific versions, each optimized for particular display and input capabilities. The system divides the monolithic interface code into modular segments that can be selectively executed based on device classification, resolving the contradiction between adaptability and code complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the user interface code are tailored to specific device characteristics. Instead of uniformly adapting the entire interface, local quality applies device-specific optimizations only to relevant code segments, allowing high adaptability while minimizing overall code complexity through targeted customization.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If multiple user interface code paths are maintained for different user devices, then user experience improves through device-specific interfaces, but development and maintenance complexity increases

Engineering Contradiction:
Improveuser interaction qualityVSAvoiddevelopment and maintenance effort
Core Design Contradiction:
Ease of operationVSEase of manufacture

Solution Approach 1:

The system changes parameters such as display resolution, input method, and device type to determine which user interface code path to execute. By parameterizing the interface selection based on device characteristics, the system improves ease of operation through device-specific interfaces while simplifying development and maintenance through systematic parameter-based routing rather than hard-coded device checks.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

An intermediary classification mechanism is introduced that sits between the user device and the application code paths. This mediator classifies the device and routes to the appropriate interface code, shielding developers from direct management of multiple code paths and reducing maintenance complexity while still enabling device-specific optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Use of energy by moving object

If device classification is implemented to generate tailored user interfaces, then processing power requirements are reduced on user devices, but system complexity increases due to classification and code path management

Engineering Contradiction:
Improveuser device processing energyVSAvoidsystem architecture complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The complex classification and code path management logic is extracted from the user device and relocated to the server-side application. This extraction removes the computational burden from user devices, reducing their processing energy requirements while concentrating the system complexity in a centralized location that can handle it more efficiently.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A server-side intermediary component handles device classification and code path selection, acting as a mediator between the user device and application logic. This intermediary centralizes the complexity management function, reducing user device complexity while maintaining the ability to generate optimized interfaces through server-based classification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11075976B2Remoting application user interfaces
Publication Date: 2021.07.27 OMNISSA LLC
  • US11075976B2 patent drawing
  • US11075976B2 patent drawing
  • US11075976B2 patent drawing

AI summary

Systems and techniques are described for remoting application user interfaces. One of the techniques includes receiving a first user request to access an application from a first user device, wherein the application comprises a respective user interface code path corresponding to each of a plurality of user device classes, and wherein each user interface code path, when executed, generates a user interface that is specific to user devices of the corresponding user device class; classifying the first user device into a first user device class of the plurality of user device classes; causing the application to generate a user interface by executing a first user interface code path corresponding to the first user device class; and providing the user interface for presentation on the first user device in response to the first user request.