Patent ID: 8190683

Claim:
A computer implemented method for synchronizing playback of content, comprising: receiving a request for a first digital content from a first client device associated with a user; retrieving the first digital content from a content source; retrieving content viewing information for one or more contacts associated with the user, the one or more contacts viewing digital content at one or more additional client devices; determining from the content viewing information if digital content being viewed by the one or more contacts matches the first digital content requested by the user, and if so: providing playback information to the first client device for each contact viewing the first digital content; receiving user synchronization parameters from the first client device with respect to each additional client device corresponding to the one or more contacts viewing the first digital content; receiving a selection from the first client device of one or more contacts with which to synchronize playback of the first digital content; grouping the user and the selected one or more contacts into a viewing group associated with the first digital content; generating synchronization instructions for the first client, generating synchronization instructions for the first client including: identifying a primary member in the viewing group having the furthest playback position with respect to the first digital content; determining a difference between a playback position associated with the user and the playback position associated with the primary member; and responsive to said determining said difference in playback position between the user and the primary member, determining an action based on an amount of time that it takes for the action to synchronize the difference in playback position and a threshold value; providing the requested first digital content and synchronization instructions to the user at the first client, the synchronization instructions specifying one or more user approved actions to be performed during playback of the requested first digital content; and automatically synchronizing playback of the requested first digital content at the first client and at additional clients associated with the selected one or more contacts by executing the synchronous instructions in accord with the user synchronization parameters.