1. A computer implemented method, comprising: determining that a mobile device is in a vehicle based upon at least one of mobile device-provided input information provided by the mobile device or vehicle-provided input information provided by the vehicle; automatically switching the mobile device from a handheld mode to a vehicle mode based upon the at least one of the mobile device-provided input information or the vehicle-provided input information; evaluating the at least one of the mobile device-provided input information or the vehicle-provided input information to select a current vehicle state of the vehicle having a corresponding level of driving complexity, the current vehicle state being selected from a plurality of predetermined vehicle states associated with different levels of driving complexity; and, generating a user interface experience for a user who is operating the vehicle based at least in part on the corresponding level of driving complexity of the current vehicle state, wherein the user interface experience imposes attention-related demands on the user and wherein the user interface experience replaces at least some input commands with other input commands that are associated with the corresponding level of driving complexity of the current vehicle state.