Request for feedback: Shuffle



Show first post
This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

205 replies

Badge
Wait until you set a playlist for alarm with your 1600 songs and get woken by the same music every day...
wow good shuffle guys - just had a song repeat after 3 hours...... our playlist has 1600 songs!
Badge
Chiming back in. Not ignoring anyone, listening to the conversation. We hear you. I apologize for not making this more obvious (or obvious at all). We are going to make the experience of shuffle better. In fact, we have already started working on it. No timing to announce yet, but it will be soon and we will put it through it's paces in a public beta. Ben
yaay, any sort of timeline would be really appreciated!
Badge
I am amazed how upset people can get over something like a shuffle function, and i am not implying that it isn't a feature that couldn't need enhancement, but contacting the CEO over it?
You have to be kidding.

I spent $8,000 on Sonos, but i cant use the controller to play my playlists because i hear then same 1/50th of my music over and over when on random. Now i am forced to use iTunes to shuffle and input to Sonos as a TV in making the system a bunch of dumb speakers i can only control from my mac, not any handheld device. At least iTunes shuffles where Sonos does not appear to. If you were facing this issue, you would likely grow very tired of the 2 year wait for a solution. Just because you don't see a problem, does not mean others are being silly. If Sonos wanted to play real smart, they would release an SDK and let people help them evolve their software.

My wife, who is not technical gave a product review when i explained why she kept hearing the same few songs over and over: "well that's a bit crap then, isn't it"
Badge
My opinion is that it should choose a random track (generated from a random number based off datetime.now) and then ensure it doesn't repeat a track until all tracks are played.... heres a c# class that would do the magic - you can keep it if you want :)

class Shuffle{

 private List<track> playlist;
 private List<track> playedSongs = new List<track>();

   
 public shuffle(List<track> playlist){
        //initalises object and sets playlist
  this.playlist = playlist;
 }

 public track GetRandomTrack(){
        //gets the random track and adds it to the played songs
        //this is random in terms of a different order and not played before, if all songs have been played
        //it re-randomises it
  int randomTrackNumber = GetRandomTrackNumber();

  playedSongs.Add(randomTrackNumber);
  return playlist[randomTrackNumber];
 }

 private int GetRandomTrackNumber(){
        //gets the random track number
        List<int> unplayedmap = getUnplayedTrackMap();

        //if there isn't anything then everything has been played, reset the shuffle
        if(unplayedmap.Count == 0)
        {
            ResetSuffle();
            return GetRandomTrackNumber();
        }

        //gets the random unplayed track index to play and returns the actual track index
        int trackIndexToPlay = getRandomInt(0, unplayedmap.Count);
        return unplayedmap[trackIndexToPlay];
 }
    private void ResetSuffle()
    {
        //resets the shuffle by clearing what has been played
        playlist.Clear();
    }

     private int getRandomInt(int min, int max)
     {
         //generate a random in between the two values
        Random r = new Random();
        decimal next = (decimal)r.NextDouble();
        return (int)(min + (next * (min - max)));
     }

    private List<int> getUnplayedTrackMap()
    {
        //creates a list of unplayed tracks, it contains the index of the track in the playlist
        List<int> unplayed  = new List<int>();
  for(int trackIndex = 0; trackIndex < playlist.Count; trackIndex++)
        {
            if (!playedSongs.Contains(playlist[trackIndex])){
                unplayed.Add(trackIndex);
            }
        }

        return unplayed;
 }

 }


talk about being proactive 🙂
This reply was created from a merged topic originally titled SONOS - Playback Algorithm. I am frustrated with the way the algorithm appears to work when playing a playlist. If I have 250 songs in my Folk playlist, I will listen to a queue that I created up to several days ago, by hitting Pause or Play as my availability to listen dictates. The problem is that I keep hearing many of the songs I have already heard, even in the previous session, while songs I have not yet heard are not being played. At a minimum there needs to be a choice to not have SONOS re-play any song in the queue until all 250 songs have been played from that original queue. Please advise if this is a change you can make - thanks!
Userlevel 5
Badge +5
Thank you Ben.  Great to hear.
Userlevel 6
Badge +16
Chiming back in. Not ignoring anyone, listening to the conversation. We hear you. I apologize for not making this more obvious (or obvious at all). We are going to make the experience of shuffle better. In fact, we have already started working on it. No timing to announce yet, but it will be soon and we will put it through it's paces in a public beta. Ben
Great news Ben
Userlevel 5
Badge +2
Chiming back in. Not ignoring anyone, listening to the conversation. We hear you. I apologize for not making this more obvious (or obvious at all). We are going to make the experience of shuffle better. In fact, we have already started working on it. No timing to announce yet, but it will be soon and we will put it through it's paces in a public beta. Ben
Thank you for the update Ben.
Userlevel 1
Chiming back in. Not ignoring anyone, listening to the conversation. We hear you. I apologize for not making this more obvious (or obvious at all). We are going to make the experience of shuffle better. In fact, we have already started working on it. No timing to announce yet, but it will be soon and we will put it through it's paces in a public beta. Ben
Userlevel 1
With any company I give the customer services route one chance to rectify whatever the problem is. If that doesn't work I go straight to the top and it's amazing how quickly things get sorted. Every time.  Except with Sonos.  I emailed the CEO nearly 2 years ago and got no response.  I shall email again and I suggest that everyone else does too and not just once. Every day until something is done about it. When I bought my Sonos kit (a lot of it and at great expense) it claimed to have a shuffle function. It does not and that is simply unacceptable.
Userlevel 5
Badge +5
I am amazed how upset people can get over something like a shuffle function, and i am not implying that it isn't a feature that couldn't need enhancement, but contacting the CEO over it?
You have to be kidding.

