1. A method of selecting and presenting a subset of content items to a user based on content item selections by other users having similar preferences as determined at least in part based on analyzing the weights of relative preferences of each user, the method comprising: providing a set of content items, each content item having at least one associated descriptive term to describe the content item; receiving a plurality of incremental inputs, each incremental input being entered by a corresponding one of a plurality of users of an input device; in response to each incremental input, presenting a corresponding subset of content items; receiving selection actions of content items from the user who entered the incremental input for which the subset of content items was presented; for each user of the plurality of users, learning the preferences of each user by associating a weight with each descriptive term associated with the selection actions of the user, said weight being indicative of the amount of use by the user of the selected content items associated with each of the descriptive terms, so that the user preferences are specified as a set of descriptive terms and associated weights; identifying users with similar preferences by comparing sets of learned user preferences to determine if the sets of preferences of the users match within a specified threshold; and presenting content items to at least one user of the plurality of users by identifying for presentation content items selected by users identified as having learned user preferences that are similar to the learned user preferences of said at least one user.