Declarative Code Player Widget Framework for Cross-Platform Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing device platforms require separate application code bases and programming efforts for each operating system and hardware combination, making cross-platform development cumbersome and inefficient.

Innovation Solution

A declarative code player and processing widget framework that defines multiple states and operations in a user-friendly format, allowing for generic deployment across heterogeneous platforms by using declarative content and library instructions, with a graphical user interface for defining states and transitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate application code bases are used for each operating system and hardware combination, then software can function correctly on each specific platform, but development effort and maintenance complexity increase significantly

Engineering Contradiction:
Improvesoftware compatibilityVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal code base that can execute on multiple operating systems and hardware platforms through the use of abstract widgets and platform-agnostic declarative code. The widget framework defines universal interfaces and behaviors that work across different platforms, eliminating the need for separate code bases for each platform while maintaining reliability through platform-specific adapters that implement the universal interface.

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

2Productivity

If platform-specific code is used for each target platform, then software can be optimized for each platform's capabilities, but updates require retesting and redeployment to each platform separately

Engineering Contradiction:
Improveplatform optimizationVSAvoidupdate time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the software architecture into three distinct layers: platform-specific hardware/OS layer, platform-agnostic widget framework layer, and application logic layer. This segmentation allows updates to be made at the widget framework and application logic levels without affecting platform-specific implementations, enabling single-source updates that automatically propagate to all platforms while maintaining platform optimization through the preserved platform layer.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If a unified code base is used across multiple platforms, then development effort is reduced, but platform-specific capabilities and optimizations may be lost

Engineering Contradiction:
Improvedevelopment easeVSAvoidplatform adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces a platform-agnostic widget framework as an intermediary layer between the unified application code base and platform-specific implementations. This intermediary provides standardized interfaces and abstractions that allow the unified code to access platform-specific capabilities through a consistent API, thereby maintaining both development ease through code reusability and platform adaptability through the mediating framework that handles platform-specific variations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11734056B1Declarative code player execution of a processing widget
Publication Date: 2023.08.22 INTUIT INC
  • US11734056B1 patent drawing
  • US11734056B1 patent drawing
  • US11734056B1 patent drawing

AI summary

A method includes obtaining, by a computing system executing a declarative code player, a processing widget defining multiple states and executing, by the computing system executing the declarative code player, the processing widget. Executing the processing widget comprises, for each current state of at least a subset of the states obtaining multiple state lifecycle declaration for the current state from a repository, the state lifecycle declaration is specified as declarative content, executing multiple library instructions according to the state lifecycle declaration to perform at least one operation of the current state, and transitioning, as defined by the current state, to a next state as defined in the processing widget.