IP Library Granted Patent US 12704939
Granted Patent B2
US 12704939 · App. 18/230,564 · Granted Aug 11, 2026

Dynamically providing a macro to a user based on previous user interactions

Inventors: Sneha Ashok (San Jose, CA); Cliff Kuang (San Francisco, CA); Mugurel-Ionut Andreica (Adliswil, CH)
Assignee: GOOGLE LLC
G06F3/0482G06F3/0488G06F9/453G06F11/3438
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 12704939
App. No.
18/230,564
Granted
Aug 11, 2026
Kind
B2
Abstract

Implementations relate to providing a macro to a user to instruct the user regarding how to perform an action. When a user submits a request to perform an action, an option is provided that indicates a macro is available. Upon selecting the macro, one or more elements are displayed, with a corresponding application displayed in the background. The next element is displayed after a period of time, depending on the user familiarity with the action.

Claims (48)

1 . A method implemented by one or more processors, the method comprising:

receiving a request from a user to utilize a macro to perform an action, wherein the macro automatically instructs the user to perform the action via one or more interface elements overlaying an application interface of an application, and wherein the macro includes a plurality of steps;

identifying one or more previous instances of the user utilizing the macro in performing the action, wherein utilizing the macro in performing the action includes utilizing the plurality of steps of the macro;

determining, based on the one or more previous instances of the user utilizing the macro in performing the action, including utilizing the plurality of steps of the macro, a user familiarity metric, wherein the user familiarity metric indicates user experience with performing the action;

determining, based on the user familiarity metric, a playback speed for the macro, wherein determining the playback speed for the macro based on the user familiarity metric comprises:

when the user familiarity metric indicates a first measure of user experience with performing the action, determining a first playback speed; and

when the user familiarity metric indicates a second measure of user experience with performing the action, determining a second playback speed, wherein the first playback speed is faster than the second playback speed when the first measure of user experience indicates more user experience with performing the action than the second measure of user experience;

causing a first interface element of the one or more interface elements to be rendered, wherein the first interface element is associated with a first step of the plurality of steps;

waiting a period of time, wherein the period of time is determined based on the playback speed; and

in response to waiting the period of time:

causing a second interface element of the one or more interface elements to be rendered, wherein the second interface element is associated with a second step of the plurality of steps.

2 . The method of claim 1 , wherein the application is an operating system of a computing device.

3 . The method of claim 1 , further comprising:

rendering, while waiting the period of time, a countdown element that indicates a remaining time, of the period of time, remaining before rendering the second interface element.

4 . The method of claim 1 , wherein the one or more previous instances include one or more instances of the user requesting the macro.

5 . The method of claim 1 , further comprising:

receiving a playback speed request from the user to adjust the playback speed;

determining, based on the playback speed request, an adjusted playback speed; and

adjusting the period of time based on the adjusted playback speed.

6 . The method of claim 1 , wherein one of the interface elements indicates a location on the application interface where the user is required to perform a gesture to complete one of the steps.

7 . The method of claim 6 , wherein the gesture is the user swiping the application interface.

8 . The method of claim 6 , wherein the gesture is the user selecting a button element.

9 . The method of claim 1 , wherein an interface element of the interface elements is a textual element that indicates to the user how to complete a corresponding step.

10 . A system, comprising:

memory storing instructions; and

one or more processors operable to execute the instructions to:

receive a request from a user to utilize a macro to perform an action, wherein the macro automatically instructs the user to perform the action via one or more interface elements overlaying an application interface of an application, and wherein the macro includes a plurality of steps;

identify one or more previous instances of the user utilizing the macro in performing the action, wherein utilizing the macro in performing the action includes utilizing the plurality of steps of the macro;

determine, based on the one or more previous instances of the user utilizing the macro in performing the action, including utilizing the plurality of steps of the macro, a user familiarity metric, wherein the user familiarity metric indicates user experience with performing the action;

determine, based on the user familiarity metric, a playback speed for the macro, wherein in determining the playback speed for the macro based on the user familiarity metric, one or more of the processors are to:

when the user familiarity metric indicates a first measure of user experience with performing the action, determine a first playback speed; and

when the user familiarity metric indicates a second measure of user experience with performing the action, determine a second playback speed, wherein the first playback speed is faster than the second playback speed when the first measure of user experience indicates more user experience with performing the action than the second measure of user experience;

cause a first interface element of the one or more interface elements to be rendered, wherein the first interface element is associated with a first step of the plurality of steps;

wait a period of time, wherein the period of time is determined based on the playback speed; and

in response to waiting the period of time:

cause a second interface element of the one or more interface elements to be rendered, wherein the second interface element is associated with a second step of the plurality of steps.

11 . The system of claim 10 , wherein the application is an operating system.

12 . The system of claim 10 , wherein one or more of the processors, in executing the instructions, are further to:

render, while waiting the period of time, a countdown element that indicates a remaining time, of the period of time, remaining before rendering the second interface element.

13 . The system of claim 12 , wherein the one or more previous instances include one or more instances of the user requesting the macro.

14 . The system of claim 10 , wherein one or more of the processors, in executing the instructions, are further to:

receive a playback speed request from the user to adjust the playback speed;

determine, based on the playback speed request, an adjusted playback speed; and

adjust the period of time based on the adjusted playback speed.

15 . The system of claim 10 , wherein one of the interface elements indicates a location on the application interface where the user is required to perform a gesture to complete one of the steps.

16 . The system of claim 15 , wherein the gesture is the user swiping the application interface.

17 . The system of claim 15 , wherein the gesture is the user selecting a button element.

18 . The system of claim 10 , wherein an interface element of the interface elements is a textual element that indicates to the user how to complete a corresponding step.