1. A method for processing voice commands, performed at a electronic device capable of communicating with remote computing equipment over a communications path, the method comprising: in response to user input, recording at least a portion of a voice command on the electronic device; storing contextual information of the electronic device when the electronic device is recording the at least a portion of the voice command; and after recording the at least a portion of the voice command and storing the contextual information of the electronic device, uploading the at least a portion of the recorded voice command and the stored contextual information from the electronic device to the remote computing equipment over the communications path.