An electronic program guide (EPG) organizes and presents programming
information to the viewer and allows for creation of queries to
facilitate both simple and complex searches of the programming
information. According to one aspect, the EPG is configured to
automatically identify programs that a viewer is likely to prefer. The
EPG collects viewing preferences of a viewer and, based upon the these
viewing preferences, automatically develops queries for identifying
programs that the viewer is likely to want to watch. The EPG further
enables multiple viewers to merge their individual queries into one
composite query or to run queries in background to periodically check for
programs and notify the viewer when a program is identified. Queries are
saved in an EPG database in a hierarchic structure with directories and
sub-directories to make it easy for a viewer to organize and retrieve
queries. Another aspect concerns creating queries for a channel, network
name or program name using a 10-key keypad. The viewer enters digits in
the number or name, one digit at a time. With each entry, the viewer
might intend to enter a number or letter. The EPG is configured to
interpret the data as representing all possible choices, including the
number and letters associated with the key. For instance, when a viewer
depresses the key with number "5," the EPG interprets that data to mean
"5" or "j" or "k" or "1." The EPG identifies all programs, channels, and
networks which begin with the number or letters. As the viewer continues
to enter data, the list of programs, channel, and networks dynamically
narrows so that after a few button presses, the viewer is presented with
a short list of possible choices.