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 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 the 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; choosing the final result as the recognition result associated with the higher recognition score; in the event that the spoken query is recognized by only the local recognition within the latency timer period, obtaining a recognition result and associated score 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 and associated score 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; and in the event that the spoken query is recognized by the remote recognition system within the latency timer period, upon determining that the remote recognition result contains vocabulary information not contained within a client vocabulary maintained within the local recognition system, requesting that the remote recognition system update the client vocabulary.