A computer-implemented method, the method comprising: generating, by a first system comprising computer hardware configured with specific executable instructions, an electronic program guide listing channels and channel programs, including at least a first program scheduled to begin at a first time and end at a second time, a second program following the first program, the second program scheduled to begin at a third time and end at a fourth time; identifying, by the first system, a first video item to be included in the first program scheduled to be shown to users at a first time period, wherein the first video item has a scheduled first time length, wherein the electronic program guide comprises a listing of the first program; allocating a first span of time within the first program for the first video item to be provided to users; determining, by the first system, a current length of the first video item, based at least in part on data reported to the first system by a content player executed by a first user terminal playing the first program, the first program streamed by the first system to the first user terminal, wherein the current length of the first video time is extended so that it has a time length longer than the first span of time, when played by the first user terminal as a result of buffering delays; in response to determining by the first system that the first video item, as played by the first user terminal, has a time length longer than the first span of time: causing, by the first system, the second program to begin at a delayed time on the first user terminal, wherein the first user terminal had been playing the first program; wherein when the first program is played on a second user terminal without a buffering delay, causing by the first system, the second program to begin at a non-delayed time on said second user terminal, wherein a first instantiation of the electronic program guide is displayed by the first user terminal and a second instantiation of the electronic program guide is displayed by the second user terminal, the method further comprising causing the instantiation of the electronically program guide displayed on the first user terminal to be dynamically adjusted to reflect the delayed time, without performing a corresponding dynamic adjustment of the instantiation of the electronic program guide displayed on the second user terminal. generating, by a first system comprising computer hardware configured with specific executable instructions, an electronic program guide listing channels and channel programs, including at least a first program scheduled to begin at a first time and end at a second time, a second program following the first program, the second program scheduled to begin at a third time and end at a fourth time; identifying, by the first system, a first video item to be included in the first program scheduled to be shown to users at a first time period, wherein the first video item has a scheduled first time length, wherein the electronic program guide comprises a listing of the first program; allocating a first span of time within the first program for the first video item to be provided to users; determining, by the first system, a current length of the first video item, based at least in part on data reported to the first system by a content player executed by a first user terminal playing the first program, the first program streamed by the first system to the first user terminal, wherein the current length of the first video time is extended so that it has a time length longer than the first span of time, when played by the first user terminal as a result of buffering delays; in response to determining by the first system that the first video item, as played by the first user terminal, has a time length longer than the first span of time: causing, by the first system, the second program to begin at a delayed time on the first user terminal, wherein the first user terminal had been playing the first program; wherein when the first program is played on a second user terminal without a buffering delay, causing by the first system, the second program to begin at a non-delayed time on said second user terminal, wherein a first instantiation of the electronic program guide is displayed by the first user terminal and a second instantiation of the electronic program guide is displayed by the second user terminal, the method further comprising causing the instantiation of the electronically program guide displayed on the first user terminal to be dynamically adjusted to reflect the delayed time, without performing a corresponding dynamic adjustment of the instantiation of the electronic program guide displayed on the second user terminal. causing, by the first system, the second program to begin at a delayed time on the first user terminal, wherein the first user terminal had been playing the first program; wherein when the first program is played on a second user terminal without a buffering delay, causing by the first system, the second program to begin at a non-delayed time on said second user terminal, wherein a first instantiation of the electronic program guide is displayed by the first user terminal and a second instantiation of the electronic program guide is displayed by the second user terminal, the method further comprising causing the instantiation of the electronically program guide displayed on the first user terminal to be dynamically adjusted to reflect the delayed time, without performing a corresponding dynamic adjustment of the instantiation of the electronic program guide displayed on the second user terminal.