# US 11,029,980 B2 · Customizable animations

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

- Number: US 11,029,980 B2
- Document ID: US11029980B2
- Status: Granted
- Kind: B2
- Application number: 16/670,891
- Filed: 2019-10-31
- Published: 2021-05-06
- Granted: 2021-06-08
- Earliest claimed: 2019-10-31
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Sultan Ali; Aria Niazi; Darrel Dazhi Liu; Jeremy Ellison; Jianmin Liu; Bhargav Venkataraman
- Web page: https://patentgrep.com/patent/US11029980B2

## CPC

- G06F 9/453: {Help systems}
- G06T 13/00: Animation
- G06F 8/34: Graphical or visual programming
- G06T 13/40: of characters, e.g. humans, animals or virtual beings
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2213/08: Animation software package
- G06T 2213/12: Rule based animation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Disclosed herein are system, method, and device embodiments for implementing dynamic customizable animations. A multi-tenant service may configure a visual component of an application to present an animation based on a rule, generate a multi-tenant entity record defining the rule, and generate application code associated with the application. Further, the multi-tenant service may receive a request for animation information associated with the multi-tenant entity record, and send the animation information to the client device. Further, in some embodiments, a client device executing the application may present the animation based on evaluating the animation information.

## Claims

### Claim 1

A method, comprising:
receiving, via a declarative programming wizard, a request to configure a visual component of an application to present an animation based on a condition and a frequency option indicating how often the animation is to be presented when the condition is true;
generating a record comprising the condition and the frequency option;
generating application code associated with the application;
receiving, from a client device in response to execution of the application code, a request for animation information associated with the record, wherein the request for animation information includes an application identifier associated with the application;
identifying the record based at least in part on the application identifier;
generating the animation information based upon the record, wherein the animation information comprises the condition and the frequency option; and
sending the animation information to the client device, wherein the application executing on the client device causes the visual component to present the animation based on evaluation of the animation information.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
presenting, during the declarative programming wizard, a graphical user interface (GUI) comprising a first GUI widget for selecting the frequency option and a second GUI widget for selecting a path stage in a process,
wherein the visual component is a path component visually representing a progress status of the process, and
wherein the condition is associated with the path stage selected using the second GUI widget.

### Claim 3 (depends on 1)

The method of claim 1, wherein the condition includes a user setting a data field.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the application code associated with the application comprises: configuring the application to include an animation manager for dynamically rendering an animation component corresponding to the animation.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
configuring the visual component to determine an accessibility option of a browser on the client device executing the application,
wherein the visual component presents the animation further based on the accessibility option.

### Claim 6

A system comprising:
a memory; and
one or more processors and/or circuits coupled to the memory and configured to:
receive, via a declarative programming wizard, a request to configure a visual component of an application to present an animation based on a a condition and a frequency option indicating how often the animation is to be presented when the condition is true;
generate a record comprising the condition and the frequency option;
send application code associated with the application to a client device;
receive, from the client device in response to execution of the application code, a request for animation information associated with the record, wherein the request for animation information includes an application identifier associated with the application;
identify the record based at least in part on the application identifier;
generate the animation information based upon the record, wherein the application information comprises the condition and the frequency option; and
send the animation information to the client device, wherein the application executing on the client device causes the visual component to present the animation based on evaluation of the animation information.

### Claim 7 (depends on 6)

The system of claim 6, wherein the one or more processors and/or circuits are further configured to:
present, during the declarative programming wizard, a graphical user interface (GUI) comprising a first GUI widget for selecting the frequency option and a second GUI widget for selecting a path stage in a process,
wherein the visual component is a path component visually representing a progress status of the process, and
wherein the condition is associated with the path stage selected using the second GUI widget.

### Claim 8 (depends on 6)

The system of claim 6, wherein the one or more processors and/or circuits are further configured to:
configure the application to determine an accessibility option of a browser on the client device executing the application,
wherein the visual component presents the animation further based on the accessibility option.

### Claim 9 (depends on 6)

The system of claim 6, wherein to generate application code associated with the application, the one or more processors and/or circuits are further configured to:
configure the application to include an animation manager for dynamically rendering an animation component corresponding to the animation.

### Claim 10

A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
receiving application code including an animation manager and a visual component;
determining an application identifier based on the application code;
sending a request for animation information based on the application code, wherein the request includes the application identifier;
receiving the animation information from a service, the animation information identifying an animation associated with the visual component, a condition, and a frequency option indicating how often the animation is to be presented when the condition is true;
determining an evaluation result based on the animation information;
generating, by the animation manager, an animation component associated with the animation based on the evaluation result; and
presenting the animation via the animation component.

### Claim 11 (depends on 10)

The non-transitory computer-readable device of claim 10, wherein presenting the animation via the animation component comprises:
identifying browser settings associated with the browser executing the application; and
determining that the browser settings do not request disabling of the animation.

### Claim 12 (depends on 10)

The non-transitory computer-readable device of claim 10, wherein the visual component is a path component, and the operations further comprising:
presenting the path component, the path component indicating a progress status of a process;
receiving user input associated with a path step of the path component; and
presenting the animation in response to the user input.

### Claim 13 (depends on 10)

The non-transitory computer-readable device of claim 10, wherein determining the evaluation result based on the animation information comprises determining that a state of the application matches the condition of the animation information.

### Claim 14 (depends on 10)

The non-transitory computer-readable device of claim 10, wherein generating, by the animation manager, the animation component associated with the animation based on the evaluation result comprises:
identifying configuration information corresponding to the animation component; and
dynamically rendering the animation component based on the configuration information.

### Claim 15 (depends on 1)

The method of claim 1, wherein the request to configure the visual component specifies a type of the animation, and wherein the animation information comprises the type of animation.

### Claim 16 (depends on 1)

The method of claim 1, wherein the evaluation of the animation information comprises:
identifying a probability value associated with the frequency option; and
determining whether to present the animation based on the probability value.

### Claim 17 (depends on 6)

The system of claim 6, wherein the request to configure the visual component specifies a type of the animation, and wherein the animation information comprises the type of animation.

### Claim 18 (depends on 6)

The system of claim 6, wherein the evaluation of the animation information comprises:
identifying a probability value associated with the frequency option; and
determining whether to present the animation based on the probability value.

### Claim 19 (depends on 10)

The non-transitory computer-readable device of claim 10, wherein determining the evaluation result comprises:
identifying a probability value associated with the frequency option; and
determining whether to present the animation based on the probability value.
