Hey if Sonos can just up and screw their UI then I can just up and decide to never use them for future speakers. Time to check the resale value of this garbage in case they can't fix the UI accessibility like yesterday.
Yeah I would probably be selling my Sonos shit if I had any. They claim they are going to put in some fixes by the 21st so maybe it's worth hanging around for a couple of weeks, but I am overall very disappointed with how they handled this. They could have just not released the app update until it was ready for everyone. Is it too much to hope that some big company will do that someday? Probably.
@simon I don't want to be overly pessimistic, but there is some suggestion that they may be using a cross-platform UI toolkit like React Native. That makes accessibility many times harder if true, and requires a level of dedication Sonos haven't shown thus far.
I'm not hugely affected, given that I do most things via AirPlay and voice. The resale market for Sonos equipment in my area is also non-existent, so I don't have much choice but to hold onto my stuff. Nevertheless, I'm not hopeful. @talon
@jscholes @simon I've been thinking about grabbing the Android app to find out if they're using React Native, Flutter, or something else. I guess there's no easy way to peek inside third-party iOS apps these days.
@x0 It's possible. But it's hard work, and none of the options (including React Native) are going to give you perfect, native-feeling accessibility out of the box. There will always be something off, and it's just a question of how much it ends up mattering to the user. Teams that opt for these toolkits also tend to lose some of the guardrails that native UI provides. @simon @talon
@nick I'm not claiming it's impossible to create a positive outcome with certain cross-platform UI toolkits, only that it's a lot harder. When dealing with a mainstream company who wants to replace platform-specific expertise with interchangeable genericness, that is a problem... for us.
The evolution of software development over the past decade has been very frustrating. Little of it seems to makes sense, even to those of us who are right in the middle of it.
@nick #Sonos has replaced its app not because they truly think the app is better. But because they can replace specialised Android, iOS, Windows, and macOS teams with one generic team who know how to use cross-platform tools.
It goes beyond that, though. Look at the ideas behind the new home screen, which essentially can be described as: "put what you want on it". Is that primarily a user-facing improvement? No.
Rather, it's a reason to not rely on designers who can carefully think through information architecture, viewport sizes, user flows, and the best ways to present information. Make it the user's problem so that they can fire the people whose responsibility it used to be, or move them to another team where they won't be able to do their best work and will eventually quit and not be replaced.
This update goes way beyond #accessibility. It's a fundamental shift in how they do business, and it will be shit for everyone. That, more than the lack of #VoiceOver support, is what will probably cause me to move away from their ecosystem.
@jscholes @simon I finally looked at the Android app. (I'm not a Sonos user, but I'm curious about this whole disaster.) It's Flutter, which is the other major cross-platform mobile UI toolkit. That puts the app at a further disadvantage, because Flutter renders its own widgets and has to implement its own accessibility for those widgets, rather than wrapping native ones.
@matt @simon Wonderful. The only experience I have with Flutter came when a prominent accessibility figure was touting how much progress had been made with it. I downloaded the example app they were talking about, and found it to be one of the clunkiest things I'd ever used on my phone.
@jscholes @matt The best example I've ever seen of what I know to be a Flutter app is Aira. The entire app is contained in a dialog which doesn't focus by default. Lots of other sections of the app are nested dialogs that also don't focus. keyboard access is clunky at best. Normally, when you load a Flutter app in a browser, it comes up with an "Enable Accessibility" button. Aira seems to do this automatically, but I've seen the button get focused briefly before accessibility mode triggers. The worst example I've seen is a phone provider in the Philippines. With accessibility mode turned off, I can't read a single thing in the interface. With it turned on, the only way to focus text fields and other controls is to tab to them. The mouse won't focus them, NVDA can't focus them. So I had to get visual assistance with accessibility mode turned off, relying 1000% on the agent. I don't know how much of that is PLDT's fault, but I don't really care. No framework should allow for the creation of such an abysmal experience, and having to press a special accessibility button is bad news, as I hope we can all agree.
@jscholes @simon @matt Yeah, I feared that it is Flutter we’re dealing with here. Somehow I thought even ReactNative apps couldn’t be this bad, since that thing does implement rather sensible native accessibility API wrappings. So unless you only used div elements in the React code, things would be reasonably semantically correct, and even the web app spun from it would be kind of accessible. But Flutter apps and their web counterparts are, as Simon said, a real real bad mess. If compiled for the Mac, there is no keyboard access other than tabbing to randomly focusable elements. And considering Flutter is a Google initiative, it is horrifying that it is as bad as it is. Google should know better. Geez, this is really going to be a long and winding road for the Sonos app and eco system. I no longer believe in their promises of fixing the accessibility by end of June.
@Marco @jscholes @simon @matt Can they actually fix this in any way except hiring a bunch of C++ programmers to work on Flutter itself and potentially forking the whole framework?
I think this rewrite was intended as a cost-cutting measure, it might just end up being the exact opposite.
@miki @jscholes @simon @matt I don’t see how. From what Simon reports, anything that has a special accessibility mode is pretty much doomed to failure. Yeah I know, Google Suite has an accessibility mode, too, but they are substantially bigger than Sonos, and with the introduction of Braille mode, they rectified some of the extra stuff and relied more on proper HTML again. But for Sonos, this is going to be a huge huge undertaking. They really couldn’t have picked a worse framework in my opinion.
@Marco @jscholes @simon @matt I think the reason for an accessibility mode on the web is just performance and missing APIs. As far as I know, it's normal for desktop GUI frameworks that do their own drawing to only interface with the underlying A11Y APIs if there's an asssistive technology running. This is not something you can check on the web, so your options are making your app slower for everyone and requiring AT users to press a button.
@Marco @miki @jscholes @simon @matt Yeah, agreed. It would also explain the scrolling issues Mason mentioned, I’ve seen a lot of flutter apps that scroll poorly. Somehow I wonder if this isn’t going to give them more problems in the longterm, I don’t know if Google killed the Flutter team entirely like @dhamlinmusic said but I read an article a few days ago the flutter and Dart team was hit by massive layoffs and in general flutter issue backlogs are growing so it’s probably closer than further to the google graveyard. Also, the prevailing theory on Reddit says they had to release this app *NOOOOOW* is because of the headphones which are manufactured, maybe starting to ship out to warehouses, but they couldn’t make it work with the old S2 app and had to shift resources ASAP so they could have the software ready. Well it still fucking sucks.
@pitermach @Marco @miki @jscholes @simon @matt Yeah, bet we read the same articles, I thought one of them had an update that basically the major layoffs were everyone not being reassigned and that the division was effectively dead.
@Marco @jscholes @simon @matt I thought Google dropped flutter entirely? I remember reading that somewhere, that they closed the team and effectively killed it.
@dhamlinmusic @jscholes @simon @matt I haven’t heard that, but wouldn’t surprise me, since their own efforts didn’t go anywhere. Then it is even worse basing such an important app on this framework. Yikes…
@Marco @jscholes @simon @matt Yeah, in their recent reorganizing and layoffs I believe they dumped the entire division and reassigned or cut everyone working on it.
I’m somewhat sad that I only just bought a new speaker. I added another error 300 to my lounge room Setup to make a stereo pair. And they sound amazing! I suppose one of the advantages to the way I do things most of the time is that I don’t need the app for the most part. so hopefully I won’t have to worry about that until they fix things, but if I don’t see some fixes in the next few weeks? That might be different.
@SerenaTori yeah very unfortunate. I've had these for a very long time. And the app was definitely a lot better when I got it compared to even what it was before the update now.
actually curious, do we have a convenient alternative? Tried Google Home Maxes and the CHromecast protocol seems to be pretty prone to stutters/dropouts. Sonos does this better, but not familiar with other solutions and their accessibility, pretty much refuse to even consider HomePod or whatever the newest iteration of that is called these days
@zersiax Not sure. I also refuse to use Google because it's... you know... Google. You'll buy the thing and by the time you get home and unbox it it's discontinued.
@zersiax We tried replacing our first generation Sonos speakers with a bunch of Amazon Echoes, but their room management and streaming capability at the time were far inferior to Sonos. We then gradually upgraded all broken speakers to generation current, and until yesterday, were very happy. I prevented the upgrade, but my sighted partner got it and hates with a vengeance. Sonos have really taken a perfectly useable app concept and totally broken it.
@Marco @zersiax Well, for what its worth, they officially stated that they want accessibility to be back at where it was until end of June, and the first improvement update should happen in roughly two weeks. Lets just wait until then before just ragequitting again. My system will continue to run as usual without having to use the app in the meantime.
@ToniBarth @zersiax Yeah, I sincerely hope they can deliver on that promise, because I actually don’t want to get rid of my current Sonos setup. But previous experience tells me that they won’t be able to meet this ambitious timeline from what I hear about the state the new app is in right now. Unless they’ve already been on fixing stuff for several weeks, and the build released yesterday is actually several weeks old. Then they might be able to get it done.
@ToniBarth @Marco @zersiax Still a shitty thing to do in my opinion. I paid just as much for these things as a sighted person. I'm a less valued customer though. I'm definitely not just immediately rage quitting them. Had these things for way too long for that. But I'm not beyond doing so if they don't stick to it. And yes. I do use the app.
@Mira 🤞🇧🇬🇭🇺 @Talon Yes this is what I'd prefer my self as well. With some single board computers hooked into traditional speakers and #mpd based #upmpdcli I can make it play it in sync. I can get access to streaming services including BBC sounds, qobus, tidal, radio-browser.info and other sources like subsonic compatible servers. lesbonscomptes.com/upmpdcli/
simon.old
in reply to Talon • • •WestphalDenn reshared this.
Talon
in reply to simon.old • • •simon.old
in reply to Talon • • •Talon
in reply to simon.old • • •Keri Svendsen
in reply to Talon • • •James Scholes
in reply to simon.old • • •@simon I don't want to be overly pessimistic, but there is some suggestion that they may be using a cross-platform UI toolkit like React Native. That makes accessibility many times harder if true, and requires a level of dedication Sonos haven't shown thus far.
I'm not hugely affected, given that I do most things via AirPlay and voice. The resale market for Sonos equipment in my area is also non-existent, so I don't have much choice but to hold onto my stuff. Nevertheless, I'm not hopeful. @talon
Matt Campbell
in reply to James Scholes • • •x0
in reply to James Scholes • • •James Scholes
in reply to x0 • • •x0
in reply to James Scholes • • •James Scholes
in reply to x0 • • •Nick Giannak III
in reply to James Scholes • • •James Scholes
in reply to Nick Giannak III • • •@nick I'm not claiming it's impossible to create a positive outcome with certain cross-platform UI toolkits, only that it's a lot harder. When dealing with a mainstream company who wants to replace platform-specific expertise with interchangeable genericness, that is a problem... for us.
baldurbjarnason.com/2024/react…
@x0 @simon @talon
React, Electron, and LLMs have a common purpose: the labour arbitrage theory of dev tool popularity
www.baldurbjarnason.comJames Scholes
in reply to James Scholes • • •@nick #Sonos has replaced its app not because they truly think the app is better. But because they can replace specialised Android, iOS, Windows, and macOS teams with one generic team who know how to use cross-platform tools.
It goes beyond that, though. Look at the ideas behind the new home screen, which essentially can be described as: "put what you want on it". Is that primarily a user-facing improvement? No.
Rather, it's a reason to not rely on designers who can carefully think through information architecture, viewport sizes, user flows, and the best ways to present information. Make it the user's problem so that they can fire the people whose responsibility it used to be, or move them to another team where they won't be able to do their best work and will eventually quit and not be replaced.
This update goes way beyond #accessibility. It's a fundamental shift in how they do business, and it will be shit for everyone. That, more than the lack of #VoiceOver support, is what will probably cause me to move away from their ecosystem.
@x0 @simon @talon
Matt Campbell
in reply to James Scholes • • •James Scholes
in reply to Matt Campbell • • •simon.old
in reply to James Scholes • • •Normally, when you load a Flutter app in a browser, it comes up with an "Enable Accessibility" button. Aira seems to do this automatically, but I've seen the button get focused briefly before accessibility mode triggers.
The worst example I've seen is a phone provider in the Philippines. With accessibility mode turned off, I can't read a single thing in the interface. With it turned on, the only way to focus text fields and other controls is to tab to them. The mouse won't focus them, NVDA can't focus them. So I had to get visual assistance with accessibility mode turned off, relying 1000% on the agent.
I don't know how much of that is PLDT's fault, but I don't really care. No framework should allow for the creation of such an abysmal experience, and having to press a special accessibility button is bad news, as I hope we can all agree.
James Scholes
in reply to simon.old • • •Marco Zehe
in reply to James Scholes • • •Mikołaj Hołysz
in reply to Marco Zehe • • •@Marco @jscholes @simon @matt Can they actually fix this in any way except hiring a bunch of C++ programmers to work on Flutter itself and potentially forking the whole framework?
I think this rewrite was intended as a cost-cutting measure, it might just end up being the exact opposite.
Marco Zehe
in reply to Mikołaj Hołysz • • •Mikołaj Hołysz
in reply to Marco Zehe • • •Matt Campbell
in reply to Mikołaj Hołysz • • •@miki Yes, that's exactly the reason why Flutter requires you to press a button to turn on accessibility.
@Marco @jscholes @simon @talon
Matt Campbell
in reply to Matt Campbell • • •Pitermach
in reply to Marco Zehe • • •D.Hamlin.Music
in reply to Pitermach • • •Pitermach
in reply to D.Hamlin.Music • • •D.Hamlin.Music
in reply to Marco Zehe • • •Marco Zehe
in reply to D.Hamlin.Music • • •D.Hamlin.Music
in reply to Marco Zehe • • •Talon
in reply to Talon • • •Serena 🏳️🌈
in reply to Talon • • •Talon
in reply to Serena 🏳️🌈 • • •Florian
in reply to Talon • • •Talon
in reply to Florian • • •Marco Zehe
in reply to Talon • • •Toni Barth
in reply to Marco Zehe • • •Marco Zehe
in reply to Toni Barth • • •Talon
in reply to Toni Barth • • •Winter blue tardis🇧🇬🇭🇺
in reply to Talon • • •Peter Vágner
in reply to Winter blue tardis🇧🇬🇭🇺 • •Winter blue tardis🇧🇬🇭🇺
in reply to Peter Vágner • • •