Smart music shuffle
22 years ago, I released a shareware program called Netflix Fanatic that stirred up a bit of an internet firestorm. I have never written about the whole ordeal, but an idea from that product has always stuck with me. This was in the era of the iPod, when shuffling your music was the big thing.
Netflix ancient history
For the benefit of those that weren’t Netflix users in the early days, here’s a bit of a background. DVDs were sent via postal mail and the amount you paid Netflix each month was based on how many DVDs you had “checked out” at any given time. When you returned a DVD, the next DVD in your queue would be sent out.
When you added a DVD to your queue, it would go to the end of your queue. Rearranging your queue was a laborious process for the first decade of Netflix, requiring you to manually renumber each DVD in your queue and then hitting a Submit button.
Enter Netflix Fanatic
In addition to being able to drag and drop to re-order your Netflix queue, I really wanted a way to shuffle the queue. I wanted to have a good variety of DVDs checked out at any time. When adding items to my queue, maybe I might add a bunch of similar content at the same time, which would mean in a few months, I’ll end up with all the same type of DVDs checked out at one time.
But a simple shuffle didn’t really solve the problem, so I had to make it a bit smarter.
Series needed to be kept in order. A TV series might have several seasons, and each season might be split amongst multiple DVDs.
Keeping a good variety of DVDs checked out was accomplished by looking at the DVD genre and then trying to distribute that genre evenly throughout the shuffled queue
So, to a user, I think it felt like a true shuffle even though it wasn’t. I never got a complaint about it!

Applying this to music
Fast forward a few decades, and as a heavy Spotify user, a common usage pattern for me is just to shuffle my Liked Songs. But as user of shuffle knows, sometimes that leads to jarring transitions in styles of music and loudness levels, to name a few. Sometimes just normal randomness leads to a cluster of similar songs, which gives the impression of not being truly random.
Spotify does create nice genre playlists based on your Liked Songs, but sometimes I want something less explicit than that.
I’d like to shuffle only my own music without jarring transitions and something that feels truly random.
I also feel I must plug a great tool I use called Skiley to create interesting playlists based on my Liked Songs.
So, here’s an idea that Spotify or anyone with a music app can freely steal. Spotify and other music services have rich metadata about each track. Here is a full list of what’s available:
acousticness, danceability, energy, instrumentalness, liveness, loudness, speechiness, tempo, valence, key, mode, and time signature
Imagine that I start playing a track and I’m in shuffle mode. When it decides what track to play next, here’s a hypothetical example of how it could work:
It could start with doing a pre-shuffle and maybe peeking at the first 10 tracks it’s thinking of playing next
It could look at the metadata for the currently playing track and then try to find one of those 10 songs that’s most similar to the current track. Certain things like "loudness" would be a good factor to overweight compared to the others
All this extra pre-shuffling could lead to overplaying some songs, so it could counteract that by looking back in the play history and overweighting songs in Liked Songs that have not been played in the longest time
I don’t necessarily think this is an idea no one has ever thought of, but I’ve not seen it implemented exactly like this. A key thing for me is it would be super easy to use. Launch Spotify, hit Shuffle and it picks a random song, then proceeds to play a non-jarring shuffled list of music. The alternatives to this often involve a bit of work or to pre-decide which genre you want to listen to. By this approach, you could start out listening to a randomly selected classical track but then a few hours later you’re listening to death metal. But it would’ve proceed in baby steps.
If you steal the idea, let me know, I’d love to try it.