My strategy of emailing the CEO is one of having no other way of escalating the issue.  When trying to go the support route all that happens is you get directed back to the original 'idea' thread which is now over 2 years old.

As the shuffle functionality is so important to me and I would rather not sell all my Sonos kit, it appears to be my only option.  Perhaps one email to him would not work, but if all the unhappy people did.........who knows
I am amazed how upset people can get over something like a shuffle function, and i am not implying that it isn't a feature that couldn't need enhancement, but contacting the CEO over it?
You have to be kidding.

Bernhard, totally disagree, out of curiosity who would you escalate to? I tried many mails to the helpdesk etc, all fell on deaf ears, however, EVERY time I emailed the CEO i got a response.
Userlevel 5
Badge +2
I am amazed how upset people can get over something like a shuffle function, and i am not implying that it isn't a feature that couldn't need enhancement, but contacting the CEO over it?
You have to be kidding.

Stuart,

i am not saying that there is something wrong with escalating it. I believe their overall communication strategy has to be challenged as It lacks engagement substantially all around (except technical issues/troubleshooting)

At the same time, we are dealing with a private company where their CEO sets the strategy to affirm their position. When they decided to keep everything close to their chest and don't share reasoning hitting the CEO is likely as effective as asking the receptionist for help. 
Userlevel 5
Badge +5
I am amazed how upset people can get over something like a shuffle function, and i am not implying that it isn't a feature that couldn't need enhancement, but contacting the CEO over it?
You have to be kidding.

Bernhad.  The shuffle function does not need enhancement - it needs fixing as it doesn't work.  We have been asking for this for well over two years.

The importance of this issue is relative to how much you use the functionality.  I use it a lot and since we are not getting any joy on this thread or the previous one, I think escalation to the CEO is totally justified.
I am amazed how upset people can get over something like a shuffle function, and i am not implying that it isn't a feature that couldn't need enhancement, but contacting the CEO over it?
You have to be kidding.

Really? This is one of the most basic functions of any decent media player, and it has been missing from the Sonos software for ages. If you can't see the importance of it, you obviously don't use the software in the way that most users do.
Userlevel 5
Badge +2
I am amazed how upset people can get over something like a shuffle function, and i am not implying that it isn't a feature that couldn't need enhancement, but contacting the CEO over it?
You have to be kidding.
Userlevel 7
Badge +17
I don't think anything is happening.  I think it was purely a diversionary tactic to get us to stop moaning on the original (now over two years old thread).

Sonos/Ben.  Your customers, who have spend a lot of hard earned cash on your product, need some feedback on this please.

