Adaptive User Interface Component Selection for Distributed Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed business applications face challenges in dynamically adapting user interfaces to varying network conditions, user roles, and environmental constraints, making it difficult to provide optimized user experiences across diverse user devices and locations.

Innovation Solution

An adaptive user-interface component selection system that determines which user-interface components to render based on client device information such as network bandwidth, geolocation, user role, and historical usage patterns, allowing for local or remote assembly and rendering of components to optimize the user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a full-featured user interface is provided to all users, then complete application functionality is available, but network bandwidth consumption increases and performance deteriorates on constrained devices

Engineering Contradiction:
Improveuser interface adaptabilityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The user interface is divided into multiple independent components that can be selectively assembled and rendered. The system identifies and renders only the necessary UI components based on user role, device capabilities, and network conditions, rather than loading complete interface sets. This segmentation allows the application to provide full functionality when needed while reducing bandwidth consumption on constrained devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different quality levels of UI components are provided based on local device conditions. The system assesses device capabilities and network state to determine appropriate rendering quality for each component, providing high-fidelity interfaces on capable devices with good connectivity while delivering optimized or minimal interfaces on constrained devices, thus adapting interface quality to local circumstances.

Inventive Principle:
Principle #3Local quality

2Reliability

If user interface components are assembled and rendered on the server, then rendering consistency is maintained, but server processing load and network transmission requirements increase

Engineering Contradiction:
Improverendering consistencyVSAvoidserver processing capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The rendering process is segmented between server and client responsibilities. The server assembles UI components using standardized templates and transmits assembly instructions or pre-assembled components to the client device. The client then completes local rendering based on received data and device-specific requirements, distributing processing load while maintaining consistency through standardized component definitions.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If hard coded programming solutions are used to account for user priorities and constraints, then specific user scenarios can be optimized, but adaptability to future business realities is lost

Engineering Contradiction:
Improveuser scenario optimizationVSAvoidfuture business adaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system employs dynamic, runtime-determined UI assembly rather than static hard-coded solutions. User roles, device characteristics, and contextual parameters are evaluated at runtime to determine which UI components to assemble and how to configure them. This dynamic approach allows the system to adapt to new user scenarios and business requirements without requiring code changes, as the assembly logic responds to current system state and configuration data.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses configurable parameters and metadata to control UI assembly behavior rather than fixed programming. By changing parameters such as user role assignments, device capability profiles, or component visibility rules, the system can adapt to different business scenarios and future requirements without modifying the underlying code structure, enabling flexible response to evolving business realities.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3815342B1Adaptive user-interface assembling and rendering
Publication Date: 2023.09.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3815342B1 patent drawingFigure 1
  • EP3815342B1 patent drawingFigure 2~3
  • EP3815342B1 patent drawingFigure 4~5

AI summary

Methods, systems, and computer program products are provided for dynamic and adaptive user-interface component selection for rendering in distributed applications. An adaptive user-interface component selection system is enabled to select user-interface components for rendering and display on a client device running an instance of a client application. User-interface components are selected based on a set of applicable component rules. Applicable component rules are determined based on client feedback information that includes information regarding the client including: network bandwidth, geolocation, user role, user context and required application features. Selected user-interface components are transformed into renderable code either locally to the system or remotely at the client device, and rendered and displayed on the client device.