Skip to main content
Answered

Interesting read on how sonos is changing


 

https://www.linkedin.com/pulse/what-happened-sonos-app-technical-analysis-andy-pennell-wigwc/

 

What happened to the Sonos app? A technical analysis

 

 

Andy Pennell

Principal Software Engineer at Xbox, Microsoft

 

July 6, 2024

On May 7th, 2024, Sonos, the successful home-audio company, released a new mobile app. This had been hyped in the press and was going to make product setup easier and greatly improve the user experience. However, when the app was actually released, it was, and somewhat remains, a disaster. As a certified Sonos fanboy/hacker/almost-employee I'm going to try and explain what happened, as best I can based on my reverse engineering skills, honed over the last decade and more of creating independent Sonos apps.

How The "Old" App Worked

Sonos speakers have been the Gold-standard UPnP device since their creation. I remember around 2005 the lobby to Microsoft Building 50, which was the home of the Windows Media Division at that time, was completely full of boxes of Sonos devices. It was being used as the definitive test device for the engineers adding UPnP support to Windows.

Every Sonos device on the network (which nowadays can be Ethernet, Wifi or SonosNet, their proprietary wireless network) exposes many UPnP services in the standard way, and can be found via the SSDP discovery process. There are around 200 individual APIs exposed via their UPnP services, though you can write a fully functional Sonos app using less than half of them. UPnP calls are SOAP calls over TCP, sending and receiving xml. SSDP works via UDP broadcast and multicast. All of this works very well, the common problems customers have with device discovery (changing IP addresses, inability to route between 2.4GHz/5GHz devices) are usually solved by fixing router settings or, occasionally, replacing a router with something better.

Sonos devices also use an interface known as SMAPI to communicate with third party music services. This standardization means that the onus on adding a music service to a Sonos system is on the music provider, which has allowed Sonos to support over a hundred music services, something no-one else has come close to. The app uses SMAPI to find and enumerate music from a provider, and the speakers themselves use SMAPI to stream the music and share with other speakers in their group in real-time.

The SMAPI interface is reasonably well documented (well, it was until last year), but the Sonos UPnP APIs have never been openly documented. Fortunately, UPnP is a self-describing interface so any decent tool can show you the APIs and let you experiment - I use Intel's UPnP Spy to do this. As traffic is in the clear, network traces can reveal exactly how the app uses these APIs to find and playback music.

A third API set for Sonos is their cloud API: this has been around for around five years, and is somewhat documented. However it's never been rich enough to write a decent app: it was designed for music service integrators (think Spotify Direct), not app creators. It offers basic transport control but no way of enumerating music, unless you are also a music service provider.

How The "New" App "Works"

For the new app, Sonos threw out all of the old app code, a "clean slate" approach, replacing the front-end (the UX everyone loves to hate) and also the back-end (that actually communicates with speakers and music services).

Device Discovery

When the app starts, it must find your speakers as a critical precursor to anything else, but for some inexplicable reason they decided to drop SSDP and rely entirely on mDNS for device discovery. I don't know much about mDNS (as my own Sonos apps have never used it), but evidently this new way of finding speakers on the network has proven hugely problematic. My reading of how mDNS works is that it should suffer from similar problems to SSDP on routers that can't broadcast/multicast between radios, but it shouldn't offer new problems. But evidently it does: the huge amount of users who had perfectly working systems that suddenly had no devices found in the app shows that either mDNS is not a reliable discovery system on many home networks, or their code has some gigantic flaws. Me? I'm fine, my carefully-configured Ubquiti network has never had a problem with the new app finding my 15 Sonos devices. Others have not been so lucky, and right now, two months after the new app's release, something still stinks in the Sonos device discovery code, based on Facebook and Reddit anecdotal data.

App Performance

