# US 10,320,926 B2 · Modifying application functionality based on usage patterns of other users

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,320,926 B2
- Document ID: US10320926B2
- Status: Granted
- Kind: B2
- Application number: 14/854,743
- Filed: 2015-09-15
- Published: 2017-03-16
- Granted: 2019-06-11
- Earliest claimed: 2015-09-15
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Simon P. O'Doherty; Di Wu; Huan Zhang; WuMi Zhong
- Web page: https://patentgrep.com/patent/US10320926B2

## CPC

- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 9/44: Arrangements for executing specific programs
- G06F 9/451: Execution arrangements for user interfaces
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an approach for modifying a user interface for a user of an application, a processor receives a plurality of actions for a user of an application. A processor generates a unique identifier for each action of the plurality of actions. A processor generates a unique string of the generated unique identifiers for each action of the plurality of actions. A processor determines that a portion of a pattern of the unique string matches, within a predetermined threshold, a portion of a pattern of a history of usage of a set of users of the application. A processor modifies a user interface of the application, for the user, based on the portion of the pattern of the matched unique string, within the predetermined threshold, the portion of the pattern of the history of usage.

## Claims

### Claim 1

A method for modifying a user interface for a user of an application, the method comprising:
receiving, by one or more processors, data from a plurality of actions performed by a user of an application;
generating, by one or more processors, a unique identifier for each action of the plurality of actions, wherein the unique identifier includes serial numbers, random numbers, and codes that are kept unique by keeping a central registry that includes the unique identifier for each action;
generating, by one or more processors, a unique string of the generated unique identifiers for each action of the plurality of actions, wherein each action is performed in succession;
scanning, by one or more processors, the retrieved data using natural language processing based on machine learning for related concepts of the retrieved data and structure of the retrieved data, wherein natural language processing includes parsing, optical character recognition, and sentence breaking, and wherein machine learning includes statistical machine learning, decision tree learning, association rule learning, and clustering;
determining, by one or more processors, that a portion of a pattern of the unique string matches, within a predetermined threshold, a portion of a pattern of a history of usage of a set of users of the application;
documenting, by one or more processors, that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application, wherein documenting that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application comprises:
suggesting, by one or more processors, a documentation of the portion of the pattern of the unique string of unique identifiers that matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application by showing the user a video of a set of steps within the patterns and a choice to anonymize personally identifiable information from the plurality of actions received from the user, wherein the choice to anonymize personally identifiable information includes encrypting the personally identifiable information and removing the personally identifiable information;
determining, by one or more processors, that the suggestion is accepted, based on an indication that the user selected the suggested documentation from an option given to the user to accept the suggested documentation; and
generating, by one or more processors, a wiki page of the portion of the pattern of the unique string of unique identifiers that matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application; and
modifying, by one or more processors, a user interface of the application, for the user, based on the portion of the pattern of the matched unique string, within the predetermined threshold, the portion of the pattern of the history of usage.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of actions comprise a plurality of functions utilized by the user of the application.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of actions comprise a plurality of entered data into the application by the user.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application comprises:
determining, by one or more processors, that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application using a minimum distance algorithm across the history of usage.

### Claim 5 (depends on 1)

The method of claim 1, wherein the patterns are anti-patterns.

### Claim 6

