Systems and methods of the disclosed subject matter provide predicting, by an electronic device, a future event at which media is to be played, predicting, by the electronic device according to data stored in a storage device, whether a communications network connection will be available at one or more locations of the predicted future event, generating, by the electronic device, a playlist of a plurality of media according to the predicted future event; and when it is predicted that the communications network connection will be unavailable or intermittent at the one or more locations, downloading, by the electronic device from a server while the communications network connection is available, at least one of the plurality of media from the generated playlist and storing the downloaded media on the storage device of the electronic device.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: predicting, by an electronic device, a future event at which media is to be played; predicting, by the electronic device according to data stored in a storage device, whether a communications network connection will be available at one or more locations of the predicted future event; generating, by the electronic device, a playlist of a plurality of media according to the predicted future event; and when it is predicted that the communications network connection will be unavailable or intermittent at the one or more locations, downloading, by the electronic device from a server while the communications network connection is available, at least one of the plurality of media from the generated playlist and storing the downloaded at least one of the plurality of media on the storage device of the electronic device. 2. The method of claim 1, wherein the generating the playlist comprises: generating, by the electronic device, the playlist according to at least one of a type of the electronic device, the predicted future event, and the one or more locations of the future event. 3. The method of claim 1, further comprising: predicting, by an electronic device, a different future event at which media is to be played; assigning, by the electronic device, one or more media of the generated playlist to a second playlist for the different future event. 4. The method of claim 1, wherein the generating the playlist further comprises: predicting, by the electronic device, a duration of the future event. 5. The method of claim 1, wherein the generating the music for the playlist comprises: predicting, by the electronic device, a context for playing the media; and selecting, by the electronic device, the music of the playlist according to the predicted context. 6. The method of claim 5, wherein the predicting is according to at least one selected from the group consisting of: at least one of a location, a user's media genre preference, the user's schedule, an activity, and the predicted future event. 7. The method of claim 1, wherein the playlist is generated by selecting media according to at least one from the group consisting of: one or more media that a user has played to at a given location; one or more media that the user has played to before; a calendar holiday; a weather prediction; data indicating a concert that the user is attending soon; direction data from a maps application of the electronic device; how fast the user is driving; the user's heart rate data that is communicated to the electronic device from a heart rate monitoring device; whether headphones are connected to the electronic device; whether a speaker is connected to the electronic device; and an identification of the user. 8. The method of claim 1, wherein the predicted future event at which media is to be played is predicting according to at least one selected from the group consisting of: travel time according to data stored in the storage device; one or more locations where a user spends time; playback behavior data on at least one previous day that is stored in the storage device; according to alarm data stored in the storage device; and event data for a calendar application stored in the storage device. 9. The method of claim 1, wherein the downloading further comprises: predicting, by the electronic device according to data stored in the storage device, the duration that the communications network connection is unavailable or intermittent at the one or more locations; and downloading the at least one of the plurality of media from the generated playlist according to the predicted duration. 10. The method of claim 1, further comprising: playing the downloaded at least one of the plurality of media from the generated playlist from the storage device; and streaming, from the server communicatively coupled to the electronic device via the communications network, the remaining media of the plurality of media from the generated playlist for playback that were not stored on the storage device. 11. The method of claim 1, wherein the storing the downloaded at least one of the plurality of media on the storage device of the electronic device comprises: caching the at least one of the plurality of media on the storage device when the electronic device is plugged in to receive power or is in an idle state. 12. A system comprising: a storage device to store data; and an electronic device, communicatively coupled to the storage device, to predict a future event at which media is to be played, to predict whether a communications network connection will be available at one or more locations of the predicted future event according to the data stored in a storage device, to generate a playlist of a plurality of media according to the predicted future event, and when it is predicted that the communications network connection will be unavailable or intermittent at the one or more locations, to download at least one of the plurality of media from the generated playlist from a server while a communications network connection is available and to store the downloaded at least one of the plurality of media on the storage device of the electronic device. 13. The system of claim 12, wherein the electronic device generates the playlist according to at least one of a type of the electronic device, the predicted future event, and the one or more locations of the predicted future event. 14. The system of claim 12, wherein the electronic device predicts a different future event at which media is to be played, and assigns one or more media of the generated playlist to a second playlist for the different future event. 15. The system of claim 12, wherein the electronic device predicts a duration of the predicted future event so as to generate the playlist. 16. The system of claim 12, wherein the electronic device predicts a context for playing the media and selects the media of the playlist according to the predicted context. 17. The system of claim 16, wherein the prediction by the electronic device is according to at least one selected from the group consisting of: at least one of a location, a user's media genre preference, the user's schedule, an activity, and the predicted future event. 18. The system of claim 12, wherein the electronic device generates a playlist by selecting media according to at least one from the group consisting of: one or more media that a user has listened to at a given location; one or more media that the user has listened to before; a calendar holiday; a weather prediction; data indicating a concert that the user is attending soon; direction data from a maps application of the electronic device; how fast the user is driving; the user's heart rate data that is communicated to the electronic device from a heart rate monitoring device; whether headphones are connected to the electronic device; whether a speaker is connected to the electronic device; and an identification of the user. 19. The system of claim 12, wherein the predicted future event at which media is to be played is predicted by the electronic device according to at least one selected from the group consisting of: travel time according to data stored in the storage device; one or more locations where a user spends time; playback behavior data on at least one previous day that is stored in the storage device; according to alarm data stored in the storage device; and event data for a calendar application stored in the storage device. 20. The system of claim 12, wherein the electronic device predicts, according to data stored in the storage device, the duration that the communications network connection is unavailable or intermittent at the one or more locations, and downloads the at least one of the plurality of media from the generated playlist according to the predicted duration. 21. The system of claim 12, wherein the electronic device plays the downloaded at least one of the plurality of media from the generated playlist from the storage device, and streams, from the server communicatively coupled to the electronic device via the communications network, the remaining media of the plurality of medias from the generated playlist for playback that were not stored on the storage device. 22. The system of claim 12, wherein the electronic device stores the downloaded at least one of the plurality of media on the storage device so as to cache the at least one of the plurality of media on the storage device when the electronic device is plugged in to receive power or is in an idle state.