1. A method comprising: receiving, from a user device, a content selection from a plurality of content sources, wherein the plurality of content sources comprises a live channel source, a video on demand source, a web source, a stored source, or an uploaded source available for selection for a timeslot, thereby selecting a content source for a single virtual channel; composing virtual programming data for the single virtual channel from the content selection using a user interface presenting the plurality of content sources; providing content of the content selection over the single virtual channel in accordance with the virtual programming data; receiving a requested portion of the content selection thereby receiving a requested received portion; encrypting the received requested portion of the content to generate an encrypted content portion that includes a viewing restriction until a designated time; and decrypting the encrypted content portion in accordance with the designated time to generate a decrypted content portion, wherein the providing of the content further comprises: determining whether a portion of the content is available for download from a selected content source of the plurality of content sources prior to viewing; based on the determination, requesting the portion of the content; receiving the requested portion of the content from the selected content source, the requested portion being the encrypted content portion including the viewing restriction until the designated time, wherein the content is provided over the single virtual channel for a specific single display device or for a specific recipient other than the user at a plurality of display devices.