Skip to main content
Avid Contributor I
June 1, 2020
Question

Make the Windows controller open source

  • June 1, 2020
  • 28 replies
  • 855 views

If Sonos have abandoned the Windows controller (and with it a large number of users who paid for a product) then please consider putting the code into a public repo at Github.

This will allow technically minded users to maintain the application. There are a huge number of very experienced and able Windows software developers - myself included - (I also developed a .Net Sonos API and have some serious insights to this).

I paid for a product, I’m a software developer and work at my Windows PC a great deal, this is the world I live in, not Android, not Apple and was one of the attractions of Sonos at the time I made my purchase.

If we’ve been abandoned or sidelined then I see no reason to remain a loyal Sonos user and will simply dump the product.

 

 

 

 

    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.

    28 replies

    KorporalAuthor
    Avid Contributor I
    June 1, 2020

    I don’t think Sonos is going to restore features to the desktop.  It’s been quite some time since the features were removed, and complaints about it are now rare. Sonos made the decision because they new exactly how many people, how often, configurations were done on the desktop, and what it was costing them to support configurations on the desktop applications.

     

    Regarding power switches, Sonos never had any.  I’m not sure why you’re complaining about the lack of one now.

     

    Removing functionality costs resources as much as adding it sometimes, in fact any change to software whether we perceive it as adding/removing stuff carries a cost and a risk and needs testing etc.

    My remarks about power switches was a general one, the point is that we are advised either in documentation or via email or phone to “pull the power cable out” sometimes. This is very poor design and a thing called a “switch” was invented many decades ago for doing this.

    I cannot switch my TV off for example and the power cable is neatly hidden so that I have to move furniture to reach it.

    More basically having to pull the power at all is a sign of a faulty design, a well designed system should never get into a state where a hard reset is the remedy. Sloppy design is the norm these days because it has no effect on revenue, people, customers have been brainwashed into normalizing all this like the sheep that we so often are.

     

    A power cycle is not a hard reset. Sonos very rarely needs a hard reset. Power cycles are occasionally necessary to sort out IP address issues.

    Please do us all a favour and carry out your threat to dump Sonos

     

    Once again (this is the second time I’ve said this) my remarks about power cycling were general not specific to Sonos, furthermore I did not complain that I needed to power cycle Sonos only that most modern devices - Sonos included - do not have a power switch which is a true statement, and when one must perform a power cycling we are expected to pull a cable out of a wall and reinsert it, another true statement.

    A switch is far more convenient and far safer, pulling or struggling to get a cable into or out of a wall in a confined space in a contorted position can sometimes lead to one accidentally touching one of the partially inserted pins - this is WHY switches were invented John.

     

     

     

     

    ratty
    June 1, 2020

    A switch is far more convenient and far safer, pulling or struggling to get a cable into or out of a wall in a confined space in a contorted position can sometimes lead to one accidentally touching one of the partially inserted pins - this is WHY switches were invented John.

    For that you must, I fear, partly blame the choices of those who devised the electrical standards for your country. My wall sockets thankfully have switches. 

    melvimbe
    June 1, 2020

    Once again (this is the second time I’ve said this) my remarks about power cycling were general not specific to Sonos, furthermore I did not complain that I needed to power cycle Sonos only that most modern devices - Sonos included - do not have a power switch which is a true statement, and when one must perform a power cycling we are expected to pull a cable out of a wall and reinsert it, another true statement.

    A switch is far more convenient and far safer, pulling or struggling to get a cable into or out of a wall in a confined space in a contorted position can sometimes lead to one accidentally touching one of the partially inserted pins - this is WHY switches were invented.

     

    Sonos power cords can be disconnected at the outlet and at the device.  You don’t need to be a contortionist unless your speaker is also in a confined space. And if you can’t reach the cord at the speaker, you probably can’t reach a switch either.  Probably best at that point to just flip the breaker that powers the outlets at that point.

     

    Thinking of all the non-Sonos devices I have that don’t have power switches, pretty sure they all can be disconnected at both ends.  The exception might be power tools, which usually have some sort of switch to prevent operation for safety, and are designed to be plugged and unplugged frequently.  It makes less sense to be able to disconnect at both ends.

    Danny
    KorporalAuthor
    Avid Contributor I
    June 1, 2020

    Once again (this is the second time I’ve said this) my remarks about power cycling were general not specific to Sonos, furthermore I did not complain that I needed to power cycle Sonos only that most modern devices - Sonos included - do not have a power switch which is a true statement, and when one must perform a power cycling we are expected to pull a cable out of a wall and reinsert it, another true statement.

    A switch is far more convenient and far safer, pulling or struggling to get a cable into or out of a wall in a confined space in a contorted position can sometimes lead to one accidentally touching one of the partially inserted pins - this is WHY switches were invented.

     

    Sonos power cords can be disconnected at the outlet and at the device.  You don’t need to be a contortionist unless your speaker is also in a confined space. And if you can’t reach the cord at the speaker, you probably can’t reach a switch either.  Probably best at that point to just flip the breaker that powers the outlets at that point.

     

    Thinking of all the non-Sonos devices I have that don’t have power switches, pretty sure they all can be disconnected at both ends.  The exception might be power tools, which usually have some sort of switch to prevent operation for safety, and are designed to be plugged and unplugged frequently.  It makes less sense to be able to disconnect at both ends.

     

    Words escape me, normalizing bad design, such is the modern world.

    June 1, 2020

    Yes. Even nostalgia isn't what it used to be.

    May I suggest you invest in some snartplugs? No contortions are needed in order to say 'Alexa, trim off Sonos'.

    And surely you must have all your electronics plugged into switched surge protectors 

    controlav
    Lead Maestro
    June 2, 2020

    As someone who has worked in the actual Sonos codebase with the Desktop controller, i have to say this won’t get you very far. The codebase is an ugly combination of old C/C++ (SClib) and normal C#/WPF with an interesting glue layer between the two. There are many open source Sonos projects and their code is going to be a lot easier to read than the SCLib code in the Sonos tree.

    Reverse engineering 80% of a controller can be done with a network monitor and a decent UPnP tool. That is so much easier than trawling through the SCLib code. Trust me on this.

    Author of the leading independent Sonos apps for Android, MacOS, iOS, Windows and Xbox.
    KorporalAuthor
    Avid Contributor I
    June 11, 2020

    Yes. Even nostalgia isn't what it used to be.

    May I suggest you invest in some snartplugs? No contortions are needed in order to say 'Alexa, trim off Sonos'.

    And surely you must have all your electronics plugged into switched surge protectors 

    Oh you mean that system that spies on us? the system that can begin recording me just because I said something that sounds to it like an instruction?

    FFS just put switches on appliances like we used to see.

    KorporalAuthor
    Avid Contributor I
    June 11, 2020

    As someone who has worked in the actual Sonos codebase with the Desktop controller, i have to say this won’t get you very far. The codebase is an ugly combination of old C/C++ (SClib) and normal C#/WPF with an interesting glue layer between the two. There are many open source Sonos projects and their code is going to be a lot easier to read than the SCLib code in the Sonos tree.

    Reverse engineering 80% of a controller can be done with a network monitor and a decent UPnP tool. That is so much easier than trawling through the SCLib code. Trust me on this.

    Well oddly enough I did just that about 7 years ago or so.

    I studied the UPnP “specifications” in depth and discovered various “additions” that were made by Sonos.

    I got a pretty functional totally managed implementation of a Sonos controller API working and was testing on my Surface back then.

    The goal was to make Windows Phone app that was 100% managed code and I got the core API behaving pretty well (I could modify a unit’s volume and the API would also see the events for this coming back and would adjust the UI).

    It was a lot of work though and the code is pretty much shelved now in Github, no idea if what I have is useful still or superceded by some of the open source stuff you mentioned...

    …

    Yep just checked, its all sitting in Bitbucket, May 2014 was the last time I touched that code.