Why doesn’t somebody develop a “shuffle” that works?

I have an android phone, an ipod, and itunes (and several other mp3-playing-capable programs) installed on various computers. None of them can shuffle songs worth beans, and it’s easy to see why.

Shuffle, as it now exists on every platform I’ve seem, just puts the songs in random order. On some platforms (like my stupid phone) this is done after the first song starts playing, so your randomly-ordered playlist is actually the same first song every time, and then the rest in random order. So I fast-forward past the first song, every time. There’s just no excuse for that.

However, random isn’t really what you want either. I often get, randomly, songs I just heard the day before, or even earlier that day. And this is on a playlist with 750+ songs. Well, with a random order generated a few times per day (whenever I’m walking a reasonable distance, or stuck at my desk, for example) you’d expect that to happen. It’s expected, but it’s also annoying and it’s not really what I wanted when I selected to shuffle instead of playing the songs in order.

What I wanted could be phrased this way: “Play me stuff I haven’t heard recently, in some random order”.

The “stuff I haven’t heard recently” would seem, to me, to be the key here. And it’s not like it’s hard – itunes and the ipod (at least) keep track of the “last played” date.

Can’t we please, please, have a shuffle (or call it something else) that starts with putting songs into groups by how many days ago they were last played, and then randomizes within those groups, and then plays the list? Build the list first, and then start playing it (so you don’t start with the same one EVERY TIME), and I would always be hearing a shuffled list of songs I hadn’t heard recently (unless I listen to all 700+).

Or, if you want to get really funky, allow a “custom shuffle” based on whatever criteria people want to use. This could look like the advanced sort in Excel, where you sort ascending or descending based on one column first, and then a second column after that, and so on, and can re-order the criteria at will. I’m not sure what else I’d want other than played date, but I’m sure somebody else will have something, and as long as it has the played date I’ll be more than happy.

While we’re at it, why is “shuffle” a setting that applies to the device as a whole? It makes no sense at all that you have to turn shuffle on and off globally. Actually, it does make sense if you’re playing everything you have, or by genre or something. But if you go to the trouble to create a playlist, you should be able to save a shuffle setting with that playlist. Some things should be played in order (classical music, musicals, playlists for running that start with a warmup and end with a cooldown, and so on) and the rest should probably be shuffled. So, we should be able to save that preference with the list when we make it.

So who do I talk to about this? Anyone?