Web Shell for Cross-Platform App Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and maintaining software applications across different computing platforms is time-consuming due to the need for platform-specific code monoliths that tightly bind user interface and application logic, requiring extensive developer effort and leading to increased maintenance and debugging of multiple discrete software artifacts.

Innovation Solution

Implementing a web browser-based shell that decouples user interface components from application logic, allowing cross-platform applications to be executed as a collection of reusable widgets, reducing the number of discrete software artifacts and enabling faster testing and deployment of changes without affecting each other.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If platform-specific code monoliths are used to build applications for different platforms, then applications can be executed on specific platforms, but development and maintenance time increases significantly

Engineering Contradiction:
Improvecross-platform execution capabilityVSAvoiddevelopment and maintenance time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the application into two independent parts: a platform-specific user interface layer and a platform-agnostic application logic layer. The application logic is packaged as a web shell that can be executed across multiple platforms through a web browser, while only the UI needs to be customized for each platform. This segmentation eliminates the need to maintain separate code monoliths for each platform, significantly reducing development and maintenance time while preserving cross-platform execution capability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If user interface and application logic are tightly bound in a single codebase, then the application structure is simple, but modifying common code components requires extensive verification across all applications

Engineering Contradiction:
Improveapplication structure simplicityVSAvoidcode modification efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent extracts the application logic from the user interface by packaging it as a standalone web shell that executes in the browser. This extraction allows the application logic to be modified independently without affecting the UI, and changes can be deployed without requiring verification across multiple platform-specific applications. The web shell acts as a portable, platform-independent container for the application logic, enabling rapid iteration and improvement.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If separate software artifacts are created for each device variation, then each application can be optimized for its target device, but the number of artifacts to maintain increases

Engineering Contradiction:
Improvedevice-specific optimizationVSAvoidnumber of software artifacts
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal web shell format that can execute the same application logic across multiple platforms and device variations. Instead of creating separate software artifacts for each device, the application logic is packaged once as a web-compatible shell that adapts to different platforms through the browser environment. This universal approach maintains device-specific optimization capabilities while dramatically reducing the number of artifacts that need to be created and maintained.

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

Data Source

PatentUS10162624B1Web shell for dynamically generated cross-platform applications
Publication Date: 2018.12.25 INTUIT INC
  • US10162624B1 patent drawing
  • US10162624B1 patent drawing
  • US10162624B1 patent drawing

AI summary

This disclosure generally relates to executing dynamically generated applications in a web browser-based shell. An exemplary method generally includes instantiating shared components in the browser-based shell, the shared components exposing a common runtime environment to widgets loaded into the browser-based shell. A first workflow definition representing a first step of a workflow is received. The first workflow definition specifies first widgets, comprising modular components that perform functions represented by the first step of the workflow and comprising a user interface definition, to be loaded into the browser-based shell. The first widgets are obtained from one or more of a remote source, a local cache, or a temporary memory and loaded into the browser-based shell. A user interface is generated according to the first workflow definition to exposes the function to a user which, when invoked, initiates a transition to a second step of the workflow.