A short description of the SMIL animation
The SMIL Animation was written by the SYMM Working Group, a member of W3C Interaction Domain, in cooperation with the SVG Working Group, a member of W3C Document Formats domain.
The more mathematical but precise definition of animation says that it is a time-based manipulation of a target element (or the manipulation of any attribute of the target element). It’s simply a mapping in time of the different states of the object. This type of mapping is valid for any aspect of timing, as well as animation-specific semantics.
The simplest way to describe an animation can be made by splitting it in three parts: the beginning of the animation, the animation function and the duration of the animation. The beginning of the animation is simply its initial state. The animation function is simply a definition of the way the initial object will be distorted. And the duration of the animation means the time that the animation function will influence the initial state object.
During the time of implementation, the animation function is evaluated as required, being continuous in time and therefore usable at any frame rate required for the rendering system. On the other hand, the syntax of this function is independent of the previous model, and can be implemented in many possible ways, either purely algorithmic, or partially algorithmic. Anyway, the animation is represented as a function of time. The total range of manipulation the animation can do with the object is virtually infinite. They can either override the values of an attribute, or add to the base value an attribute. The animations that add to the underlying value are called “addictive animations” and the animations that override the underlying value are called “non-additive animations”
Usually the SMIL animation is used together with vector graphics (typically SVG) and XHTML mark-up language, together with CSS. Using SMIL with pixel graphics would mean a lot of computations made by the PC, and therefore a loss in productivity.
