1. A method for providing an interface for one or more application programs provided on a motion sensing device, the method comprising: receiving a high-level command from an application program running on the motion sensing device, wherein the application program implements one of a plurality of different types of applications available for use on the motion sensing device, the high-level command requesting high-level information derived from the output of at least one motion sensor of the motion sensing device; translating the high-level command to cause low-level processing of multiple axes of motion sensor data output by the motion sensors, the low-level processing following requirements of the type of application and intelligently determining the high-level information from the motion sensor data in response to receiving the high-level command, wherein the at least one motion sensor includes at least one rotational motion sensor or at least one linear motion sensor sensors; and providing the high-level information to the application program.