Platform-Independent UI Abstraction for Cross-Device Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional mobile application development requires building separate applications in native languages for different platforms, leading to high development and maintenance overhead, as well as incompatibility issues due to platform-dependent programming languages.

Innovation Solution

Generating and using platform-independent code that includes platform-specific code selected at runtime, utilizing a UI library with abstractions that adapt user interface elements to different platforms, such as HTML5-based libraries, allowing a single application to run on multiple platforms with a native-like experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate native applications are built for different platforms, then platform-specific performance and compatibility are improved, but development complexity and maintenance overhead increase

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

Solution Approach 1:

The patent implements a universal application architecture where a single application written in one native language can run on multiple platforms. The system uses platform detection to identify the target platform at runtime and dynamically loads appropriate platform-specific components or adjusts behavior, allowing one codebase to serve multiple platforms while maintaining native performance and compatibility on each.

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

Solution Approach 2:

The application employs dynamic platform detection and adaptive behavior adjustment based on the runtime environment. The system dynamically determines which platform it is running on and modifies its execution accordingly, enabling a single application to adapt to different platforms without requiring separate native development for each.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple native languages are used for different platforms, then platform-specific optimization is improved, but maintenance cost and time increase

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

Solution Approach 1:

By using a single native language for the application codebase, the patent eliminates the need to maintain multiple versions in different languages. The universal approach allows developers to write, debug, and maintain one codebase that runs on multiple platforms, significantly reducing maintenance time and effort while still achieving platform-specific optimization through runtime adaptation.

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

3Ease of operation

If platform-specific code is used for each platform, then user interface appropriateness is improved, but code reusability decreases

Engineering Contradiction:
Improveuser interface appropriatenessVSAvoidcode reusability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system dynamically detects the platform at runtime and adjusts the user interface and behavior accordingly. This dynamic adaptation allows the same codebase to provide platform-appropriate user experiences on different platforms without requiring separate platform-specific code, thereby maintaining high code reusability while ensuring interface appropriateness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a platform detection intermediary that acts as a mediator between the universal application code and platform-specific requirements. This intermediary detects the runtime platform and facilitates appropriate adaptations, allowing the main codebase to remain platform-agnostic while still delivering platform-specific user experiences through controlled adjustments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9038019B2Paige control for enterprise mobile applications
Publication Date: 2015.05.19 SAP SE
  • US9038019B2 patent drawing
  • US9038019B2 patent drawing
  • US9038019B2 patent drawing

AI summary

The disclosure generally describes computer-implemented methods, software, and systems for generating and using platform-independent code. A computer-implemented method includes: identifying a user interface library that includes abstractions of user interface elements, each abstraction being platform-independent and associated with platform-specific code including user interface code unique to different platforms; receiving application code at design time that includes an abstraction of a user interface element; and storing the application code for use on a client device. At subsequent execution time, the application code is configured to: determine platform-specific information of the client device; execute platform-specific lines of code appropriate for the client device; and present the user interface element in a user interface of the client device in a way that is appropriate for the client device.