Automated Per-User Software Customization via Feedback Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in efficiently updating software products as they require manual identification and resolution of issues, which is time-consuming and costly, and does not allow for personalized user experiences.

Innovation Solution

A computer-implemented technique that collects user feedback, interprets it to determine modifications to program features, and applies these modifications automatically, enabling per-user customization and reducing the need for human developer intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual identification and development of fixes is used, then software updates can be produced, but the process is time-consuming and costly

Engineering Contradiction:
Improvesoftware update qualityVSAvoidupdate development time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service by automatically analyzing user feedback, interpreting comments through natural language processing, determining appropriate modifications, and applying fixes without requiring manual developer intervention for each issue. The software updates itself based on user-reported problems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a closed-loop feedback mechanism where user feedback is collected, analyzed, and used to generate modifications that are then applied to the software. The process continuously improves based on ongoing user input and post-modification assessments.

Inventive Principle:
Principle #23Feedback

2Reliability

If manual development of fixes is used, then software updates can be produced, but the cost is high

Engineering Contradiction:
Improvesoftware update qualityVSAvoidupdate development cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system eliminates the need for manual developer time for each fix by automating the entire process from feedback analysis to modification application. This self-service approach significantly reduces labor costs while maintaining update quality.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces the mechanical process of manual code review and fix development with automated computational processes including natural language processing, pattern recognition, and automated code generation, thereby reducing human labor costs.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If same fixes are pushed to all users, then updates can be delivered efficiently, but personalized user experiences cannot be provided

Engineering Contradiction:
Improveupdate delivery speedVSAvoiduser experience customization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system applies local quality by customizing modifications for individual users based on their specific feedback and usage patterns. Each user receives tailored fixes and feature adjustments rather than uniform updates, enabling personalized experiences while maintaining efficient automated delivery.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements dynamics by making the update process adaptive and flexible. Modifications are dynamically generated based on real-time user feedback analysis, allowing the software to evolve and personalize experiences for each user while maintaining rapid update cycles.

Inventive Principle:
Principle #15Dynamics

4Productivity

If automated modification is implemented, then update delivery is expedited, but complexity of the system increases

Engineering Contradiction:
Improveupdate delivery speedVSAvoidfeedback processing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system achieves universality by creating a multi-functional automated platform that handles feedback collection, natural language processing, modification determination, code generation, and deployment. This unified system manages complexity through integration while enabling rapid personalized updates.

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

Data Source

PatentUS10101870B2Customizing program features on a per-user basis
Publication Date: 2018.10.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10101870B2 patent drawing
  • US10101870B2 patent drawing
  • US10101870B2 patent drawing

AI summary

A computer-implemented technique is described herein for customizing user experience on a per-user basis. In some implementations, the technique involves: collecting feedback information from a user pertaining to the user's interaction with a program feature; determining a modification to be made to the program feature based on the feedback information; making the modification; notifying the user of the modification; and receiving the user's post-modification assessment of the modification. The technique enables a program provider to quickly modify program features in an automated manner, with no (or reduced) effort by human developers, and at consequent reduced cost. In addition, the technique improves the users' experience with the program features since the program modifications are tailored to each user's preferences.