[All Platforms][Music] Implementing "True Shuffle" mode in client apps

My request is pretty straightforward and has been something I've wanted for years in music apps. It's the concept of a "true" shuffle mode, where nothing is determined ahead of time. At the end of a track, the next track has been randomly determined from the entire playlist. This makes it much better in cases where you're listening to large playlists (i.e. 100 tracks or more) over several sessions (i.e. driving to work).


The current shuffle mode seems to work in a way where it shuffles the order of your playlist ahead of time, and needs to wait to cycle through the entire playlist before you might hear a track again. You might have a couple of favourite songs which would usually take forever to cycle back around.


The UI for this would be pretty simple; in the same way you can hit "Repeat" twice to toggle on "Repeat All" or "Repeat One", you could hit "Shuffle" twice to toggle on "True Shuffle" (shown with a small "T" in a circle, like the 1 in "Repeat One").


I ran this idea across friends and family over the years, and they all said it would be something they would use. Sometimes it's too long to wait for 500 songs to play before you get a chance at hearing one of your favourites again. Even worse, you might hear a song within the first 10 tracks, wait 490 more, and then be placed at the end of the next randomly shuffled order (and wait 800 tracks or more).

Rock Star 5
Rock Star 5

Sounds like a good idea but will be a hard thing to craft.


A feature where you're able to choose different shuffle algorithms that benefit the listener would be revolutionary. Right now I find it's artists who have the most plays or monthly listeners always come up first in every playlist I've created which constantly grinds my gears. It gives the whole app this sense of popified assimilation that spotify seems to sweep under the rug.