SDK Module Segmentation for Mobile App Size Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software development kits (SDKs) for mobile applications are inefficient due to inclusion of unnecessary modules, leading to larger application sizes and the need for multiple SDKs to provide complete functionality, limiting debugging capabilities for developers as they primarily operate before application distribution to end users.

Innovation Solution

A system and method that allows developers to install analytic software within an integrated development environment (IDE) using a wizard-like interface, which communicates with a web server to generate and update SDKs with only the necessary modules, enabling real-time debugging and bug identification on end-user devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional SDKs include all possible modules and functions, then they provide complete functionality, but the SDK size increases significantly and application size increases

Engineering Contradiction:
Improvefunctionality completenessVSAvoidSDK size
Core Design Contradiction:
Adaptability or versatilityVSWeight of stationary object

Solution Approach 1:

The patent segments the SDK into multiple independent modules that can be selectively included. Instead of providing a monolithic SDK containing all possible functions, the system divides functionality into discrete modules that developers can choose from based on their specific application needs, thereby reducing overall SDK size while maintaining complete functionality when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic SDK configuration where the SDK composition is not fixed but can be customized for each application. The system allows developers to dynamically select and configure only the modules required for their specific application, transforming the static SDK into an adaptive, customizable package that optimizes the balance between functionality and size.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple SDKs are used to provide complete functionality, then all required modules are available, but application size increases and complexity increases

Engineering Contradiction:
Improvefunctionality completenessVSAvoidSDK integration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple separate SDKs into a single unified SDK that contains all possible modules. Instead of requiring developers to integrate multiple separate SDKs to achieve complete functionality, the system consolidates all modules into one comprehensive SDK, simplifying the integration process while still allowing selective inclusion of only needed modules.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal SDK that can serve multiple application types and requirements. This single SDK is designed to be multi-functional, containing modules that can accommodate various application needs, thereby eliminating the requirement for multiple specialized SDKs and reducing overall system complexity.

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

3Adaptability or versatility

If SDKs include unnecessary modules, then they provide comprehensive functionality, but memory usage increases on mobile devices

Engineering Contradiction:
Improvefunctionality availabilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary modules from the comprehensive SDK and includes them in the final application. The system allows developers to review and select specific modules needed for their application, removing unnecessary modules before compilation. This extraction process ensures that only essential functionality is included, reducing memory consumption while maintaining required adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

4Ease of manufacture

If debugging is limited to pre-distribution phase, then development process is simplified, but bug detection capability is reduced

Engineering Contradiction:
Improvedevelopment process simplicityVSAvoidbug detection capability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements feedback mechanisms that allow developers to receive information about application performance and bugs from end-user devices. The system collects runtime data, error reports, and performance metrics from deployed applications and feeds this information back to developers, enabling continuous debugging and improvement even after distribution, thereby enhancing bug detection capability while maintaining development process simplicity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20170199807A1System and method for automatic software development kit configuration and distribution
Publication Date: 2017.07.13 GOOGLE LLC
  • US20170199807A1 patent drawing
  • US20170199807A1 patent drawing
  • US20170199807A1 patent drawing

AI summary

A developer analytic module executing on an integrated development environment provides location tracing of a software development toolkit and automatic updates of the SDK. The developer analytic module further provides a user interface that enables a developer to select one or more functional modules to be included in a SDK to be installed at the developer's IDE.