IP Library Granted Patent US 11,531,557
Granted Patent B2
US 11,531,557 · App. 16/941,094 · Granted Dec 20, 2022

Determining user interface elements required for task completion using machine learning

Inventors: David James Woodward (Mountain View, CA); Brian J. Lonsdorf (Moss Beach, CA); Owen Winne Schoppe (Orinda, CA); Alan Martin Ross (San Francisco, CA); Jessica Lundin (Bellevue, WA); Sönke Rohde (San Francisco, CA)
Assignee: Salesforce. Inc.
G06F9/451G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,531,557
App. No.
16/941,094
Granted
Dec 20, 2022
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for determining the minimum set of user interface (UI) elements for a task. One embodiment operates by transmitting UI elements associated with an application to a first computing device operated by a first user and a second computing device operated by a second user. Further, the embodiment includes obtaining data structures corresponding to a first task and a second task and then grouping, using a machine learning model, the data structures into a first cluster corresponding to the first task and a second cluster corresponding to the second task. Further still, the embodiment also includes determining a minimum set of UI elements required for the first task based on the first cluster.

Claims (75)

1. A method, comprising:

transmitting, by one or more computing devices, a plurality of user interface (UI) elements associated with an application to a first computing device operated by a first user and a second computing device operated by a second user;

obtaining, by the one or more computing devices, a plurality of data structures comprising:

a first data structure identifying a first subset of the plurality of UI elements manipulated by the first user while the first user was completing a first task in the application using the first computing device; and

a second data structure identifying a second subset of the plurality of UI elements manipulated by the second user while the second user was completing a second task in the application using the second computing device;

grouping, using a machine learning model executing on the one or more computing devices, the plurality of data structures into a plurality of clusters comprising:

a first cluster corresponding to the first task and comprising the first data structure; and

determining, using the one or more computing devices, a minimum set of UI elements required for the first task based on the first cluster.

2. The method of claim 1 , further comprising:

determining, using one or more computing devices, a minimum set of UI elements required for the second task based on a second cluster comprising the second data structure.

3. The method of claim 2 , wherein:

the first cluster further comprises a first subset of the plurality of data structures,

the second cluster further comprises a second subset of the plurality of data structures,

determining the minimum set of UI elements for the first task comprises executing a union operation on the first subset of the plurality of data structures, and

determining the minimum set of UI elements for the second task comprises executing a union operation on the second subset of the plurality of data structures.

4. The method of claim 3 , further comprising:

calculating a plurality of distances between the plurality of clusters.

5. The method of claim 4 , further comprising:

obtaining a first plurality of timestamps associated with the first subset of the plurality of data structures;

determining a first age statistic for the first subset of the plurality of data structures based on the first plurality of timestamps;

obtaining a second plurality of timestamps associated with the second subset of the plurality of data structures; and

determining a second age statistic for the second subset of the plurality of data structures based on the second plurality of timestamps.

6. The method of claim 1 , further comprising:

generating a custom UI for the first task comprising the minimum set of UI elements for the first task but excluding other UI elements in the plurality of UI elements.

7. The method of claim 1 , wherein the plurality of UI elements comprises at least one selected from a group consisting of radio buttons, a textbox, and a drop-down list, and wherein the first task updates a field of a record.

8. A system, comprising:

one or more computer processors; and

a memory storing instructions that, when executed by the one or more computer processors, cause the one or more computer processors to:

transmit a plurality of user interface (UI) elements associated with an application to a first computing device operated by a first user and a second computing device operated by a second user;

obtain a plurality of data structures comprising:

a first data structure identifying a first subset of the plurality of UI elements manipulated by the first user while the first user was completing a first task in the application using the first computing device; and

a second data structure identifying a second subset of the plurality of UI elements manipulated by the second user while the second user was completing a second task in the application using the second computing device;

group, using a machine learning model, the plurality of data structures into a plurality of clusters comprising:

a first cluster corresponding to the first task and comprising the first data structure; and

determine a minimum set of UI elements required for the first task based on the first cluster.

