1. A method for performing dual mode speech recognition, comprising: receiving a spoken query from a user; processing the spoken query, including: sending the spoken query to a local recognition system on a mobile device; transmitting the spoken query to a remote recognition system via a communications link; and setting a latency timer period to a preset timeout value; in the event that the spoken query is not recognized by either the local recognition system or the remote recognition system within the latency timer period, choosing recognition failure as a final result; in the event that the spoken query is recognized by both the local recognition system and the remote recognition system within the latency timer period, obtaining a recognition result and associated recognition score from both the local recognition system and the remote recognition system and choosing the recognition result associated with the higher recognition score as the final result; in the event that the spoken query is recognized by only the local recognition within the latency timer period, obtaining a recognition result from the local recognition system, and choosing the local recognition result as the final result; in the event that the spoken query is recognized by only the remote recognition system within the latency timer period, obtaining a recognition result from the remote recognition system, and choosing the remote recognition result as the final result; taking action on behalf of the user based on the final result.