1. A method of providing information comprising: providing an input mobile device having at least two keys, each of said at least two keys corresponding to more than one character; storing objects in a database, each object having a unique address; storing pointers in the database, each pointer identifying at least one of the unique addresses, and each pointer having an identification code that is at least one byte in length; accepting selection of a first key press of one of the at least two keys to produce a first binary number; following said accepting selection of the first key press, accepting selection of a second key press of one of the at least two keys to produce a second binary number; concatenating the first and second binary numbers to create a first input having exactly one byte in length, wherein the first binary number is a first nibble of the first input and the second binary number is a second nibble of the first input; comparing the byte of the first input to a first one of the bytes of the identification codes and based on the comparison, creating a set of identification codes, each identification code in the set having a first byte that matches the byte of the first input; identifying a pointer for each identification code in said set of identification codes, to provide a first group of pointers; and providing objects corresponding to the identified pointers; wherein when it is desired to reduce the number of objects provided: accepting selection of a third key press of one of the at least two keys to produce a third binary number, wherein the third binary number is a third nibble of first input; comparing the third binary number with a first nibble in a second byte of identification codes associated with the first group of pointers and, based on said comparison, identifying from among the first group of pointers those pointers having a first nibble in a second byte that matches the third binary number, to provide a second group of pointers that is a subset of the first group of pointers; and providing objects corresponding to the second group of pointers.