Dan Frakes, a Macworld editor, recently posted on twitter that he doesn’t want iTunes Match to be involved when he hits shuffle on his phone. This post is to explain why he’s wrong in more space than I get on Twitter.
One of the big ideas behind iTunes Match is that all of your music is available in the cloud for download on demand. iTunes Match is designed so that music in the cloud intermixes freely with music actually stored on your device, with the only difference being a little cloud icon next to songs that are in the cloud. I can create playlists that consist of all cloud music, all local music, or any mix of the two. If I have a playlist that I think I might want to listen to when the cloud isn’t available (like on an airplane) or when I don’t want to waste my data allotment, I can easily scroll to the bottom of that playlist and hit “Download All” while I’m still in a location where I can transfer the data and the transfer is essentially free.
iTunes Match will also buffer songs to some degree. I’m a little fuzzy about how long songs are kept around and what the caching policy is, but in general a song you recently heard will still be on your phone and not need to download again.
So should shuffle play songs that are not downloaded? It should, for the sake of consistency.
If you’re a person that doesn’t download any songs, then shuffle that only played local music would be totally useless. That would be a confusing prospect for the user, so having shuffle pull songs down from the cloud makes sense.
If you have some play lists with songs that are all downloaded, then hitting shuffle for that play list will obviously play everything in that list. You might also have play lists with songs that are only in the cloud. Hitting shuffle in that case must go to the cloud to play music, so that’s what it does.
So now if you have a play list with some music downloaded and some in the cloud, it would be inconsistent and confusing if only a portion of the songs ever get played. And that is why shuffle should, and does, play through all your music whether it’s in the cloud or not.
The big pain here is that when we’re using our phone on the cellular data network most of us are limited to how much data we can use. This is an area where I think you’re expected to be somewhat responsible for yourself. If you try to watch Netflix shows over the cell network you will quickly blow through your data allotment. That’s not Apple’s fault and you should be aware of what you’re doing. Similarly, if you listen to a ton of music that’s streamed down from the cloud using iTunes Match, you, the user, should be aware that you’re using up your data allotment. Apple should not prevent you from doing this if you want to, that’s one of the main reasons to have iTunes Match. Shuffling is just another aspect of playing the music — if that’s what I want to do, so be it, and let me shuffle everything.
For those worried about using up data, the solution is simple. Make a play list with those songs you want to shuffle and hit the “Download All” button at the bottom of that play list to make sure all the songs are on your phone. Shuffle just those play lists that you’ve downloaded. No cell data will be used and we can all live in harmony with a shuffle button that works as it should.
Just a bit of follow-up based on further Twitter discussions.
What it really comes down to for me is that “shuffle” is just a variant of “play”. If I am on a play list and hit “play”, I expect everything on the list to be played. I don’t expect it to skip the items in a cloud whether I’m on 3G or not — that’s one of the great features of iTunes Match. And, indeed, play does play items whether they’re in the cloud or not.
Hitting “shuffle” should do the same thing, and it would be very confusing and odd if there were certain circumstances where shuffling was now different than its usual behavior and different from the behavior you get when you hit the play button. For this reason, shuffle should play all items in the list.