A media control system enables a device-agnostic and source-agnostic entertainment experience through use of an internet-enabled user device. The user device includes a client application for navigating through media or entertainment content, controlling media devices according to a type of media content selected by the user, and sharing media experiences via social networks. The user device includes smartphones, tablet computers, and other internet-enabled processor-based devices. The media control system leverages the internet access of the user device to enable search and discovery of all available media content. A recommendation engine coupled to the client application learns media preferences from user behavior, generates from numerous disparate media sources recommended media choices corresponding to the media preferences, and presents the recommended media choices on the user device.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method of recommending content items to a target user, the method comprising: receiving information about interactions of the target user with a set of content items through a device; resolving the set of content items with which the target user interacted with into associated attributes; updating a table associated with the target user with the associated attributes, the updating comprising increasing, for each attribute, a count based on occurrences of the attribute in the set of content items; determining, for the target user, a preference weight for each attribute in the table based on the count of the attribute and time passed since each increase in the count of the attribute; and determining, for the target user, a recommended content item from a set of available content items based on the preference weight of the target user for each attribute associated with the recommended content item. 2. The method of claim 1, further comprising: resolving each available content item in the set of available content items for consumption of the target user into associated attributes; determining, for the target user, a score for each available content item in the set of available content items based on the preference weight of the target user for each of the attributes associated with the available content item; determining a set of recommended content items from the set of available content items for the target user based on a ranking of the scores; and providing the set of recommended content items to the device, the set of recommended content items including the recommended content item determined for the target user. 3. The method of claim 1, further comprising: receiving indication of a user selection of the recommended content item by the target user on the device; and providing instructions to the device for facilitating the presentation of the recommend content item with an entertainment system of the target user. 4. The method of claim 1, wherein the device comprises a portable computing device. 5. The method of claim 2, further comprising adjusting a score of a given available content item in the set of available content items based on a magnitude of average explicit feedback ratings provided by the target user for one or more of the content items in the set of content items with which the target user interacted. 6. The method of claim 2, further comprising adjusting a score of a given available content item in the set of available content items based on ratings by other users for the given available content item. 7. The method of claim 2, further comprising adjusting a score of a given available content item in the set of available content items based on a ratio of user viewership of one or more of the attributes associated with the given available content item to one or more attributes associated with the other available content items. 8. The method of claim 2, further comprising adjusting a score of a given available content item in the set of available content items based on a temporal availability of the given available content item. 9. The method of claim 8, wherein a temporal availability of the given available content item identifies a time delay for the target user to consumer the given available content item. 10. The method of claim 1, further comprising adjusting a score of a given available content item in the set of available content items based on a temporal preference of one or more of the attributes associated with the given available content item. 11. The method of claim 10, wherein a temporal preference of an attribute identifies a historical time period associated with increase of counts for the attribute. 12. A non-transitory computer-readable medium storing program code comprising instructions, the instructions when executed by a processor cause the processor to: receive information about interactions of the target user with a set of content items through a device; resolve the set of content items with which the target user interacted with into associated attributes; update a table associated with the target user with the associated attributes, the updating comprising increasing, for each attribute, a count based on occurrences of the attribute in the set of content items; determine, for the target user, a preference weight for each attribute in the table based on the count of the attribute and time passed since each increase in the count of the attribute; and determine, for the target user, a recommended content item from a set of available content items based on the preference weight of the target user for each attribute associated with the recommended content item. 13. The non-transitory computer-readable medium of claim 12, wherein the stored program code further comprises instructions that when executed cause the processor to: resolve each available content item in the set of available content items for consumption of the target user into associated attributes; determine, for the target user, a score for each available content item in the set of available content items based on the preference weight of the target user for each of the attributes associated with the available content item; determine a set of recommended content items from the set of available content items for the target user based on a ranking of the scores; and provide the set of recommended content items to the device, the set of recommended content items including the recommended content item determined for the target user. 14. The non-transitory computer-readable medium of claim 12, wherein the stored program code further comprises instructions that when executed cause the processor to: receive indication of a user selection of the recommended content item by the target user on the device; and provide instructions to the device for facilitating the presentation of the recommend content item with an entertainment system of the target user. 15. The non-transitory computer-readable medium of claim 12, wherein the device comprises a portable computing device. 16. The non-transitory computer-readable medium of claim 13, wherein the stored program code further comprises instructions that when executed cause the processor to: adjust a score of a given available content item in the set of available content items based on a magnitude of average explicit feedback ratings provided by the target user for one or more of the content items in the set of content items with which the target user interacted. 17. The non-transitory computer-readable medium of claim 13, wherein the stored program code further comprises instructions that when executed cause the processor to: adjust a score of a given available content item in the set of available content items based on ratings by other users for the given available content item. 18. The non-transitory computer-readable medium of claim 13, wherein the stored program code further comprises instructions that when executed cause the processor to: adjust a score of a given available content item in the set of available content items based on a ratio of user viewership of one or more of the attributes associated with the given available content item to one or more attributes associated with the other available content items. 19. The non-transitory computer-readable medium of claim 13, wherein the stored program code further comprises instructions that when executed cause the processor to: adjust a score of a given available content item in the set of available content items based on a temporal availability of the given available content item. 20. The non-transitory computer-readable medium of claim 19, wherein a temporal availability of the given available content item identifies a time delay for the target user to consumer the given available content item. 21. The non-transitory computer-readable medium of claim 13, wherein the stored program code further comprises instructions that when executed cause the processor to: adjust a score of a given available content item in the set of available content items based on a temporal preference of one or more of the attributes associated with the given available content item. 22. The method of claim 21, wherein a temporal preference of an attribute identifies a historical time period associated with increase of counts for the attribute.