A method for synchronizing playback of media content, the method comprising: receiving, at a server, a first request to present a media content item from a first user device and a second request to present the media content item from a second user device; transmitting (106,204), from the server to the first user device and to the second user device, media content data corresponding to the media content item for storage on the first user device and the second user device; receiving, at a first time point, a message from the first user device that includes an indication that the first user device has buffered a predetermined amount of the media content data and a request to begin presenting the media content item on the first user device; receiving, at a second time point, a message from the second user device that includes an indication that the second user device has buffered the predetermined amount of the media content data and a request to begin presenting the media content item on the second user device; and in response to determining (120,208) that the first user device and the second user device have each buffered the predetermined amount of the media content data, transmitting (124,210) instructions to the first user device and to the second user device that cause the first user device and the second user device to begin presenting the media content item; characterized in: receiving, from the first user device, an indication that additional media content data is to be buffered by the first user device, the indication that additional media content data is to be buffered by the first user device being a playback pause indication; transmitting the additional media content data to the first user device; and in response to receiving the playback pause indication, either transmitting, from the server, instructions to the first user device to speed up playback of the media content item for a predetermined duration of time or transmitting, from the server, instructions to the second user device to slow down playback of the media content item for a predetermined duration of time. receiving, at a server, a first request to present a media content item from a first user device and a second request to present the media content item from a second user device; transmitting (106,204), from the server to the first user device and to the second user device, media content data corresponding to the media content item for storage on the first user device and the second user device; receiving, at a first time point, a message from the first user device that includes an indication that the first user device has buffered a predetermined amount of the media content data and a request to begin presenting the media content item on the first user device; receiving, at a second time point, a message from the second user device that includes an indication that the second user device has buffered the predetermined amount of the media content data and a request to begin presenting the media content item on the second user device; and in response to determining (120,208) that the first user device and the second user device have each buffered the predetermined amount of the media content data, transmitting (124,210) instructions to the first user device and to the second user device that cause the first user device and the second user device to begin presenting the media content item; receiving, from the first user device, an indication that additional media content data is to be buffered by the first user device, the indication that additional media content data is to be buffered by the first user device being a playback pause indication; transmitting the additional media content data to the first user device; and in response to receiving the playback pause indication, either transmitting, from the server, instructions to the first user device to speed up playback of the media content item for a predetermined duration of time or transmitting, from the server, instructions to the second user device to slow down playback of the media content item for a predetermined duration of time.