18. An apparatus comprising a storage medium having instructions stored thereon, wherein the instructions, when executed on a data processing apparatus, cause the data processing apparatus to: receive an input character sequence of a keyword at an input field of a client application running on a local computing device; determine a previous entry from a plurality of previous entries stored in a memory associated with the client application and running on the local computing device, the previous entry including the keyword and at least one previous keyword in an ordered sequence in which the previous keyword precedes the keyword, including accessing the memory using the keyword, wherein the memory stores the keyword in association with entry identifiers of a previous entries memory storing previous entries of the input field or related input fields, wherein the entry identifiers are associated with a subset of the plurality of previous entries containing the keyword, regardless of an order of the keyword within the subset, and determining an intersection of the entry identifiers with the subset of the plurality of previous entries of the previous entries memory, wherein the subset includes the previous entry; present, after the receipt of the input character sequence but before complete reception of the keyword, a completion list that includes at least the previous entry, using the client application; receive a selection of the previous entry for entry thereof into the input field and transmission thereof to a remote server application running on a remote server device; and transmit the previous entry to the remote server application based on the selection.
19. The apparatus of claim 18 wherein the previous entry was entered at the input field or at a different input field.