IP Library Patent Application 12146848
Patent Application
App. No. 12/146,848

Dynamic animation scheduling

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 None
App. No.
12/146,848
Abstract

Dynamic animation scheduling techniques are described in which application callbacks are employed to permit dynamic scheduling of animations. An application may create a storyboard that defines an animation as transitions applied to a set of variables. The storyboard may be communicated to an animation component configured to schedule the storyboard. The animation component may then communicate one or more callbacks at various times to the application that describe a state of the variables. Based on the callbacks, the application may specify changes, additions, deletions, and/or other modifications to dynamically modify the storyboard. To draw the animation, the application may communicate a get variable values command to the animation component. The animation component performs calculations to update the variable values based on the storyboard and communicates the results to the application. The application may then cause output of the animation defined by the storyboard.

Claims (55)

1 . One or more computer-readable media storing instructions executable by a computing device to:

receive via an interface a storyboard from an application of the computing device, the storyboard defining an animation as one or more transitions applied to one or more variables;

schedule the animation according to the storyboard; and

communicate one or more callbacks to the application to enable dynamic modifying of the scheduled animation.

2 . One or more computer-readable media as recited in claim 1 , wherein the instructions to receive, schedule, and communicate are implemented by an animation component that is integrated with an operating system of the computing device.

3 . One or more computer-readable media as recited in claim 1 , wherein the instructions are further executable to:

log modifications to the storyboard made by the application during the one or more callbacks in a tracking log; and

use the tracking log to undo the modifications when expected values of the one or more variables used by the application to make the modifications are invalidated.

4 . One or more computer-readable media as recited in claim 1 , wherein the instructions are further executable to:

receive modifications to the storyboard that are communicated by the application responsive to the one or more callbacks; and

modify the storyboard accordingly.

5 . One or more computer-readable media as recited in claim 1 , wherein the instructions are further executable to:

receive a request from the application to get values of the one or more variables;

perform calculations on behalf of the application according to the storyboard; and

communicate results of the calculations to the application to enable output of the animation.

6 . One or more computer-readable media as recited in claim 1 , wherein at least one of said one or more callbacks is communicated to the application multiple times.

7 . One or more computer-readable media as recited in claim 1 , wherein multiple said callbacks are communicated prior to a scheduled time for the animation based upon one or more of:

initial scheduling of the storyboard;

a change in one or more assumptions used to construct the storyboard;

scheduling of a different storyboard;

removal of another storyboard from a schedule of animations;

an offset specified by the application in the storyboard; or

a defined amount of time before a scheduled time for the storyboard.

8 . One or more computer-readable media as recited in claim 1 , wherein one of said one or more callbacks occurs for an offset time specified by the application in the storyboard.

9 . One or more computer-readable media as recited in claim 1 , wherein the storyboard references the one or more transitions from a transition library.

10 . A method comprising:

communicating a storyboard to schedule an animation with an animation component;

receiving a callback from the animation component;

modifying the storyboard based upon the received callback;

obtaining variable values calculated by the animation component according to the modified storyboard; and

outputting the animation based upon the obtained variable values.

11 . A method as recited in claim 10 , wherein the storyboard describes the animation in terms of variables and transitions for the variables.

12 . A method as recited in claim 11 , wherein the callback describes an animation state that includes values of the variables described in the storyboard.

13 . A method as recited in claim 10 , further comprising instantiating an animation manager to provide an interface to the animation component.

14 . A method as recited in claim 10 , wherein updating the storyboard includes communicating a request to the animation component to modify the storyboard.

15 . A method as recited in claim 14 , wherein the request is configured to schedule another callback from the animation component.

16 . A method as recited in claim 10 , further comprising

receiving an additional callback from the animation component before outputting the animation; and

modifying the storyboard based upon the additional callback.

17 . A computing device comprising:

a processor;

memory;

an operating system, stored in the memory and executable via the processor, the operating system including an animation component configured to:

schedule an animation according to a storyboard;

generate one or more callbacks to permit modifying of the animation when scheduled; and

perform calculations for the animation according to the storyboard; and

an application, stored in the memory and executable via the processor, the application configured to:

communicate the storyboard defining the animation as one or more transitions applied to one or more variables to the animation component;

receive callbacks from the animation component;

modify the scheduled animation responsive to the received one or more callbacks;

request performance of the calculations for the animation by the animation component; and

output the animation using the calculations received from the animation component responsive to the request.

18 . A computing device as recited in claim 17 , wherein the animation component is implemented as a dynamic link library (DLL) of the operating system.

19 . A computing device as recited in claim 18 , further comprising an animation manager exposable to provide an interface through which the application interacts with the animation component.

20 . A computing device as recited in claim 19 , wherein the animation manager is a Component Object Method (COM) object exposed by the application through the animation component.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2008
From: KWIATKOWSKI, PAUL J; DEBNATH, SANKHYAYAN; TURNEY, JAY E; LOVELL, MARTYN S; CHAFINS, BILLIE SUE
To: MICROSOFT CORPORATION
Reel/Frame 021155/0794 →