Automatic Platform Package Provisioning for API Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The fragmentation of developer experiences and user interactions across diverse mobile devices running different software platform releases leads to challenges in seamless application development and user experience, as different API versions and client library versions result in inconsistent feature implementations and user interfaces.

Innovation Solution

Implementing a multi-part application programming interface (API) that separates interface functionalities from implementation functionalities, where interface functionalities are handled by a client library and implementation functionalities are managed in a platform implementation package that can be automatically updated throughout the device ecosystem, eliminating the need for new application publications due to API or software updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developer APIs are included in the device software platform itself, then the developer experience is fragmented by each platform release having different APIs and capabilities, but including them in the platform allows direct access to platform features

Engineering Contradiction:
Improveplatform feature accessVSAvoiddeveloper experience fragmentation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the API system into two distinct parts: client libraries (containing interface functionalities) and platform implementation packages (containing implementation functionalities). This segmentation allows the interface layer to remain consistent across devices while the implementation layer can be updated independently in the platform, resolving the contradiction between platform feature access and developer experience consistency.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If developer APIs are included in client libraries bundled with applications, then those client libraries can be running at different version levels on a single mobile device, but this creates a fragmented user experience since the same feature will be covered by different APIs running under different client library versions

Engineering Contradiction:
Improveclient library versioningVSAvoiduser experience consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent separates the client library (interface) from the platform implementation package (implementation). The client library version remains fixed in the application, while the platform implementation package can be updated independently. This segmentation ensures that users experience consistent behavior through the same client library interface while the underlying implementation can be improved or updated without affecting user experience consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client library acts as an intermediary layer between the application and the platform implementation package. This intermediary maintains a stable interface contract while allowing the underlying implementation to evolve, thus mediating between version flexibility and experience consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the same feature is covered by different APIs in different client library versions, then developers can target different device capabilities, but this results in inconsistent user interfaces and fragmented user experience

Engineering Contradiction:
Improvedevice capability targetingVSAvoiduser interface consistency
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent divides the feature implementation into interface functionality (in client library) and implementation functionality (in platform implementation package). This allows the interface to present a consistent user experience while the implementation can adapt to different device capabilities through the platform package, resolving the contradiction between capability targeting and interface consistency.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3188011B1Automatic provisioning of a software platform to a device ecosystem
Publication Date: 2024.04.10 GOOGLE LLC
  • EP3188011B1 patent drawingFigure 1
  • EP3188011B1 patent drawingFigure 2A
  • EP3188011B1 patent drawingFigure 2B

AI summary

A method for automatically provisioning a platform implementation package to a client device may include receiving from an application executing on the client device, a request for functionality. The request may be received via a client library distributed with the application, and may be for functionality provided by the platform implementation package. The platform implementation package may provide functionality that is not provided by the client library. It may be further automatically determined, by the client device, that the functionality requires an update to the platform implementation package. In response, a request for the update to the platform implementation package may be communicated to a computing system. The update to the platform implementation package may be received from the computing system and installed on the client device. The requested functionality may be provided to the application by the updated platform implementation package.