Patent ID: 8812972

Claim:
A device comprising: a touchscreen; a processor; and a memory that stores computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising displaying, on the touchscreen, a dynamic keyboard having a plurality of numerical keys substantially the same size, detecting input corresponding to entry of a key on the dynamic keyboard, wherein the input detected comprises entry of a first numerical key corresponding to a first digit in a telephone number, assigning, based upon the key a plurality of prediction values to the plurality of numerical keys in response to detecting the input, wherein each of the plurality of prediction values is based upon a statistical pattern from a contact list, wherein the contact list comprises an entry comprising the telephone number, and wherein the plurality of prediction values comprise probabilities that a corresponding numerical key of the plurality of numerical keys will be a numerical key selected next, and wherein the corresponding numerical key corresponds to a next digit in the telephone number, and visually enhancing the dynamic keyboard based upon the plurality of prediction values, wherein visually enhancing the dynamic keyboard comprises altering an appearance of the dynamic keyboard based upon the plurality of prediction values and displaying a visually enhanced dynamic keyboard, wherein altering the appearance of the dynamic keyboard comprises shrinking a second numerical key of the plurality of numerical keys based upon a first corresponding prediction value, enlarging a third numerical key of the plurality of numerical keys based upon a second corresponding prediction value, changing a color of fourth numerical key of the plurality of numerical keys based upon a third corresponding prediction value, and changing a distance between the first numerical key and a fifth numerical key of the plurality of numerical keys based upon an inverse of a fourth corresponding prediction value.