On the other thread it seemed like the only time anyone from Sonos actually took note was when a few of us started writing emails to the CEO (John Macfarlane, ceo@sonos.com and tweeting directly for action.  Perhaps we need the second wave to start??

 I'll start the ball rolling by tweeting him and sending him an email now asking him to free up more of Ben's time to at least type an update post.

Ben does exist ! Maybe send him an Inmail https://www.linkedin.com/pub/ben-smith/5/163/956
Userlevel 5
Badge +5
I don't think anything is happening.  I think it was purely a diversionary tactic to get us to stop moaning on the original (now over two years old thread).

Sonos/Ben.  Your customers, who have spend a lot of hard earned cash on your product, need some feedback on this please.

On the other thread it seemed like the only time anyone from Sonos actually took note was when a few of us started writing emails to the CEO (John Macfarlane, ceo@sonos.com and tweeting directly for action.  Perhaps we need the second wave to start??

 I'll start the ball rolling by tweeting him and sending him an email now asking him to free up more of Ben's time to at least type an update post.
Userlevel 7
Badge +17
Its very strange they ask for input 2 months ago (a revelation in itself) then go silent.
I get the feeling it was done just to be seen to take some remedial action (after 2 years of complaining) with little intention of really delivering anything.
So lets assume this is rather far down the list (is there a list?), I wonder then what is higher in the list ?  What are Sonos doing ?  What are they working on ?  They are a multi-million dollar company that seem to not be paying much attention and resting on their laurels rather too much watching our $$$ roll in.
Ditto - I don't think 'Ben' has reviewed any of these comments. If he had, he WOULD be proving an update. Back to emailing John CEO at CEO.sonos@sonos.com
Userlevel 1
Badge +1
I just can't help wondering if anything at all is happening on this issue.
Echoing Dave's recent post, and as I have said before, surely the way this should be handled would be to give us a basic shuffle (that works!) now, and then ask for comments about refinements?
If Ben, (our man at SONOS) is really doing something about this facility, wouldn't you expect him to read the comments here and report back occasionally?
The problem is, even given that Ben exists, how far down his list is this item?
My opinion is that it should choose a random track (generated from a random number based off datetime.now) and then ensure it doesn't repeat a track until all tracks are played.... heres a c# class that would do the magic - you can keep it if you want :)

class Shuffle{

 private List<track> playlist;
 private List<track> playedSongs = new List<track>();

   
 public shuffle(List<track> playlist){
        //initalises object and sets playlist
  this.playlist = playlist;
 }

 public track GetRandomTrack(){
        //gets the random track and adds it to the played songs
        //this is random in terms of a different order and not played before, if all songs have been played
        //it re-randomises it
  int randomTrackNumber = GetRandomTrackNumber();

  playedSongs.Add(randomTrackNumber);
  return playlist[randomTrackNumber];
 }

 private int GetRandomTrackNumber(){
        //gets the random track number
        List<int> unplayedmap = getUnplayedTrackMap();

        //if there isn't anything then everything has been played, reset the shuffle
        if(unplayedmap.Count == 0)
        {
            ResetSuffle();
            return GetRandomTrackNumber();
        }

        //gets the random unplayed track index to play and returns the actual track index
        int trackIndexToPlay = getRandomInt(0, unplayedmap.Count);
        return unplayedmap[trackIndexToPlay];
 }
    private void ResetSuffle()
    {
        //resets the shuffle by clearing what has been played
        playlist.Clear();
    }

     private int getRandomInt(int min, int max)
     {
         //generate a random in between the two values
        Random r = new Random();
        decimal next = (decimal)r.NextDouble();
        return (int)(min + (next * (min - max)));
     }

    private List<int> getUnplayedTrackMap()
    {
        //creates a list of unplayed tracks, it contains the index of the track in the playlist
        List<int> unplayed  = new List<int>();
  for(int trackIndex = 0; trackIndex < playlist.Count; trackIndex++)
        {
            if (!playedSongs.Contains(playlist[trackIndex])){
                unplayed.Add(trackIndex);
            }
        }

        return unplayed;
 }

 }
Userlevel 1
I only have 1 requirement:
A different random order of the songs is created each time I turn on random, or create a new queue. So if I turn random off and then on again, Sonos creates a new random order.  I would also expect Sonos to play the entire queue before playing a song a second time.  I personally don't care if Sonos generates a new random order when playing the queue again.

Two desired features:

1. Be able to ask that either albums or songs be randomized.  For albums, Sonos would generate a new random order of the albums in the queue, but then play all the songs in an album in order.  The randomized song method would be equivalent to the current offering (with a new random order of course).

2. Show the queue in the order the songs will be played.  Currently the list is in the order added to the queue, and not the order the songs will be played it.  Others might prefer the current display.  Since I know Sonos doesn't want to make the interface complex, I would suggest a poll for which way the queue should be displayed.

Thanks for asking


It is trivially simple to implement a pseudo-random shuffle feature which covers the whole library and gives a different order each time it is used, or allows one to continue from where one left off. This should be implemented immediately and should gave been addressed years ago. I bought the system years ago believing it had what one would generally assume is meant by "shuffle feature" and it does not. It is unacceptable and should be sorted out. This asking for ideas business is a farce and an insult. Get the basic functionality fixed now and then, by all means, ask for ideas about how it might be enhanced.
Ben, 1 question. Why do you not have the "Official Rep" title like all the other Sonos employees? It certainly would add more weight to your question.

Anyway, I think User500327 above sums it up the best.  New random order each time you play a list or press the random icon, shuffle albums, and (not as important to me) show the queue in the order it plays.


Ben - any feedback/update please.