Remote Application User Interface Adaptation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


