6. A non-transitory computer readable program encoded in a non-transitory computer readable medium comprising: an executable computer program code configured to instruct a system to render an animation presentation on a computing device in communication with a server, the executable computer program code comprising the steps of: 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 and transmitting to the computing device a data stream containing the animation primitives.
6. A non-transitory computer readable program encoded in a non-transitory computer readable medium comprising: an executable computer program code configured to instruct a system to render an animation presentation on a computing device in communication with a server, the executable computer program code comprising the steps of: 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 and transmitting to the computing device a data stream containing the animation primitives. 8. The non-transitory computer readable program of claim 6 , further including instructions configured to alter the animation by including one or more additional animation primitives in the data stream.