1. A method comprising: determining when a first user of a plurality of users forming a media recommendation network is unavailable; and because the first user is unavailable simulating to a second user of the plurality of users, via a computing device, recommendations from the first user while the first user is unavailable; wherein the plurality of users is associated with a plurality of recommendation clients, and simulating recommendations from the first user comprises simulating a recommendation client from the plurality of recommendation clients associated with the first user; wherein simulating the recommendation client associated with the first user comprises: selecting a media item from a plurality of media items to provide a selected media item; simulating playback of the selected media item; and sending a recommendation for the selected media item, the recommendation being provided to at least one recommendation client of the plurality of recommendation clients associated with at least one user of the plurality of users that is identified as a friend of the first user; wherein selecting the media item from the plurality of media items comprises: scoring each of the plurality of media items as a function of user preferences of the first user to provide a score for each of the plurality of media items; and selecting the media item from the plurality of media items as a function of the scores of the plurality of media items; wherein simulating the recommendation client further comprises optimizing the user preferences during simulation; and wherein optimizing the user preferences comprises modifying the user preferences as a function of user preferences of at least one user of the plurality of users that directly or indirectly receives recommendations from the recommendation client associated with the first user.