The old S1 app, which I am very familiar with (details later), used the native UX frameworks of the devices, ported to each platform. So Windows used WPF and the other platforms used whatever the "normal" UX frameworks were at the time. This gave solid experiences on all platforms, but obviously at substantial cost: every new feature in the UX had to be implemented in four different UX codebases. (The back-end was C/C++ and shared between all of them). For the new app, Sonos decided to use the same front-end on both mobile platforms so went with a Javascript framework (I try not to follow JS-UX-frameworks-du-jour so can't say which) so the UX code would only need writing once. (The Windows/Mac apps have been feature-frozen since the S1 split so no chance of their UX changing). I'm not sure how much of a performance impact the UX framework has on the app (that's not an area I know too much about), but a change that has clearly had a notable impact on app performance is the back-end change, moving away from UPnP.

Network traffic with the new app is all encrypted, so a definitive analysis will take me a lot more work and time. However, my most educated guess based on what I see in the traces is that the speakers now expose a version of the Sonos cloud API, but on the local network. In addition eventing, which used to be UPnP based (essentially you run a simple http server in the app and it gets calls from the speakers when an event is sent) is now based on a websocket.

As all traffic is now encrypted, it takes more CPU cycles for every network call: client encrypts it, sends it (TLS is a lot more chatty), and the speakers have to decrypt it before they can do anything. Even if the API was still UPnP under the hood (which I don't think it is), the crypto overhead is going to be a challenge on the older Sonos devices, which have tiny amounts of RAM (as low as 64MB compared to 8GB of the latest Sonos devices) with a similar disparity in CPU power. Also the cloud API is more "chatty" than the UPnP API, multiplying the network overhead.

The best example of how bad this can be is the Device Volume UX: in a group of, say, 8 speakers, you can pop up the device volume panel, which will show all 8 device volumes, along with the Group volume. (Group volume is a weighted average of every device volume). Users like to drag volume sliders all over the place, but in a Sonos group this generates a cacophony of volume-changed events: changing the group volume will change the volume on every device, and every device will send an event back declaring its new volume. As many volume changes can be generated per second with a user's finger, and the fact that the event ordering is not guaranteed, it takes great care to get this UX smooth and responsive. This is the one area of my own Sonos apps that I fear the most: I never want to change any of the volume UX code. Sonos even publish recommendations on how to deal with this problem at https://docs.sonos.com/docs/volume. Seemingly they did not follow their own advice with the new app's volume control, and the switch from UPnP events to websockets seems to have made things a lot worse.

The New User Interface

I'm not going to rant about this too much, I know from decades in the business that you can't please all the people all the time, especially when it comes to UX. Also glass houses: my apps have not been renown for their glorious UX. However I have an iPhone SE 3 and that means I only get a tiny amount of vertical space in the new app to select music, plus I hate sliding UX as the iPhone likes to pop its system UX up when I do this. I always use my own app to select music anyway, I love the huge 4K display on my PC.

Can it get better?

Sonos have been mostly in denial as to how bad things are, with the app release officially described as "courageous" - well, pissing off a sizable chunk of your existing user base could be called that, I guess. An immediate revert to the old version would have been my suggestion.

Also thanks to the device discovery problems, not only are existing users frustrated with the app not working, but new users who get their shiny Sonos device out of the box and then can't get the app to work are just going to put it back in the box and return it.

The new app shipped with a lot of features missing from the old app (never a good idea), but over the last two months some of those features have returned in various updates. However Queue management is still AWOL, and that was a key Sonos feature. (It's also a UX challenge, handling a list of over 30,000 items that can change at any time in a performant way).

While device discovery remains a crapshoot for many the app store scores are likely to stay in the 1.0 range that they have fallen to in the last two months.

Options

As many have discovered, the Sonos speakers themselves are still working fine, despite the contrary impression the new mobile apps may give. You can verify this by using the official Desktop apps (which are feature-frozen), or third party software like SonoPhone (for iOS https://apps.apple.com/us/app/sonophone-for-sonos/id815251931) or my own Phonos Universal (for Windows/Xbox https://apps.microsoft.com/detail/9nblggh4x6j0). All of these apps use the UPnP APIs, which still work great, for the moment anyway. However, Sonos have stated that they want to deprecate their desktop apps at some unspecific point in the future. If they do, they can then remove UPnP support from the speakers, killing the entire third-party ecosystem built around their products. That would be "courageous" indeed.

About Me

I've been a Sonos customer since the CR100/ZP100 released and been reverse engineering it since shortly after it arrived. My Sonos app for Windows Phone was one of the most successful employee-made paid apps in the store and had over 200,000 downloads. I worked with Sonos on Phish, the official Sonos app for Windows Phone 8 (never released). I was so impressed with Sonos engineering I applied for a job there and got an offer to join their Seattle office, but I declined, because reasons. I live in NetMon.

Views expressed here are my own, and not those of my employer, Microsoft Corp.

92 replies

Userlevel 6
Badge +6

Just to inject a dose of reality here: 99 out of 100 Sonos product owner/users (including me) have only the vaguest clue what you tech-savvy folks are talking about.

I grew up with an all-in-one RCA Victor phonograph - a turntable in a box with a tube amp and loudspeaker tucked in up front. I had a transistor radio with a knurled wheel on one side to turn it on and adjust volume, a knurled wheel on the opposite side to ‘tune’ the station. It brought me baseball games (Mel Allen called the Yankees, The Ol’ Professor was their manager and they just kept on winning) and Top 40 AM radio.

Over the years I went from there to a more ‘sophisticated’ phonograph in a suitcase (a KLH Model Eleven) to various more or less ‘audiophile’ amps, loudspeakers, turntables, tape decks, cd players.

At no point did I need to become an electrical or recording engineer to listen to music. I never wanted and still do not want to become a software engineer or coder in order to listen to music. It’s supposed to just work, without a lot of fuss.

When music playback commenced its transition from CDs to music raining down from streaming services and stored on local ‘drives,’ most of us approached the new medium with trepidation. Because it seemed we would have to learn and master a whole bunch of stuff when all we wanted to do was flip a switch and play recorded music. And we feared we’d start buying stuff and never figure out how it works.

Sonos has succeeded thus far by providing music for dummies like me. Their active loudspeakers sound pretty decent and don’t take up lots of space; setup is even easier than hooking up amps and speakers and turntables; most of all the ‘controller’ requires no special training or skill and is simple to use.

Hundreds of thousands or perhaps a million or more of us derived considerable pleasure listening to music living in the Sonos universe.

Or that was how it was until early May, when Sonos decided it was time we all got ‘courageous’ and marched us off to the Brave New World as Sonos chooses to define it.

I don’t know why or how Sonos screwed this up so badly. I don’t know what digital wizardry might be required to get things working as well as they did in April 2024 again. But I do know if things don’t return to normal pretty quickly, Sonos probably will not survive.

Because there really were no other ‘user friendly’ digital music playback options for people like me when I bought my first Play1 way back when, and then expanded my system to include multiple pairs of newer and more elaborate Sonos speakers. Most Sonos owner/users are people just like me who built expanded Sonos home networks the same way.

But there are other options today. We aren’t going to stick around forever if Sonos doesn’t address our needs. We’re not here because we enjoy a technical challenge or want to ponder the economics of Sonos’ business. We’re here to listen to music. If Sonos doesn’t grok that real fast, it’s likely going to be ‘hasta la bye bye.’

Userlevel 7
Badge +15

I think one of the biggest questions for me is how on earth did no-one in their technical development team flag that dropping SSDP for mDNS (plus those other elements in the article, flagged by @press250 ) might lead to device discovery issues and other such functionality fails?? Surely this would have then presented itself as a problem within the first weeks of development?

And upon implementation, when it was loosely Beta tested (and used by the CEO ‘since Christmas’?), we know that issues were flagged by those using the new app - so how did the issues being so widely discovered not throw up massive red flags and alarm sirens so as to put the brakes on its roll-out - even with the headphones to be launched and the financial results to be announced??

I’ve been (annoyingly, probably) measured in my call for patience in allowing Sonos to fix this (and my system works perfectly well with a well-tuned router and mesh setup) - but reading what appears to have been at the heart of these last two months of hell for some….REALLY SONOS???? 

Userlevel 6
Badge +8

If someone had no discovery issues with the old app, but is having them with the new app, my gut feeling is that it is in the app side, but not necessarily that mDNS is failing.

How and where the app is handling the overarching discovery process and dealing with responses from the local mDNS discovery and the api.ws.sonos.com request could be what is causing issues, rather than the local mDNS.

The old app had 2 different behaviours depending whether you were logged into your Sonos account. Opening the app from closed to the System page

When not logged in to the sonos account in the app:

  • it performs local discovery and shows the Sonos devices that respond

When starting the app and logged into your sonos account 3 things happen in parallel:

The responsiveness and what devices are shown with the logged in behaviour of the old app can be influenced by external issues when attempting to connect to the Sonos api during device discovery.

Blocking *.sonos.com with a pi-hole or similar, then the discovery behaves similar to not being logged is just slightly slower because the pi-hole returns a NULL response to the api dns request which causes the app to give up the connection attempt and show the list of devices which responded locally.

A slow request to the Sonos api, which could be anything from slow dns responses, overloaded internet connection, overloaded sonos servers, random other event somewhere on the internet, causes the app to keep showing grey placeholders until a timeout out is hit.
When the timeout is hit it flashes an issue finding devices notification, then immediately displays all the locally found devices only. When the request eventually completes, or retries later, additional devices registered against the sonos household but not found through local discovery get added to the list.

I simulated the above by overloading my pi-hole before starting the app. When the api call had reached a timeout (~10 sec I think) during discovery, it flashed an error notification, showed my 4 locally switched on speakers. When the pi-hole recovered before the usual default 30 second dns timeout a call completed and 3 speakers which have been unplugged for about a month, but still registered with my account, showed up as unavailable.

 

Where it becomes tricky to identify what might actually be causing it, is that things have moved around in the new app. eg login in is now a requirement, the app doesn’t auto switch households based on local discovery, the new local search currently happens in a process which requires working internet (to be separated in a future update)

While the discovery process may be similar, eg perform local discovery and call the api in parallel, it is likely wrapped in a different overarching app flow.
How that reacts if there is an issue, such as the online call times out and/or has no response does it show nothing? What happens if there is a mismatch between locally discovered but registered devices and devices registered against the login account?

Ideally the behaviour would be the same as the old app, but given the changes in making things like login mandatory, other things like the recently added Local Library search currently only work with an internet connection (to be fixed in the future) it wouldn’t be a surprise to find device discovery and display of devices has ended up shackled to online requests which don’t react well to unexpected behaviour.


Something I found interesting about Airplay and the Apple TV is while it is still using bonjour as the primary discovery method, Apple have supplemented the bonjour discovery with Bluetooth LE discovery which sends out the Apple TV lan IP address. Over the many years they’ve been doing Airplay, maybe they found that adding the additional bluetooth discovery mechanism helped avoid issues in complex network setups, eg offices, and reduce home user issues due to random equipment either supplied by an ISP or it was the cheapest/store/online recommended item.

 

Will you people please stop harping on testing?  It was tested.  It failed.  It was released anyway.  This disaster has nothing to do with testing, development, or even IT in general.  It was about pleasing investors by getting the headphones launched, and when you depend on venture capital to survive, investors come first, second, third, and all the way up to next to last. Last are the customers.

Userlevel 7
Badge +23

I have just updated the article copied above to add notes about the web app and improve the accuracy of some API speculation.

Userlevel 6
Badge +6

All of the rocket scientists have weighed in on the Sonos situation; but still no satisfactory resolution; no acknowledgment from Sonos management of the serious problems many users face; and no commitment from Sonos to address and resolve those problems by a date certain in the foreseeable future.

It begins to appear my best option might be to use the ‘line in’ feature on my newer Sonos speakers, lay hands on a cd player, turntable and preamp; and revert to using the library of CDs and LPs tucked away in my home. 

That assumes the Sonos speakers would work reliably as active speakers using external inputs. And that also pretty much defeats the reason I became a Sonos buyer — straightforward ‘plug and play’ access to digital music sources; the ability to find and save digital music in my own library of Sonos playlists; and pretty decent sound quality.

Were I setting up a CD/LP/amp/speakers system today, I most likely would not choose Sonos, as there are far better speaker systems and amps with streaming capability available for not a lot more money. The user friendly/convenience factor rates high in the choice to use Sonos speakers. Take that away and Sonos doesn’t have all that much to offer.

If Sonos management does not acknowledge that fact, I fear its hardware will become as obsolete as the eight-track cassette deck, which will be a tragic outcome for Sonos investors, employees and purchasers. 

And which readily could be avoided if Sonos would cease doubling down on its mistakes; allow users to revert to the pre-existing and reliable controller app; and refrain from re-releasing the ‘courageous’ new app until it has been adequately tested and proven reliable and fully functional.

Userlevel 6
Badge +6

@106rallye: Those ‘older and complacent users’ have been the Sonos target market for quite some time and will continue to be a lucrative sector into the future. For one thing, today’s young buyers will be tomorrow’s ‘older and complacent users,’ as sure as the sun will rise in the East and set in the West. 

For another, young people do want to emerge from their smartphone/earbud/headset bubbles now and then and use loudspeakers. There’s this thing called a ‘party’ even us geezers remember.

And for another, ‘older and complacent users’ build homes, sometimes they have multiple homes with multiple rooms, and want speakers in some or all of those rooms. My wife does architectural and interior design work and clients want sound systems. She has often suggested Sonos as a practical, unobtrusive and cost-effective solution. Believe me, after this experience, that ain’t happening anymore.

I don’t think there’s any way to spin or sugar coat it. The past few months have tarnished the Sonos brand in a big way; and I cannot imagine a scenario in which it will prove to be a positive for the Sonos bottom line.

I’m not that fanatic about voice control, except for when cooking.  I use it almost exclusively when my hands are cutting up a chicken or stirring something on the stove and can’t pick up a device.  Then it is irreplaceable.

Userlevel 6
Badge +8

So does the new use of mDNS which would effectively appear to be labelled as Bonjour on lots of network kit, mean that as well as all the detailed steps to get STP config right on managed switches, you now (ideally) need a switch that supports mDNS/Bonjour, and that these settings are correctly configured to allow the packets to get where they need to? 

I do have a little sympathy with Sonos here (less with the new app) as there are too many devices ‘trying’ to make this stuff invisible that then trip over each other. For example, Sky Q devices attempt to create a mesh WiFi whether you want it or not, and as such advertise STP bridge IDs below those used by Sonos… If you want to get control of your network back then you need a ‘proper’ managed switch, which now it seems needs to hande mDNS too… I say proper as some of the cheaper managed switches have very limited options. 

Is this level of complication the only way to get the ‘Sonos sync’ to function or could it be done over a vanilla network without using STP etc? 

No, not at all. multicast DNS (mDNS) operates within the multicast IP range on 224.0.0.251/ff02::fb port 5353.

It has no requirement for a managed switch, but if you are using one with igmp enabled, that should cover it. As it is designed for local-link network, if you use vlans and want to cross the vlan boundary then you will need a reflector/repeater rather than using an igmp proxy.

A badly configured mDNS client can have some unexpected behaviour and both Linux distribution maintains and the System-D development team have been caught out in the past.

for example, mDNS has the .local domain reserved for it’s use and no requirement for a dns server on the network. an mDNS client should ignore any unicast response from a standard DNS server on the LAN claiming to be authoritative for the .local domain and only use responses for the .local domain from the multicast IP address.

If you don’t ignore the .local response from the LAN DNS server then odd things can occur with discovery.

 

The Sonos STP can of worms is completely unrelated to mDNS and really shouldn’t still be a thing. As far as I’m aware they haven’t updated to RSTP, so in managed switches where you can’t disable STP on the ports Sonos is attached to, you have no option but to configure it for Sonos settings. On my own switches pretty much ignored the Sonos STP, left STP disabled in my switches and enabled RSTP. Sonos did it’s thing, while all my other devices did theirs without any issues. 😂

Userlevel 7
Badge +14

The article we have all be waiting for to understand better the root causes of the issues. Looks like it’s a combination of things, but largely a device discovery issue. 

Really interesting, eh @Rhonny? While I was aware of the switch to mDNS, the article adds a color on why that is problematic. Users experiencing ‘missing’ devices may have an exception or corner case that it is not handled by the new code (in the app and in the firmware) properly.

These two aspects are most interesting to me and I suspect are most problematic …

my most educated guess based on what I see in the traces is that the speakers now expose a version of the Sonos cloud API, but on the local network.

[...]

eventing, which used to be UPnP based (essentially you run a simple http server in the app and it gets calls from the speakers when an event is sent) is now based on a websocket.

… the entire communication protocol between the mobile apps and devices changed. As the author notes, the ‘old’ protocol is still supported: this explains why many ‘gotchas’ encountered with the new mobile apps are ‘fixed’ with the desktop apps.

The big takeaway is that there is a lot more brand new code in the device firmware that I imagined: websockets, TLS, and Cloud API. All that new code works well when everything is “on the straight and narrow” but does not handle exceptions and corner cases. This fits what we’ve learned on these forums: “it works here” for many users and does not work for other users. Subtle underlying factors manifest themselves as broken functionality. The good(ish) news is that over time those exceptions and corner cases will (hopefully) be discovered-and-debugged-and-fixed by Sonos. The bad(ish) news is that process will take quite some time.

 

Userlevel 2
Badge +1

Interesting and helpful information. Thank you for posting. Now, why wouldn’t Sonos just give us a brief explanation similar to that write up in the interest of transparency and accountability?

Do we just not do that anymore in business?

Despite having issues with my system I at least have more tolerance now after reading and better understanding some of these technical pieces behind all of it.

Userlevel 6
Badge +6

I admittedly fail to follow the technical discussion here; but here’s what I know, as a Sonos owner who just wants to listen to music on my system as I’ve been doing for years.

Another community commenter turned me on to a3rd party app that cost the princely sum of 99 cents. Using that app, I can now list, open and play all of my Sonos playlists… this after months spent wondering if I would ever be able to retrieve and listen to that accumulated music library. 

That’s all I want from my system, along with basic functions like volume control, the rudimentary Sonos bass/treble/balance ‘EQ,’ and the ability to select which speaker pairs will play. I can get that by choosing a playlist in the 3rd party app; which then appears in the Sonos app. 

I now have all I need, other than the ability to edit and create new playlists, which would be a nice addition.

As I read recent comments, Sonos legal may step in and demand the 3rd party developer ‘cease and desist’ or face patent infringement litigation.

Is that a possibility? I’ll say this: I’ve been unhappy with Sonos for two months, but at this point I can live with what I’m now able to do with my system. If Sonos relegates me to where I was before I tried my 99 cent solution, I’m going to be one ticked off geezer.

Userlevel 6
Badge +8

Just to inject a dose of reality here: 99 out of 100 Sonos product owner/users (including me) have only the vaguest clue what you tech-savvy folks are talking about.

Because there really were no other ‘user friendly’ digital music playback options for people like me when I bought my first Play1 way back when, and then expanded my system to include multiple pairs of newer and more elaborate Sonos speakers. Most Sonos owner/users are people just like me who built expanded Sonos home networks the same way.

But there are other options today. We aren’t going to stick around forever if Sonos doesn’t address our needs. We’re not here because we enjoy a technical challenge or want to ponder the economics of Sonos’ business. We’re here to listen to music. If Sonos doesn’t grok that real fast, it’s likely going to be ‘hasta la bye bye.’

I agree and there is no reason anyone should need to be. Sonos have failed their ease of use and just works when people need to start digging around in networks, buying new WiFi access points or routers.

They use the same underlying technologies and specifications as everyone else, which haven’t changed significantly in 10+ years. Not everything that was acceptable when they started back in 2005 is still acceptable on a modern network/internet and networks have evolved.

Sonos haven’t evolved, got complacent and are now being squeezed from all sides without a significant unique selling point anymore imo. As a result they’re in a crowded market and rather than trying to carve out a USP again, are just releasing me too products into already crowded markets. Neither the Ace headphones, the rumoured Android media player or the new Arc scream must buy products.

I think it makes no difference to the top 4 streaming providers (excluding China) ie Spotify, Amazon, Apple, YouTube Music whether their service works with Sonos natively or not.

Unless they can stand out with a unique selling point, integration, ease of use… then the price premium they charge isn’t worth it.

I started out with Sonos back in 2007 because after 2 years and being my own tech support for slimserver, initially enjoying the fiddling, I wanted something that just worked all the time. The extra £100 per endpoint vs a squeeze player + amp was a no brainer vs the cost of time I spent fixing my slimserver or dealing with broken plugins.

Fast forward to a couple of years ago and I looked at the Arc + Sub + Era 300s for a HT setup. The price premium and sound quality wasn’t worth it vs the competition and multi room for the HT setup wasn’t worth sacrificing features and audio quality for.

Even the Amp + Sub mini which will only work with Sonos are a difficult justification these days when alternative receivers/amps with better room correction + Sub will run rings around them for less money.

The most cost realistic Sonos speakers these days come from Ikea, anything Sonos branded has an increasing number of alternatives for similar or less money.

Userlevel 6
Badge +8

I just don’t see Sonos allowing a Sonos the Way it Was OS version. Here’s another real life case of a failed attempt to allow clones that resulted in financial crisis.

Xerox at one time back in the early 80’s manufactured copiers for a competitor. The agreement was to use identical Xerox machines branded with the competitors logo. 

At that time copiers were sold by boots-on-the -ground sales reps. The agreement between Xerox and the competitor further stipulated that the competitors sales force could not inform their clients that their machines were identical to Xerox machines just with their competitive  branding. Well, as you can image that worked quite well…NOT! If the competitors sales force was about to lose to a Xerox sales rep selling the identical machine the competitor spilled the beans to secure the sale.

Xerox at the time basically told their sales force to work harder to sell their branded gear. Xerox corporate didn‘t care because the copiers built for the competitor were already considered revenue earned. Xerox saw that arrangement as a win/win as the competitor still had to buy Xerox toners which was another revenue stream.

Well…fast forward and Xerox finally realized that their customer base was shrinking because of the arrangement. So what seemed like a good idea in the beginning soon became an albatross. 

IMO Sonos could fall into the same quagmire if they allowed a Sonos the Way it Was version of their OS. I’m not saying that the idea has no merit…just that it doesn’t IMO in the long run make good business sense.

Sonos actually already provide one… it’s called S1.

The only thing stopping Sonos doing the same with S2 and having the new one as S3 is Sonos themselves. It is possible they considered it and decided the S1/S2 debacle was too much to go through again 🤷

Will Sonos endorse an alternative OS on their devices or unlock the bootloader for their own devices? Not a chance. Originally, when first released and focussed on local music playback, they had an unlocked bootloader. No chance of that now as their 3rd party streamings contracts would disappear overnight if people could modify the Sonos provided firmware easily.

The best anyone could possibly hope for would be for Sonos to white label and license the tech platform to other companies who could brand and develop their own controller apps, but unless they want to become a platform/api provider, and get out the hardware side, then no chance of that either.

The hardware only revenue side of Sonos is actually a problem they need to solve because purely selling hardware to pay for continued support, software development and running large scale online services isn’t realistic. 

Userlevel 6
Badge +8

To throw in another related topic, why have Sonos quietly introduced the web app and with no way to disable it and no multifactor account access. This is not acceptable in todays world.

I can see my Sonos unit have setup permanent sessions with AWS EC2 instances for remote access 😕

My guess, the main overriding reason would be saving money. It is the replacement for the desktop controller applications.

Someone will have convinced senior exec it is a cheaper and better solution than having individual desktop applications to maintain.

It is another poorly implemented and badly executed solution for a problem the majority of users never had. For the majority of users it adds another unnecessary dependency on the cloud services.

The desktop Mac app has been updated a few times since the new primary app went live, including this week. If the web app was to replace the desktop app, I don’t see why they would bother giving ongoing attention to the desktop apps (the Mac app, don’t forget, received very little attention for years). 
I don’t understand your point about dependency on cloud services. Most of the apps on your phone depend on cloud services and when implemented properly aren’t even noticeable. You wouldn’t be talking about cloud services at all if Sonos had got it right first time, in the same way you won’t be talking about it when they fix it.

I certainly would be talking about/considering cloud service dependence for my audio devices, the same as it is a significant consideration and something I don’t want as a requirement for my smart lighting, heating or other smart home devices to require.

My heating and lighting was specifically chosen because it all works, including the phone/tablet controls without internet access. For my audio devices, while streaming services obviously won’t work, there is no valid beneficial to the buyer reason why local audio playback and control should stop.

There is a big difference between phone/tablet apps for local device control using cloud services for additional functionality and apps depending on cloud services to operate. A requirement of Apple HomeKit devices and Matter is for local operation without internet access. A large number of German designed smart home devices are designed for operation without a hard dependency on cloud services.

There is no reason for apps which control in home devices to have a hard dependency on cloud services for local control. That is a different use case to an app which is a local interface to an online only service.

The old app would only notify if it couldn’t login to my Sonos account, but wouldn’t stop working for local control. Moving between Sonos systems in different locations the app would handle the change in devices around it and display what it found.

The direction the new app is going is looks to be putting hard dependencies on the availability of Sonos cloud services and preventing operation if those external  dependencies fail.

We clearly have different use cases for apps on our phones/tablets, apart from apps designed to access online only services, most of the apps I use operate the same without continuous internet access, the majority of their online calls are for ad/tracking/logging which are blocked by my pihole and have zero impact on the apps operation.

Userlevel 7
Badge +23

Great post! thanks indeed.

I have a question about SonoPhone, can it completely replace the previous version of the S2 app? For example, link to other music apps, set alarms, etc., thank you.

 

No, like other third party apps, setup-level operations (eg add music service, update firmware, add devices) are not supported.

I don’t think SonoPhone can do Alarms, but my Windows app can.

Userlevel 5
Badge +7

That's standard spiel auto response, seem it many times unfortunately

I do believe support staff are working tirelessly, they have to learn new app faults as well from feedback

Userlevel 7
Badge +18

Hi @paulrw

@paulrw you accidentally created two Households. (Or the app did, who knows?).

You need to factory reset the “lone” device, then Add it to the existing household.

If you want to confirm this diagnosis first, use my app “Phonos Plus” for iOS that will show you the household ID that each device is attached to. You will find them to be different on the “lone” device.

This would normally be correct, but in this particular case it is something weirder going on. Please do NOT reset any products. I’ll get back to you on your thread:

 

Userlevel 7
Badge +15

The article we have all be waiting for to understand better the root causes of the issues. Looks like it’s a combination of things, but largely a device discovery issue. 

Thanks for finding and posting this, @paulrw .

Userlevel 4
Badge +1

Back on the original topic here, now I have found it thank you @press250 ….

Just wondering out loud here - it seems to me both from this topic and as @Allen J Goldberg and others have surmised, Sonos have changed direction.  Ignoring whether that works out for them or not, is there an opportunity here to get the ‘old’ system enabled by a third party.  Most of it is there - the issue seems to be rolling back the firmware.  Has anyone any idea if that is technically possible (ignoring legal issues for the moment).    I could imagine an aftermarket for rolling back, possibly even for current new devices to 16.1 firmware.   If thats possible then the app we know can be made available by a third party (again parking legal issues).   Both would be easier with Sonos ‘approval’.     

Since Sonos seem to have backed themselves into a corner by refusing to rollback, maybe there is a business opportunity for someone to give them a way out.   Might even be a competitor?   Since they are clearly no longer interested in “local based music Library’ systems.   I have thought for years that they have been struggling with “home Theatre’ v “Audiophile’, add in “streamers” and “moblie” and then ‘headphones’, well this could be an opportunity for them to ease their pain,  From the technical backend descriptions to the UI they are clearly in the “Jack of all Trades Master of None” category.   At least this way they could have a legacy brand that can play music reliably (or at least as reliable as it was).

First step is it technically feasible?  Then it becomes a business decision.   

Userlevel 6
Badge +6

I have no problem with the fact that Sonos wants and needs to protect its intellectual property. But there is a problem when Sonos force-feeds users with software that does not work for them; and then declines to respond to entreaties to fix it. Evidently there is a reasonably simple solution to one of the major problems that came with the ‘upgrade’ of S2: loss of access to Sonos playlists that are the tool many thousands of us use to listen to music which we ‘archived.’ Which makes one wonder whether there is an undisclosed reason Sonos hasn’t provided us with a solution or even promised to provide one as part of its ongoing ‘update’ process.

If it’s Sonos’ intent to deny access to our playlists as part of its future business plan, it behooves Sonos to candidly advise us of that fact, rather than simply ignore the many users who want to know whether and when we will regain access, along with the ability to edit existing playlists and save new ones.

Once we know what Sonos intends, we can exercise our option to stay with Sonos or go. Right now I’m staying because I’ve regained - with help from a 3rd party app — what was for me a key music playback function. I’m not staying if Sonos takes steps to disable that function for its own business reasons. 

 

 

Userlevel 7
Badge +16

So to answer your question @Rhonny, if your testing consists of one Wi-Fi network with an assortment of Sonos devices you will never discover 99% of potential pitfalls.

Which is why Sonos has Beta (and Alpha!) testers - many hundreds minimum.  To be successful, Sonos NEEDS to work in your typical house - not just in nigh on perfect environments owned and administered by network/IT experts/hobbyists.

However, ignore those testers at your peril - as evidenced by the dreadful experiences had by many over the last few months.

It’s quite ironic that many users have only been able to control their systems - or indeed, set them up using legacy Desktop apps or third party ones.

I prefer the desktop controller because everything is presented, rather than forcing me to scroll and dig for everything. As I watch younger computer/phone/pad users I find that they prefer sparse screens because that seems “easy”. I also think that they enjoy scrolling and drop downs. For me this constant need for digging is “complicated”.

Userlevel 5
Badge +7

Why can’t sonos let us run webb app on safari browser, it fails something about wrong screen size formatting or similar

I only have pc at work

On my Mac, I’m running Safari v17.5 (17618.2.12.111.5, 17618) and the web app is working fine here. 
What screen resolution do you have your Mac display set to?

i was trying to use it on iphone


On iPhone I’ve done this:

  1. Using Safari, login at play.sonos.com and save login info to iCloud

  2. Once the page opens, tap Aa on address bar and from menu select Website Settings >  Request Desktop Website. Tap Done.  (This will load that website as the required desktop version in the future.)

  3. Tap on Share icon and tap Add to Home Screen. Give the icon a name. 

  4. Start controlling Sonos using that Home Screen icon. (It remembers the session quite long but log in again if asked, Safari should ask whether to use the stored login info.) 

Turn iPhone landscape to see a better view. 

On iPad, it’s been enough to add the website via the Share > Add to Home Screen. The page layout is fine as is. 
 

The key is the desktop website view and Safari allows to define that setting by website unlike Chrome which has a global setting.

 

This works a treat, thanks

i jumped turn phone landscape at first 😁

Sonos could maybe suggest this to help users diagnose

Userlevel 7
Badge +17

Sonos has loyal, but somewhat older and somewhat complacent user base. Rich enough to buy speakers and having the space and housing to place them around but not willing to invest in becoming “tech savvy” as some of them call using a manual.

They share the last point with a new set of users, but not the first points. My kids only use headphones/Airpods with their phones. The Sonos speakers in their rooms do not get any use - only the bathroom speaker is used by them. When they move out there first housing will be shared and so the headphones will still be used. I do not see them buy any speakers or having the housing to place speakers. I think Sonos saw this demographic to and it scared the living daylights out of them.

I can see the move by Sonos to the headphones and more web based orientation. I still disagree with how they handled the introduction of the new app and the missing consideration they gave to their current user base. It seems the move to the cloud does not go lightly with a large percentage of the current users whose networks are not perfect.

Introducing the app in an unfinished state and dropping http and SMBv1 access to music libraries at almost the same time as introducing the new app only compounded the problem, again forgetting the current user base.

Reply