Shell Application Feature Telemetry for Usage Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development for new features often requires significant time and resources, with existing methods relying on assumptions about target markets and user behavior that are not validated until after feature development, leading to inefficiencies and potential waste.

Innovation Solution

Implementing shell application feature telemetry that allows for preemptive data collection and logic deployment in active user applications to test user interactions and behavior, enabling feature usage prediction without fully building the feature, and transmitting only success signals and anonymized metadata for analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If new features are developed using existing data and assumptions, then feature development can proceed, but the assumptions are not validated until after development completing the feature

Engineering Contradiction:
Improvefeature development timeVSAvoidassumption validation
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements preliminary action by deploying shell applications before the full feature is built. These shell applications perform preliminary data collection and validation of assumptions about user behavior, target market, and resource requirements. This allows the system to validate assumptions during the planning phase rather than after development is complete, reducing the risk of building features that do not meet实际需求.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If full feature development is undertaken before validation, then features can be built, but resources are wasted on features that may not be needed

Engineering Contradiction:
Improvefeature delivery speedVSAvoiddevelopment resources
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary data collection using shell applications to validate assumptions about feature usage, target market, and resource requirements before committing to full feature development. This preliminary action filters out unviable feature ideas early, preventing waste of development resources on features that would not be used or would require significant redesign.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses shell applications as simplified copies or placeholders of the full feature. These shell applications replicate the core functionality needed for data collection without implementing the complete feature set. This allows validation of assumptions using a minimal implementation rather than requiring the full feature to be built for testing purposes.

Inventive Principle:
Principle #26Copying

3Ease of operation

If data collection occurs without user interruptions, then user experience is maintained, but data collection logic must be implemented carefully

Engineering Contradiction:
Improveuser workflow continuityVSAvoiddata collection logic
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The shell applications perform data collection autonomously in the background without requiring user interaction or interrupting user workflows. The system self-manages the data collection process, triggering events based on user actions while maintaining transparency and privacy. This self-service approach simplifies the user experience while implementing sophisticated data collection logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3738027B1Feature usage prediction using shell application feature telemetry
Publication Date: 2023.11.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3738027B1 patent drawingFigure 1~2
  • EP3738027B1 patent drawingFigure 3
  • EP3738027B1 patent drawingFigure 4A

AI summary

A shell application feature can include trigger information and logic. During operation, the shell application feature can receive an indicator that a trigger occurred; and, in response to the trigger, initiate its logic. The logic of the shell feature is locally performed to identify whether state, object type, user actions, or a combination thereof, with respect to the application satisfy a success criteria corresponding to behavior that will be a prerequisite for a potential feature that is not yet fully implemented. If the state, object type, user action, or combination thereof satisfies the success criteria, a success notification can be communicated to a feature collection service.