1460940405-a96fd1d7-2c2e-4ee1-a7b0-e96f1f27cc73

1. A method of staggering animations in a user interface, comprising:
applying a timing function to distribute progressive start times of a series of target animations, wherein the timing function includes a set of selectable parameters;
wherein the set of selectable parameters includes a user interface geometry of each of the target animations.
2. The method of claim 1 wherein the timing function is a stateless timing function.
3. The method of claim 2 wherein the user interface is included in a presentation layer of an architecture, and the stateless timing function is exclusively within the presentation layer.
4. The method of claim 3 wherein the stateless timing function is included within a Model-View-ViewModel pattern.
5. The method of claim 1 wherein the progressive start times are distributed nonlinearly.
6. The method of claim 5 wherein the progressive start times are distributed according to a quadratic function.
7. The method of claim 1 wherein the user interface geometry includes a selectable parameter indicating an element of the user interface to be animated.
8. The method of claim 7 wherein a plurality of elements of the user interface are to be animated within the user interface geometry.
9. The method of claim 8 wherein the user interface geometry includes a selectable parameter of a list of bounded areas of the user interface including the plurality of elements of the user interface targeted by animations.
10. The method of claim 9 wherein each of the elements within the bounded areas includes an index.
11. A computer readable storage medium storing computer executable instructions for controlling a computing device to perform a method comprising:
creating a user interface definition for a target animation element in an application framework; and
applying a reusable timing function to stagger animation start times, wherein the timing function includes selectable parameters related to the target animation element;
wherein the timing function directs an animation runtime to apply animation staggering behavior to the target animation element
12. The computer readable storage medium of claim 11 wherein creating a user interface definition for a target animation element includes creating a ser interface definition for a plurality of target animation elements.
13. The computer readable storage medium of claim 11 wherein the reusable timing function nonlinearly staggers animation start times.
14. The computer readable storage medium of claim 11 wherein the reusable timing function is stateless.
15. The computer readable storage medium of claim 14 wherein the reusable timing function is exclusively within a presentation layer of an application.
16. The computer readable storage medium of claim 15 wherein the reusable timing function is included in a View of a pattern in the presentation layer.
17. The computer readable medium of claim 16 wherein the View is included in a Model-View-ViewModel pattern.
18. The computer readable medium of claim 15 wherein the application is a web application.
19. The computer readable medium of claim 11 wherein the selectable parameters are related user interface geometry of the target animation element.
20. A method of staggering animations in a user interface, comprising:
applying a reusable timing function to distribute progressive start times of a series of target animation elements, wherein the timing function includes a set of selectable parameters;
wherein the set of selectable parameters includes an ordered list of bounded surface areas of a set of user interface elements targeted by other animations within the context of the user interface and includes an index of the target user interface elements within the ordered collection of element bounds.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for decoding a data structure, said method comprising:
receiving a first data structure comprising a plurality of frequency coefficients, wherein a portion of the frequency coefficients are non-zero;
recording the frequency coefficients that are non-zero; and
recording positions associated with the recorded frequency coefficients, wherein the positions correspond to locations in a second data structure.
2. The method of claim 1, wherein recording the frequency coefficients further comprises:
decoding the first data structure; and
determining the positions of the frequency coefficients that are non-zero based on the first data structure.
3. The method of claim 1, wherein the first data structure is variable length coded.
4. The method of claim 1, further comprising:
storing the recorded frequency coefficients in the second data structure at the locations corresponding to the positions associated with the recorded frequency coefficients.
5. The method of claim 4, further comprising:
transforming the frequency coefficients into spatial domain components.
6. The method of claim 5, wherein transforming the frequency components into spatial domain components further comprises the inverse discrete cosine transformation.
7. The method of claim 1, further comprising:
inverse quantizing the frequency components of the portion of the frequency components which are non-zero.
8. A decoder for decoding a data structure, said decoder comprising:
a variable length decoder for variable length decoding a first data structure comprising a plurality of frequency coefficients, wherein a portion of the frequency coefficients are non-zero;
a first memory for storing the frequency coefficients that are non-zero; and
a second memory for storing positions associated with the recorded frequency coefficients, wherein the positions correspond to locations in a second data structure.
9. The decoder of claim 8, wherein the variable length decoders determines the positions of the frequency coefficients that are non-zero based on the first data structure.
10. The decoder of claim 8, further comprising:
a third memory for storing the frequency coefficients in the second data structure at the locations corresponding to the positions associated with the recorded frequency coefficients.
11. The decoder of claim 10, further comprising:
a transformation engine for transforming the frequency coefficients to spatial domain.
12. The decoder of claim 11, wherein the transformation engine further comprises an inverse discrete cosine transformation engine.
13. An MPEG video decoder for decoding blocks, said MPEG video decoder comprising:
a variable length decoder that receives the blocks, wherein the blocks comprises a plurality of coefficients, and wherein a portion of the plurality of coefficients are non-zero;
a first memory connected to the variable length decoder, wherein the variable length decoder stores the coefficients that are non-zero; and
a second memory connected to the variable length decoder, wherein the variable length decoder stores positions corresponding to locations in a matrix associated with the non-zero coefficients.
14. The MPEG video decoder of claim 13, further comprising:
an inverse quantizer connected to the first memory, wherein the inverse quantizer inverse quantizes the non-zero coefficients.
15. The MPEG video decoder of claim 14, further comprising:
a third memory storing the matrix;
an inverse zig-zag scanner connected to the second memory and the third memory, wherein the inverse zig-zag scanner stores the inverse quantized non-zero coefficients in locations in the matrix corresponding to the positions associated with the non-zero coefficients.
16. The MPEG video decoder of claim 13, further comprising:
a third memory for storing the non-zero frequency coefficients in the second data structure at the locations corresponding to the positions associated with the non-zero frequency coefficients.
17. The MPEG video decoder of claim 16, further comprising:
a transformation engine connected to the third memory, wherein the transformation engine transforms the non-zero coefficients to spatial domain.
18. The MPEG decoder of claim 17, wherein the transformation engine further comprises an inverse discrete cosine transformation engine.