9. The system of claim 8 , wherein the instructions further cause the one or more computer processors to:

determine a minimum set of UI elements required for the second task based on a second cluster comprising the second data structure.

10. The system of claim 9 , wherein:

the first cluster further comprises a first subset of the plurality of data structures,

the second cluster further comprises a second subset of the plurality of data structures,

determining the minimum set of UI elements for the first task comprises executing a union operation on the first subset of the plurality of data structures, and

determining the minimum set of UI elements for the second task comprises executing a union operation on the second subset of the plurality of data structures.

11. The system of claim 10 , wherein the instructions further cause the one or more computer processors to:

calculate a plurality of distances between the plurality of clusters.

12. The system of claim 11 , wherein the instructions further cause the one or more computer processors to:

obtain a first plurality of timestamps associated with the first subset of the plurality of data structures;

determine a first age statistic for the first subset of the plurality of data structures based on the first plurality of timestamps;

obtain a second plurality of timestamps associated with the second subset of the plurality of data structures; and

determine a second age statistic for the second subset of the plurality of data structures based on the second plurality of timestamps.

13. The system of claim 8 , wherein the instructions further cause the one or more computer processors to:

generate a custom UI for the first task comprising the minimum set of UI elements for the first task but excluding other UI elements in the plurality of UI elements.

14. The system of claim 8 , wherein the plurality of UI elements comprises at least one selected from a group consisting of radio buttons, a textbox, and a drop-down list.

15. A non-transitory computer readable medium (CRM) storing instructions, the instructions, when executed by one or more computer processors, cause the one or more computer processors to:

transmit a plurality of user interface (UI) elements associated with an application to a first computing device operated by a first user and a second computing device operated by a second user;

obtain a plurality of data structures comprising:

a first data structure identifying a first subset of the plurality of UI elements manipulated by the first user while the first user was completing a first task in the application using the first computing device; and

a second data structure identifying a second subset of the plurality of UI elements manipulated by the second user while the second user was completing a second task in the application using the second computing device;

group, using a machine learning model, the plurality of data structures into a plurality of clusters comprising:

a first cluster corresponding to the first task and comprising the first data structure; and

determine a minimum set of UI elements required for the first task based on the first cluster.

16. The non-transitory CRM of claim 15 , wherein the instructions further cause the one or more computer processors to:

determine a minimum set of UI elements required for the second task based on a second cluster comprising the second data structure.

17. The non-transitory CRM of claim 16 , wherein:

the first cluster further comprises a first subset of the plurality of data structures,

the second cluster further comprises a second subset of the plurality of data structures,

determining the minimum set of UI elements for the first task comprises executing a union operation on the first subset of the plurality of data structures, and

determining the minimum set of UI elements for the second task comprises executing a union operation on the second subset of the plurality of data structures.

18. The non-transitory CRM of claim 17 , wherein the instructions further cause the one or more computer processors to:

obtain a first plurality of timestamps associated with the first subset of the plurality of data structures;

determine a first age statistic for the first subset of the plurality of data structures based on the first plurality of timestamps;

obtain a second plurality of timestamps associated with the second subset of the plurality of data structures; and

determine a second age statistic for the second subset of the plurality of data structures based on the second plurality of timestamps.

19. The non-transitory CRM of claim 15 , wherein the instructions further cause the one or more computer processors to:

generate a custom UI for the first task comprising the minimum set of UI elements for the first task but excluding other UI elements in the plurality of UI elements.

20. The non-transitory CRM of claim 15 , wherein the plurality of UI elements comprises at least one selected from a group consisting of radio buttons, a textbox, and a drop-down list.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2020
From: WOODWARD, DAVID JAMES; LONSDORF, BRIAN J.; SCHOPPE, OWEN WINNE; ROSS, ALAN MARTIN; LUNDIN, JESSICA; ROHDE, SONKE
To: SALESFORCE.COM, INC.
Reel/Frame 053341/0040 →
Continuity (2)
Provisional Application 62968780 · Jan 31, 2020
Related Publication 20210240501A1 · Aug 5, 2021
Cited By (1)
US 12,510,901