Custom Widget Deployment via Context-Aware Model Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and maintaining software applications across different platforms is time-consuming due to the need for platform-specific code monoliths, where changes in common code can affect custom components and require multiple versions for varying workflows, leading to increased developer time and complexity.

Innovation Solution

A method that trains a model on historical context information to identify correlations between user interface components and user intent, allowing for the customization of widgets and generation of a custom user interface definition based on context information, decoupling user interface components from application logic to enable cross-platform deployment with a unified user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If platform-specific code monoliths are used to build applications for different platforms, then each application can be customized for its specific platform, but the development time and maintenance complexity increase significantly

Engineering Contradiction:
Improveplatform-specific customizationVSAvoiddevelopment and maintenance time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the application into two independent parts: a shared application logic layer that remains common across all platforms, and platform-specific user interface layers that can be customized independently. This allows the application logic to be reused across multiple platforms while still enabling platform-specific UI customization, thereby reducing development time without sacrificing adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal application logic layer that serves multiple platforms simultaneously. This shared logic layer can be deployed once and reused across different platforms (iOS, Android, web, desktop), eliminating the need to maintain separate codebases for each platform while still supporting platform-specific UI requirements through the decoupled architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If common code components are modified to improve functionality, then the application capabilities are enhanced, but verification is required to ensure custom code components are not adversely affected

Engineering Contradiction:
Improveapplication functionalityVSAvoidverification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By segmenting the application into independent logic and UI layers, the patent ensures that modifications to common code components in the application logic layer cannot adversely affect platform-specific custom UI components. The clear separation creates natural isolation boundaries, eliminating the need for extensive verification when updating shared logic.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If multiple versions of applications are built to accommodate different workflows and devices, then each version can be optimized for its specific use case, but the number of applications to maintain increases

Engineering Contradiction:
Improveworkflow variation supportVSAvoidnumber of applications
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal application logic layer that can serve multiple workflow variations and device types through configuration rather than separate codebases. The shared logic adapts to different workflows and devices through parameterization and configuration, eliminating the need to build and maintain multiple separate application versions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces dynamic configuration capabilities that allow the application logic to adapt its behavior based on the specific workflow requirements and device characteristics at runtime. This dynamic adaptability replaces the static approach of building multiple fixed versions, allowing a single application to serve multiple purposes.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If application logic and user interface code are tightly bound, then the application structure is simpler, but changes in one affect the other and require coordinated updates

Engineering Contradiction:
Improveapplication structureVSAvoidindependent modification capability
Core Design Contradiction:
Device complexityVSEase of manufacture

Solution Approach 1:

The patent applies segmentation by separating application logic from user interface code into distinct, independently deployable layers. This architectural decision increases structural complexity slightly but enables independent modification of each layer without affecting the other, greatly improving ease of manufacture and maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the application logic from its traditional tight coupling with the user interface, placing it in a separate shared layer that can be developed, tested, and deployed independently. This extraction allows UI changes without logic changes and vice versa, eliminating the need for coordinated updates.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11138518B1Right for me deployment and customization of applications with customized widgets
Publication Date: 2021.10.05 INTUIT INC
  • US11138518B1 patent drawing
  • US11138518B1 patent drawing
  • US11138518B1 patent drawing

AI summary

This disclosure relates to customizing deployment of an application to a user interface of a client device. An exemplary method includes training a model based on historical context information of a plurality of users by identifying correlations between the historical context information and a plurality of user interface components. The method further includes receiving context information from the client device. The method further includes determining a user intent based on the context information using the model. The method further includes customizing one or more widgets by selecting one or more user interface components to include in the one or more widgets based on the user intent. The method further includes generating a custom user interface definition comprising the one or more widgets. The method further includes transmitting, to the user interface of the client device, the custom user interface definition.