A method comprising the steps of: rendering, by a client device, a visual display that includes at least one multi-modal display element for which input data is receivable by the client device through a visual modality and a voice modality, wherein the client device maintains knowledge of a visual view focus, which initially is set to a first multi-modal display element of the at least one multi-modal display element; sending a first voice event request from the client device to an application server to establish a connection between the client device and the application server, wherein the first voice event request is an asynchronous hypertext transfer protocol request that remains pending at the application server until a voice event occurs; after sending the first voice event request, receiving an audio signal at the client device that may represent a user utterance via the voice modality; sending uplink audio data representing the audio signal from the client device to a speech recognizer; receiving, at the application server, a speech recognition result; in response to the application server having received the speech recognition result, sending a voice event response from the application server to the client device in reply to the first voice event request; in response to receiving the voice event response, updating the visual view focus on the client device to a new visual view focus; and sending a second voice event request from the client device to the application server in response to receiving the voice event response, the second voice event request remaining pending at the application server until a second voice event occurs. rendering, by a client device, a visual display that includes at least one multi-modal display element for which input data is receivable by the client device through a visual modality and a voice modality, wherein the client device maintains knowledge of a visual view focus, which initially is set to a first multi-modal display element of the at least one multi-modal display element; sending a first voice event request from the client device to an application server to establish a connection between the client device and the application server, wherein the first voice event request is an asynchronous hypertext transfer protocol request that remains pending at the application server until a voice event occurs; after sending the first voice event request, receiving an audio signal at the client device that may represent a user utterance via the voice modality; sending uplink audio data representing the audio signal from the client device to a speech recognizer; receiving, at the application server, a speech recognition result; in response to the application server having received the speech recognition result, sending a voice event response from the application server to the client device in reply to the first voice event request; in response to receiving the voice event response, updating the visual view focus on the client device to a new visual view focus; and sending a second voice event request from the client device to the application server in response to receiving the voice event response, the second voice event request remaining pending at the application server until a second voice event occurs.