Skip to main content

Whilst reading the Flutter 2.0 announcement from Google, it states that Sonos use Flutter to build their apps. With the 2.0 release it means that same app can be deployed to web/windows/mac with no code changes. Do we think that Sonos will release their app on these platforms?

I suppose it might be possible, but I’d consider it unlikely, due to the additional potential support required. I’d think they would want to stick to their current model.


I suppose it might be possible, but I’d consider it unlikely, due to the additional potential support required. I’d think they would want to stick to their current model.

 

I tend to agree here.  Although Google wants to present it as if there’s no additional development and maintenance, it never quite works out that way.  As it stands currently, the android app and iOS app do not have all of the same functionality, and it’s likely the same would be the case for other operating systems.

Then there is the argument that a browser based app would be universal.  Except that there would need to be a web server somewhere, either internally in each sonos system in people’s homes, or in a Sonos cloud server.  The Sonos devices where not created to run a web server like that, and I don’t think could easily accommodate this.  As far as a cloud server, that would take resources and mean that the cloud would need more access inside your home network.  A Sonos hub on your internal network would be ideal, but I can’t see Sonos developing this, or customers buying it.


Flutter is hardly the first cross-platform framework and it won’t be the last.

The guts of the controller code is already shared across all platforms, its called SCLib and its written in C/C++.

The UI on the controllers could do with some portability IMHO, and many options are available for that today. No idea if Sonos will switch. Today the controllers use native UX libraries on top of Java/C#/Objective C and that must be a development burden, with new features having to be added separately to each and every platform. Then tested. That’s not how I would do it.


Today the controllers use native UX libraries on top of Java/C#/Objective C and that must be a development burden, with new features having to be added separately to each and every platform. Then tested. That’s not how I would do it.

 

The article above suggests Sonos use Flutter for the app, presumably the S2 app.


The article above suggests Sonos use Flutter for the app, presumably the S2 app.

Ooh I missed that, that must be the S2 app then. On Mobile anyway I guess, on the PC app remains WPF.


I’ve been mucking around with Flutter/Dart on my ChromeBox.  Was able to use and example app to quickly build and install an apk that is simply an embedded browser pointing to my LMS instance, which can control my Sonos speakers (along with many other devices).  FWIW, Sonos devices do have web servers built in, it’s how they are discovered via UPnP.