A method of operating a user device to efficiently download media assets, the method comprising operating the user device to: receive a user selection of a media asset; determine future unavailability of a network; receive, from a server, based on receiving the user selection, a first version identifier associated with the media asset and a second version identifier associated with the media asset, wherein the first version identifier is associated with a first version of the media asset stored on the server and the second version identifier is associated with a second version of the media asset stored on the server, and a quality of the second version is higher than a quality of the first version; split, in response to receiving the first version identifier and the second version identifier, the media asset into a first segment and a second segment, wherein a first size of the first segment and a second size of the second segment are determined based on a time taken to download the first segment of the first version and the second segment of the second version being less than a time remaining until the future unavailability of the network; cause the first and second segments of the media asset to be available for viewing while the network is unavailable, by: subsequent to the splitting of the media asset, transmit, to the server, a request for: a first portion of the first version of the media asset, associated with the first version identifier, comprising the first segment of the media asset; and a second portion of the second version of the media asset, associated with the second version identifier, comprising the second segment of the media asset; and completely downloading the media asset before the future unavailability of the network by receiving, from the server, prior to the determined future unavailability of the network, the first portion of the first version of the media asset and the second portion of the second version of the media asset, and storing the first fraction and the second fraction. receive a user selection of a media asset; determine future unavailability of a network; receive, from a server, based on receiving the user selection, a first version identifier associated with the media asset and a second version identifier associated with the media asset, wherein the first version identifier is associated with a first version of the media asset stored on the server and the second version identifier is associated with a second version of the media asset stored on the server, and a quality of the second version is higher than a quality of the first version; split, in response to receiving the first version identifier and the second version identifier, the media asset into a first segment and a second segment, wherein a first size of the first segment and a second size of the second segment are determined based on a time taken to download the first segment of the first version and the second segment of the second version being less than a time remaining until the future unavailability of the network; cause the first and second segments of the media asset to be available for viewing while the network is unavailable, by: subsequent to the splitting of the media asset, transmit, to the server, a request for: a first portion of the first version of the media asset, associated with the first version identifier, comprising the first segment of the media asset; and a second portion of the second version of the media asset, associated with the second version identifier, comprising the second segment of the media asset; and completely downloading the media asset before the future unavailability of the network by receiving, from the server, prior to the determined future unavailability of the network, the first portion of the first version of the media asset and the second portion of the second version of the media asset, and storing the first fraction and the second fraction. subsequent to the splitting of the media asset, transmit, to the server, a request for: a first portion of the first version of the media asset, associated with the first version identifier, comprising the first segment of the media asset; and a second portion of the second version of the media asset, associated with the second version identifier, comprising the second segment of the media asset; and a first portion of the first version of the media asset, associated with the first version identifier, comprising the first segment of the media asset; and a second portion of the second version of the media asset, associated with the second version identifier, comprising the second segment of the media asset; and completely downloading the media asset before the future unavailability of the network by receiving, from the server, prior to the determined future unavailability of the network, the first portion of the first version of the media asset and the second portion of the second version of the media asset, and storing the first fraction and the second fraction.