1. A method comprising: receiving, from a control device, over a network, a request for a list of media programs associated with a user; retrieving, responsive to the request, log records identifying a channel number and a corresponding time of day for a plurality of media programs that have been presented via one or more devices associated with the user; identifying, using a program guide, one or more media programs of the plurality of media programs; determining a number of instances in which the one or more media programs have been presented via the one or more devices for a period of time exceeding a particular threshold amount of time; generating, based on the number of instances, a ranked list of the one or more media programs; identifying, from the ranked list, at least a highest ranked media program based on the ranked list, of the one or more media programs, corresponding to a current time slot or an upcoming time slot; and sending, over the network, to the control device, information associated with the at least highest ranked media program, wherein the control device is configured to output the at least highest ranked media program to a preview window, including a picture-in-picture in a main viewing area of a display, of the one or more devices, when content other than the at least one media program is being presented via the main viewing area during the current time slot.