A method for encoding a haptic effect by using a haptic encoding module, the method comprising: retrieving a stored dynamic haptic effect definition from a haptic effect file, the dynamic haptic effect definition comprising a first key frame and a second key frame, wherein the first key frame comprises a first interpolant value and a definition of a corresponding first basis haptic effect, and the second key frame comprises a second interpolant value and a definition of a corresponding second basis haptic effect, wherein the first interpolant value is a numeric value that specifies where an interpolation occurs for the corresponding first haptic effect, and wherein the second interpolant value is a numeric value that specifies where an interpolation occurs for the corresponding second haptic effect; interpreting the dynamic haptic effect definition by selecting the first basis haptic effect and the second basis haptic effect based on a received dynamic value, wherein the dynamic value falls within the first interpolant value and the second interpolant value and generating a dynamic haptic effect based on the received dynamic value; wherein the first and second basis haptic effects and the dynamic haptic effect each include one or more parameters that define the characteristics of the respective haptic effect; and wherein generating the dynamic haptic effect based on the received dynamic value comprises: interpolating the first basis haptic effect and the second basis haptic effect based upon the received dynamic value, the first interpolant value and the second interpolant value using an interpolation function by calculating a value for each of the one or more parameters of the dynamic haptic effect by interpolating a value of the corresponding parameter of the first basis haptic effect with a value of the corresponding parameter of the second basis haptic effect, using an interpolation function, based upon the received dynamic value, the first interpolant value and the second interpolant value; generating a haptic effect signal based on the generated dynamic haptic effect; and applying a drive signal to a haptic output device according to the generated haptic effect signal. retrieving a stored dynamic haptic effect definition from a haptic effect file, the dynamic haptic effect definition comprising a first key frame and a second key frame, wherein the first key frame comprises a first interpolant value and a definition of a corresponding first basis haptic effect, and the second key frame comprises a second interpolant value and a definition of a corresponding second basis haptic effect, wherein the first interpolant value is a numeric value that specifies where an interpolation occurs for the corresponding first haptic effect, and wherein the second interpolant value is a numeric value that specifies where an interpolation occurs for the corresponding second haptic effect; interpreting the dynamic haptic effect definition by selecting the first basis haptic effect and the second basis haptic effect based on a received dynamic value, wherein the dynamic value falls within the first interpolant value and the second interpolant value and generating a dynamic haptic effect based on the received dynamic value; wherein the first and second basis haptic effects and the dynamic haptic effect each include one or more parameters that define the characteristics of the respective haptic effect; and wherein generating the dynamic haptic effect based on the received dynamic value comprises: interpolating the first basis haptic effect and the second basis haptic effect based upon the received dynamic value, the first interpolant value and the second interpolant value using an interpolation function by calculating a value for each of the one or more parameters of the dynamic haptic effect by interpolating a value of the corresponding parameter of the first basis haptic effect with a value of the corresponding parameter of the second basis haptic effect, using an interpolation function, based upon the received dynamic value, the first interpolant value and the second interpolant value; generating a haptic effect signal based on the generated dynamic haptic effect; and interpolating the first basis haptic effect and the second basis haptic effect based upon the received dynamic value, the first interpolant value and the second interpolant value using an interpolation function by calculating a value for each of the one or more parameters of the dynamic haptic effect by interpolating a value of the corresponding parameter of the first basis haptic effect with a value of the corresponding parameter of the second basis haptic effect, using an interpolation function, based upon the received dynamic value, the first interpolant value and the second interpolant value; generating a haptic effect signal based on the generated dynamic haptic effect; applying a drive signal to a haptic output device according to the generated haptic effect signal.