I listen to my 3rd generation iPod with the Shuffle setting to Songs. I have a playlist that I listen to all the time. This dynamic play list includes all songs I have rated over three stars that have the last played time more than 3 weeks ago. I've been listening to this playlist for close to a year now and I know that the iPod is not choosing the songs randomly. If I hear a song from an album or artist, there is a very good chance that I'll hear another song from that artist or album in the next 10 songs or so.
I'm not the only one that has noticed this. Newsweek did an article on this, but the engineer at Apple said that that "random is random" and they left it at that.
But I think the problem is that shuffling your iPod songs is similar to shuffling a deck of cards. See this nice answers.com entry for more information. If your iPod playlist is already sorted by Artist, then a single shuffle isn't sufficient to randomize your playlist.
To check this out, I downloaded the track information using Applescript with iTunes. I modified the "iPod Library Summary" script to fetch information from the playlist I listen to all the time, including the track number and the time last played. I had the playlist sorted by Artist in iTunes when I ran the script, so all songs from the same artist will have consecutive track numbers.
I then ordered the data based on the time the track was lasted played and looked at the songs I had listened to in 2005. That gave me 589 songs out of 3863. Here's what the graph looks like:
That is not random data. It looks like when picking the next track the iPod usually selects tracks "near" to the current track.
Now, this data does come with a caveat. When I listen to this playlist, I sometimes skip a track if I'm not in the mood for it, so I am affecting the data. However, I don't skip a track very often and certainly not enough to affect the data this much.
I think I'm going to have to write my own Applescript to create a playlist that is closer to random.
