Feature Injection Module for Client-Side Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software application development frameworks inefficiently handle feature implementation in client applications, as they often include instructions that are not suitable for the device capabilities or user preferences, leading to resource wastage.

Innovation Solution

A method of injecting features into a software application based on client device capabilities, using an injection module that determines the appropriate features to include when an instance of the application view is instantiated, allowing for lazy loading and leveraging levers to decide on feature incorporation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the server sends all client-side script instructions to enhance application interactivity, then the application functionality is improved, but resource consumption increases due to executing unnecessary instructions on devices lacking required capabilities

Engineering Contradiction:
Improveapplication functionalityVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the application instructions into feature-specific modules that can be independently evaluated and loaded. Each feature is wrapped in a way that allows the framework to determine whether to load it based on device capabilities, preventing execution of unnecessary instructions and reducing resource consumption while maintaining full functionality when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of instruction delivery from sending all instructions to selectively sending only relevant instructions. The framework evaluates device capabilities and user preferences as parameters to determine which features to include, transforming the approach from static all-or-nothing instruction delivery to dynamic parameter-based selection.

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If the client application conditionally executes portions of instructions based on device capabilities, then resource efficiency is improved, but application complexity increases due to multiple if/then statements throughout the instructions

Engineering Contradiction:
Improveresource efficiencyVSAvoidapplication complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary framework layer between the server and the client application. This framework handles the complexity of capability evaluation and feature selection, shielding the original application instructions from complexity. The framework acts as a mediator that translates device capabilities into appropriate feature sets without requiring the application code itself to contain complex conditional logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the complexity management function from the application instructions themselves and places it in the framework. By taking out the capability evaluation and feature selection logic into a separate framework layer, the original application instructions remain simple while still achieving resource efficiency through conditional execution.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If the application includes all possible features in the view definition, then the application is ready for all device capabilities, but memory consumption increases due to loading unnecessary features

Engineering Contradiction:
Improvedevice capability compatibilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by pre-defining all possible features in the view definition with their capability requirements, but delaying actual loading until needed. The framework evaluates device capabilities at initialization time and pre-selects which features to load, avoiding memory consumption of unnecessary features while maintaining readiness for all device types through the pre-defined feature structure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transforms the static view definition into a dynamic feature selection mechanism. Instead of all features being loaded simultaneously, the system dynamically determines which features to load based on device capabilities. This dynamic approach maintains adaptability across different devices while reducing memory consumption by loading only relevant features.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8949781B1Injecting features into an application
Publication Date: 2015.02.03 ZYNGA INC
  • US8949781B1 patent drawing
  • US8949781B1 patent drawing
  • US8949781B1 patent drawing

AI summary

A method of injecting a feature into an application is disclosed. A definition of the feature of the application is received. It is determined that the feature is an injection feature of a view of the application. It is detected that an instance of the view of the application is being instantiated. The feature is injected into the view of the application based on the determining that the feature is the injection feature of the view of the application and the detecting that the instance of the view of the application is being instantiated.