A computer program product for modifying a user interface for a user of an application, the computer program product comprising:
one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to receive data from a plurality of actions performed by a user of an application;
program instructions to generate a unique identifier for each action of the plurality of actions, wherein the unique identifier includes serial numbers, random numbers, and codes that are kept unique by keeping a central registry that includes the unique identifier for each action;
program instructions to generate a unique string of the generated unique identifiers for each action of the plurality of actions, wherein each action is performed in succession;
program instructions to scan the retrieved data using natural language processing based on machine learning for related concepts of the retrieved data and structure of the retrieved data, wherein natural language processing includes parsing, optical character recognition, and sentence breaking, and wherein machine learning includes statistical machine learning, decision tree learning, association rule learning, and clustering;
program instructions to determine that a portion of a pattern of the unique string matches, within a predetermined threshold, a portion of a pattern of a history of usage of a set of users of the application;
program instructions to document that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application, wherein documenting that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application comprises:
program instructions to suggest documentation of the portion of the pattern of the unique string of unique identifiers that matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application by showing the user a video of a set of steps within the patterns and a choice to anonymize personally identifiable information from the plurality of actions received from the user, wherein the choice to anonymize personally identifiable information includes encrypting the personally identifiable information and removing the personally identifiable information;
program instructions to determine that the suggestion is accepted, based on an indication that the user selected the suggested documentation from an option given to the user to accept the suggested documentation; and
program instructions to generate a wiki page of the portion of the pattern of the unique string of unique identifiers that matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application; and
program instructions to modify a user interface of the application, for the user, based on the portion of the pattern of the matched unique string, within the predetermined threshold, the portion of the pattern of the history of usage.

### Claim 7 (depends on 6)

The computer program product of claim 6, wherein the plurality of actions comprise a plurality of functions utilized by the user of the application.

### Claim 8 (depends on 6)

The computer program product of claim 6, wherein the plurality of actions comprise a plurality of entered data into the application by the user.

### Claim 9 (depends on 6)

The computer program product of claim 6, wherein program instructions to determine that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application comprise:
program instructions to determine that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application using a minimum distance algorithm across the history of usage.

### Claim 10 (depends on 6)

The computer program product of claim 6, wherein the patterns are anti-patterns.

### Claim 11

A computer system for modifying a user interface for a user of an application, the computer system comprising:
one or more computer processors, one or more computer readable storage media, and program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising:
program instructions to receive data from a plurality of actions performed by a user of an application;
program instructions to generate a unique identifier for each action of the plurality of actions, wherein the unique identifier includes serial numbers, random numbers, and codes that are kept unique by keeping a central registry that includes the unique identifier for each action;
program instructions to generate a unique string of the generated unique identifiers for each action of the plurality of actions, wherein each action is performed in succession;
program instructions to scan the retrieved data using natural language processing based on machine learning for related concepts of the retrieved data and structure of the retrieved data, wherein natural language processing includes parsing, optical character recognition, and sentence breaking, and wherein machine learning includes statistical machine learning, decision tree learning, association rule learning, and clustering;
program instructions to determine that a portion of a pattern of the unique string matches, within a predetermined threshold, a portion of a pattern of a history of usage of a set of users of the application;
program instructions to document that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application, wherein documenting that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application comprises:
program instructions to suggest documentation of the portion of the pattern of the unique string of unique identifiers that matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application by showing the user a video of a set of steps within the patterns and a choice to anonymize personally identifiable information from the plurality of actions received from the user, wherein the choice to anonymize personally identifiable information includes encrypting the personally identifiable information and removing the personally identifiable information;
program instructions to determine that the suggestion is accepted, based on an indication that the user selected the suggested documentation from an option given to the user to accept the suggested documentation; and
program instructions to generate a wiki page of the portion of the pattern of the unique string of unique identifiers that matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application; and
program instructions to modify a user interface of the application, for the user, based on the portion of the pattern of the matched unique string, within the predetermined threshold, the portion of the pattern of the history of usage.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the plurality of actions comprise a plurality of functions utilized by the user of the application.

### Claim 13 (depends on 11)

The computer system of claim 11, wherein the plurality of actions comprise a plurality of entered data into the application by the user.

### Claim 14 (depends on 11)

The computer system of claim 11, wherein program instructions to determine that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application comprise:
program instructions to determine that the portion of the pattern of the unique string of unique identifiers matches, within the predetermined threshold, the portion of the pattern of the history of usage of the set of users of the application using a minimum distance algorithm across the history of usage.
