Cross-platform Mobile App Synthesis via Unified Specification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing mobile applications that are compatible across different operating systems is challenging due to the need for platform-specific coding, resulting in non-portable applications that lack the ease of use and device integration of native apps.

Innovation Solution

A server-based platform that uses a unified mobile application specification to automatically synthesize native mobile applications for various OS platforms, providing a flexible graphical user interface and workflow, and enabling administration and analytics across devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If platform-specific coding is used to develop native mobile applications for different operating systems, then the applications achieve native performance and device integration, but the development complexity and time increase significantly

Engineering Contradiction:
Improvenative performanceVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the mobile application into two distinct layers: a platform-independent specification layer that defines the application logic and interface, and platform-specific synthesized layers that are automatically generated for each target platform. This segmentation allows the core application to be developed once while enabling platform-specific optimizations through automatic synthesis, thereby maintaining native performance without manual platform-specific coding for each feature.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a mobile application specification as an intermediary artifact between the developer's intent and the platform-specific implementations. This specification serves as a contract that can be automatically synthesized into multiple platform-specific applications, eliminating the need for developers to manually code each platform version while preserving native functionality through the synthesis process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If separate applications are developed for each operating system platform, then each application is optimized for its specific platform, but the applications lack portability across different platforms

Engineering Contradiction:
Improveplatform optimizationVSAvoidportability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal mobile application specification that can be synthesized into multiple platform-specific applications. This specification serves multiple functions: it defines the application logic, user interface, and behavior in a platform-independent manner, while also serving as the source for generating optimized versions for iOS, Android, and other platforms. The same specification can be used to create applications for different devices and operating systems, achieving both platform optimization and cross-platform portability.

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

3Adaptability or versatility

If web-based applications are used to achieve cross-platform compatibility, then a single application can run on all platforms, but the applications lack native ease of use and device integration

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoidnative user experience
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent replaces the manual mechanical process of developing separate native applications for each platform with an automated synthesis process. The mobile application specification is automatically synthesized into platform-specific native applications using computer-generated code, eliminating the need for manual porting while preserving native user experience and device integration capabilities.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Ease of manufacture

If manual development of platform-specific applications is performed, then full control over application functionality is achieved, but the development time and resource requirements increase

Engineering Contradiction:
Improvedevelopment controlVSAvoiddevelopment efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent performs preliminary action by creating a comprehensive mobile application specification that captures all application logic, interface definitions, and behavioral requirements before synthesis. This preliminary specification serves as a complete blueprint that guides the automatic synthesis process, ensuring that all necessary functionality is preserved while eliminating the need for manual re-development on each platform, thereby significantly improving development efficiency without losing control.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9218162B1Cross-platform mobile application specification and automatic synthesizer
Publication Date: 2015.12.22 MOBILEFORCE SOFTWARE
  • US9218162B1 patent drawing
  • US9218162B1 patent drawing
  • US9218162B1 patent drawing

AI summary

A method for synthesizing mobile applications is provided. The method includes receiving a mobile application specification and compiling a first native mobile application based at least in part on the mobile application specification. A second native mobile application is then compiled based at least in part on the mobile application specification. The first native mobile application is sent to a first client device. The first native mobile application is specific to the first client device and the first native mobile application is capable of being executed by the first client device. The second native mobile application is sent to a second client device, the second native mobile application being specific to the second client device and the second native mobile application is capable of being executed by the second client device.