The Perception of 'Random' on the iPod
Robaato writes "Stephen Levy writes in the Guardian about the perception of randomness, or the lack thereof, on an iPod set to shuffle." From the article: "My first iPod loved Steely Dan. So do I. But not as much as my iPod did.... I didn't keep track of every song that played every time I shuffled my tunes, but after a while I would keep a sharp ear out for what I came to call the LTBSD (Length of Time Before Steely Dan) Factor. The LTBSD Factor was always perplexingly short." My first iPod shuffle refused to let me delete (sigh) Weird Al's Polkamon off of the flash memory.
I agree that it is extremly difficlut to be truly random. There are some good ways of initializing the seed in such a way that the pseudo random number generator behaves differently. A good way, done in telecom terminals is to measure the noise at the receiver and then use it to seed the random number generator. Since, the noise is truly random, that is a good way to seed the random number generator. If the costs, are not too high, then it might even be a good idea to read noise (or any truly random parameter) whenever required. That would be close to really random, provided, we can map the random parameter into a quantitative parameter without big errors and approximations.
The open-source music player I wrote (BSoftPlayer) has a feature called "SmartShuffle". One of the biggest problems with shuffle is that it's difficult to understand when the tracks will change order, and it's difficult to know wheter or not a track is going to be played more than once in a single "cycle". Some shuffle features will play the same track twice before playing through your entire library, and some won't.
With SmartShuffle, the order is randomized, but it remains the same until you "reshuffle".
A long time ago I was dissatisfied by the lack of random in XMMS so I jumped to the source to see what I could do. I think this was my first contribution to a free software project. Anyway, here is what I found: XMMS keeps two copies of the playlist, one that is in the order you set and one that is "shuffled". This has to be clear, all the tracks in the play list are there exactly once in the shuffled playlist.
I can't recall when the shuffled playlist was reshuffled but in was not that often, maybe only when you added or removed tracks. So if you like Smoke on Water but that Ballroom Blitz is just two song after that, too bad, you'll always get Ballroom Blitz soon after you double click on Smoke on Water. Technically speaking, the shuffling was perfect, the random generator was properly seeded and they divided in the right way to prevent loosing entropy. The lack of reshuffling was entirely responsible to the perceived lack of randomness.
So my patch was just that: trigger reshuffling a lot more often. As far as I know this patch was never merged but my copy of XMMS did have the proper random behavior. I don't know if it's the same problem with the iPod. That's something I like with free software: you can fix it!