1. A computer-implemented method for rendering an animation presentation on a computing device in communication with a server, the method comprising: receiving, at the server, a request from the computing device to view the animation presentation on the computing device; obtaining, at the server based on the request from the computing device, information identifying a browser application running on the computing device, the information including at least one of a name and a version of the browser application; determining, at the server, requirements of a presentation technology supported by the identified browser application; decomposing, by the server, the animation presentation into animation primitives compatible with the presentation technology supported by the browser application, said decomposing including expressing the animation presentation as a combination of said animation primitives compatible with the presentation technology, each of said animation primitives corresponding to an animation type associated with the animation presentation, each said animation primitive having at least one of a start time, an end time, a start value, and an end value, where the start value and the end value relate to a characteristic of the animation primitive, and said combination of said animation primitives including at least two different types of animation primitives; and generating, storing in memory, and transmitting to the computing device a data stream containing the animation primitives.