Dynamic Application Versioning via Abstract Component Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Application development is inefficient and costly due to the need for creating multiple versions of an application to accommodate different device specifications, such as operating systems and display resolutions, which often results in repetitive work and limited compatibility.

Innovation Solution

The method involves creating an abstract representation of an application and mapping it to various component mappings, allowing a server to determine and send the appropriate version of the application to a device based on its specifications, thereby eliminating the need for separate versions for each device type.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple versions of an application are developed for different device specifications, then compatibility with various devices is improved, but development time and cost increase

Engineering Contradiction:
ImprovecompatibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a single application version that can adapt to multiple device specifications through a specification detection mechanism. The application receives device specification information, determines compatibility based on predefined criteria, and adjusts its behavior accordingly, eliminating the need to develop separate versions for different devices while maintaining broad compatibility

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

Solution Approach 2:

The application dynamically changes its operational parameters based on detected device specifications. By receiving specification data and adjusting its configuration, the application can optimize its performance for different device types without requiring separate codebases, thus reducing development time while maintaining adaptability

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If multiple versions of an application are developed for different device specifications, then compatibility with various devices is improved, but development complexity increases

Engineering Contradiction:
ImprovecompatibilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system uses a single universal application version that incorporates a specification detection and compatibility determination mechanism. This approach consolidates what would otherwise require multiple separate application versions into one unified codebase, reducing development complexity while maintaining the ability to support various device specifications

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

Solution Approach 2:

The application performs self-detection of device specifications and self-determination of compatibility without requiring manual configuration or separate deployment processes. This automation reduces the complexity of managing multiple versions by allowing the application to adapt itself based on the runtime environment

Inventive Principle:
Principle #25Self-service

3Productivity

If a single application version is used for all devices, then development efficiency is improved, but compatibility with various devices deteriorates

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidcompatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The single application version incorporates a mechanism to receive device specification information and dynamically adjust its operational parameters. This allows the application to maintain high development efficiency by using one codebase while achieving broad compatibility through runtime parameter adjustment based on detected device characteristics

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8856741B2Just in time component mapping
Publication Date: 2014.10.07 ADOBE INC
  • US8856741B2 patent drawing
  • US8856741B2 patent drawing
  • US8856741B2 patent drawing

AI summary

One embodiment involves a system comprising a network, a server, and a requesting device. The server and requesting device are connected with the network. The server comprises a processor configured to receive a request from the requesting device and determine information about the requesting device based at least in part on the request. The processor is further configured to determine an abstract representation of an application and at least one mapping from a plurality of mappings based at least in part on the information about the device. The abstract representation comprises a plurality of components. Each mapping comprises an attribute for at least one of the plurality of components. The processor is further configured to generate a version of the application on-the-fly based at least in part on the abstract representation and the at least one mapping and send the version of the application to the requesting device.