A method performed by one or more data processing apparatus, the method comprising: receiving request data specifying a request to launch a virtual assistant application from a lock screen of a mobile device; in response to receiving the request data, obtaining a plurality of input signals, each of the input signals being of an input type different from each other input type of each other input signal, and each input signal being an input for the virtual assistant, the input types for the input signals including an image type and an audio type, wherein the input signal of the image type is pixel data for an image captured by a camera of the mobile device, and the input signal of the audio type is audio data for audio input captured by a microphone of the mobile device; selecting, based on the plurality of input signals and from multiple candidate input modes, an input mode for the virtual assistant application, wherein each candidate input mode is of an input type different from each other input type of each other candidate input mode, and the input types include an image type and an audio type, wherein the input mode of the image type receives pixel data for input to the virtual assistant application, and the input mode of the audio type receives audio input for the virtual assistant application; and presenting, by the virtual assistant application, content to a user of the mobile device, the presented content being selected based on the input signal received using the selected input mode, wherein the selecting, based on the plurality of input signals and from multiple candidate input modes, an input mode for the virtual assistant application comprises: determining, based on the pixel data, whether the image includes one or more recognized objects; determining, based on the audio data, whether the audio includes one or more recognized spoken words; and wherein selecting an input mode for the virtual assistant application further comprises: determining the location of the mobile device with respect to the user and/or orientation of the mobile device; and/or determining a direction in which the camera of the mobile device is pointing; and/or determining signals related to lighting, noise and/or other environment signals; and selecting, based on the respective determinations, at least one of the input modes. receiving request data specifying a request to launch a virtual assistant application from a lock screen of a mobile device; in response to receiving the request data, obtaining a plurality of input signals, each of the input signals being of an input type different from each other input type of each other input signal, and each input signal being an input for the virtual assistant, the input types for the input signals including an image type and an audio type, wherein the input signal of the image type is pixel data for an image captured by a camera of the mobile device, and the input signal of the audio type is audio data for audio input captured by a microphone of the mobile device; selecting, based on the plurality of input signals and from multiple candidate input modes, an input mode for the virtual assistant application, wherein each candidate input mode is of an input type different from each other input type of each other candidate input mode, and the input types include an image type and an audio type, wherein the input mode of the image type receives pixel data for input to the virtual assistant application, and the input mode of the audio type receives audio input for the virtual assistant application; and presenting, by the virtual assistant application, content to a user of the mobile device, the presented content being selected based on the input signal received using the selected input mode, wherein the selecting, based on the plurality of input signals and from multiple candidate input modes, an input mode for the virtual assistant application comprises: determining, based on the pixel data, whether the image includes one or more recognized objects; determining, based on the audio data, whether the audio includes one or more recognized spoken words; and determining, based on the pixel data, whether the image includes one or more recognized objects; determining, based on the audio data, whether the audio includes one or more recognized spoken words; and wherein selecting an input mode for the virtual assistant application further comprises: determining the location of the mobile device with respect to the user and/or orientation of the mobile device; and/or determining a direction in which the camera of the mobile device is pointing; and/or determining signals related to lighting, noise and/or other environment signals; and determining the location of the mobile device with respect to the user and/or orientation of the mobile device; and/or determining a direction in which the camera of the mobile device is pointing; and/or determining signals related to lighting, noise and/or other environment signals; and selecting, based on the respective determinations, at least one of the input modes.