A computer-implemented method, comprising: displaying, on a touchscreen of a mobile electronic device, a touchscreen keyboard (108, 306) in a lower portion of the touchscreen, the touchscreen keyboard including a microphone key; receiving a request for an application-independent input method editor that has written and spoken input capabilities based on a selection of the microphone key on the touchscreen keyboard (108, 306); identifying a user's intention to provide spoken input based on the request; in response to the request: displaying, in the lower portion of the touchscreen, in place of the touchscreen keyboard, a graphical element prompting the user to speak, so that the touchscreen keyboard is not displayed on the touchscreen; receiving, from the user using a microphone, a speech utterance as input to the mobile electronic device; providing the speech utterance to a remote server that includes a speech recognition system configured to recognize text based on the speech utterance; displaying, in the lower portion of the touchscreen, in place of the graphical element prompting the user to speak, a graphical element indicating that conversion of the speech utterance to at least one text candidate is in progress; receiving the at least one text candidate from the remote server, each text candidate of the at least one text candidate corresponding to the speech utterance; displaying the at least one text candidate on the touchscreen; when displaying the at least one text candidate, displaying, in the lower portion of the touchscreen, the keyboard in place of the graphical element indicating that conversion of the speech utterance to at least one text candidate is in progress; and providing a text candidate of the at least one text candidate to an application executing on the mobile electronic device as input. displaying, on a touchscreen of a mobile electronic device, a touchscreen keyboard (108, 306) in a lower portion of the touchscreen, the touchscreen keyboard including a microphone key; receiving a request for an application-independent input method editor that has written and spoken input capabilities based on a selection of the microphone key on the touchscreen keyboard (108, 306); identifying a user's intention to provide spoken input based on the request; in response to the request: displaying, in the lower portion of the touchscreen, in place of the touchscreen keyboard, a graphical element prompting the user to speak, so that the touchscreen keyboard is not displayed on the touchscreen; receiving, from the user using a microphone, a speech utterance as input to the mobile electronic device; providing the speech utterance to a remote server that includes a speech recognition system configured to recognize text based on the speech utterance; displaying, in the lower portion of the touchscreen, in place of the graphical element prompting the user to speak, a graphical element indicating that conversion of the speech utterance to at least one text candidate is in progress; receiving the at least one text candidate from the remote server, each text candidate of the at least one text candidate corresponding to the speech utterance; displaying the at least one text candidate on the touchscreen; when displaying the at least one text candidate, displaying, in the lower portion of the touchscreen, the keyboard in place of the graphical element indicating that conversion of the speech utterance to at least one text candidate is in progress; and providing a text candidate of the at least one text candidate to an application executing on the mobile electronic device as input.