A method, comprising: transmitting, by a first computing device at a user location, a video signal of a current program to a display device; and transmitting, at a regular interval, by the first computing device, a synchronization signal as a heart beat message to at least one user device at the user location but remote from the first computing device, the synchronization signal comprising an identifier of the current program being presented on the display device and a time value indicating a current point in time of the current program, wherein the first computing device waits a predetermined amount of time between synchronization signals according to the regular interval. wherein the synchronization signal causes the at least one user device to: access content synchronization data identifying one or more supplemental experiences in relation to one or more portions of the current program; and determine, based on the content synchronization data, that at least one supplemental experience being provided by corresponds to the identifier of the current program and the time value, wherein the at least one user device accesses the content synchronization data via an internet protocol connection, and wherein the at least one user device, prior to providing the at least one supplemental experience, downloads, via the internet protocol connection, data associated with the at least one supplemental experience. transmitting, by a first computing device at a user location, a video signal of a current program to a display device; and transmitting, at a regular interval, by the first computing device, a synchronization signal as a heart beat message to at least one user device at the user location but remote from the first computing device, the synchronization signal comprising an identifier of the current program being presented on the display device and a time value indicating a current point in time of the current program, wherein the first computing device waits a predetermined amount of time between synchronization signals according to the regular interval. wherein the synchronization signal causes the at least one user device to: access content synchronization data identifying one or more supplemental experiences in relation to one or more portions of the current program; and determine, based on the content synchronization data, that at least one supplemental experience being provided by corresponds to the identifier of the current program and the time value, wherein the at least one user device accesses the content synchronization data via an internet protocol connection, and wherein the at least one user device, prior to providing the at least one supplemental experience, downloads, via the internet protocol connection, data associated with the at least one supplemental experience. access content synchronization data identifying one or more supplemental experiences in relation to one or more portions of the current program; and determine, based on the content synchronization data, that at least one supplemental experience being provided by corresponds to the identifier of the current program and the time value, wherein the at least one user device accesses the content synchronization data via an internet protocol connection, and wherein the at least one user device, prior to providing the at least one supplemental experience, downloads, via the internet protocol connection, data associated with the at least one supplemental experience.