1. A method comprising: displaying an electronic programming guide (EPG) user interface that includes: an EPG with one or more program descriptions that identify and describe multimedia programs available for viewing; and a selectable preference button; receiving an indication that the preference button has been selected via the EPG user interface; in response to receiving the indication that the preference button has been selected: identifying a currently indicated program within the EPG; displaying multiple program attribute values of the program in a preference entry user interface to enable entry of a preference rating that corresponds to a program attribute value of the program, the preference rating indicating a degree of like or dislike for the program attribute value, wherein entering a preference rating comprises selecting the program attribute value to indicate that the program attribute value is a preferred program attribute value; entering a corresponding preference rating for each of a subset of the multiple program attribute values of the program to create preferred program attribute values of the program; and storing the preferred program attribute values and corresponding preference ratings in a user preference file (UPF); and associating a numerical significance value with each stored preferred program attribute value, each numerical significance value denoting a relative importance of each stored preferred program attribute value with regard to each other stored preferred program attribute value; identifying each stored preferred program attribute value that matches an attribute value of an upcoming program, wherein each matching preferred program attribute value and each corresponding preference rating of each matching preferred program attribute value are associated with the upcoming program and stored in a matches file, wherein when the user invokes a preference entry user interface associated with the upcoming program, the preference ratings of the matching preferred program attribute values are populated in the preference entry user interface from the matches file; calculating a score for each matching preferred program attribute value stored in the matches file, the calculation of the score comprising the use of the numerical significance value and the associated preference rating of the matching preferred program attribute value; deriving a program score for the upcoming program based on the score for each matching preferred program attribute value; and determining to recommend the upcoming program based on the program score.
1. A method comprising: displaying an electronic programming guide (EPG) user interface that includes: an EPG with one or more program descriptions that identify and describe multimedia programs available for viewing; and a selectable preference button; receiving an indication that the preference button has been selected via the EPG user interface; in response to receiving the indication that the preference button has been selected: identifying a currently indicated program within the EPG; displaying multiple program attribute values of the program in a preference entry user interface to enable entry of a preference rating that corresponds to a program attribute value of the program, the preference rating indicating a degree of like or dislike for the program attribute value, wherein entering a preference rating comprises selecting the program attribute value to indicate that the program attribute value is a preferred program attribute value; entering a corresponding preference rating for each of a subset of the multiple program attribute values of the program to create preferred program attribute values of the program; and storing the preferred program attribute values and corresponding preference ratings in a user preference file (UPF); and associating a numerical significance value with each stored preferred program attribute value, each numerical significance value denoting a relative importance of each stored preferred program attribute value with regard to each other stored preferred program attribute value; identifying each stored preferred program attribute value that matches an attribute value of an upcoming program, wherein each matching preferred program attribute value and each corresponding preference rating of each matching preferred program attribute value are associated with the upcoming program and stored in a matches file, wherein when the user invokes a preference entry user interface associated with the upcoming program, the preference ratings of the matching preferred program attribute values are populated in the preference entry user interface from the matches file; calculating a score for each matching preferred program attribute value stored in the matches file, the calculation of the score comprising the use of the numerical significance value and the associated preference rating of the matching preferred program attribute value; deriving a program score for the upcoming program based on the score for each matching preferred program attribute value; and determining to recommend the upcoming program based on the program score. 13. The method as recited in claim 1 , wherein each of the one or more program descriptions comprises a title of a program.