1. A method for selecting a function to be executed on a mobile device, the method comprising: receiving, by the mobile device based on end-user input, a first indication of a first function to program the mobile device to perform the first function when it is determined by the mobile device that the mobile device is held proximate to a left ear of a user; receiving, by the mobile device based on end-user input, a second indication of a second function to program the mobile device to perform the second function when it is determined by the mobile device that the mobile device is held proximate to a right ear of the user; receiving, by the mobile device based on end-user input, a third indication of a third function to program the mobile device to perform the third function when it is determined by the mobile device that the mobile device is held in front of a mouth of the user; collecting, by the mobile device, proximity data that indicates the mobile device is proximate to the user, wherein the mobile device is configured to collect proximity data from at least two proximity sensors including a first proximity sensor proximate to a speaker of the mobile device and second proximity sensor proximate to a microphone of the mobile device; collecting, by the mobile device, acceleration data; determining, by the mobile device, whether the mobile device is proximate to the left ear of the user, the right ear of the user, or being held in front of the mouth of the user using the acceleration data and the proximity data; and in response to determining whether the mobile device is proximate to the left ear, the right ear or being held in front of the mouth using the acceleration data and the proximity data, selecting, by the mobile device the function to be executed, wherein the function is selected from the first function, the second function, and the third function.