.Net MAUI


Userlevel 2
Badge +4

Now that .Net 7 has shipped and MAUI is becoming increasingly visible and viable, are there any long term plans at Sonos to leverage these technologies?

It is now possible to create a single .Net Sonos platform library that handles all of the device management and UPnP stuff that can be then be reused across Windows, Android, iOS, macOS and now Tizen (Samsung TVs and so on), one could then support a Sonos app on all these platforms.

What do Sonos think of these technologies and the viability of developing a Sonos software ecosystem based on .Net?

I got a basic controller app built a few years ago that ran on Microsoft Phone and Surface (back when it was all about “Store Apps”) and created a pretty sophisticated C# class library for managing UPnP, so I know that this is certainly technically feasible, all that code was for .Net Framework too, with .Net Core and SDK projects today this kind of development is much easier.

 


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.

3 replies

Userlevel 7
Badge +18

Hi @Korporal 

Thanks for your post!

We do not comment on future plans or product roadmaps, so I am unable to answer your question. We are, however, continuously looking to improve our software, so I have no doubt there will be changes of some kind on the way. Whether or not they relate to your post, I have no idea.

I Googled MAUI and it appears to be an island in Hawaii, if that’s any help 😁

 

Userlevel 7
Badge +23

The Desktop apps are frozen, so that isn’t going to happen.

My iOS app is built on .NET Core and shares much of the underlying network code with my older Windows app, but I use Xamarin Forms for the UX on iOS which is not a sophisticated framework. MAUI is essentially an updated Xamarin Forms.

Sonos like to keep their app UIs separate - when I worked on the official Windows Phone app we started with a copypasta’d version of the C# code from the Desktop (WPF->Silverlight 8). The XAML was not sharable, and it was quite complicated - not sure Xamarin could have handled it.

All of the Sonos apps are built on sclib which is a shared chunk of C++ that sits under all of the apps (Desktop and Mobile).

Userlevel 2
Badge +4

@controlav @Corry P  - Well yes, I know they froze the desktop app and I can likely understand why. I’m asking if with the advent of MAUI there’s now the potential to resurrect a desktop app for Windows by creating a single underlying codebase that is fully portable across Windows, Android, iPhone and so on.

Doing that before was very challenging and as you point out relied on the C++ codebase, possibly cloned or derived from earlier Intel reference code.

Of course there might be some technicalities that are not fully accessible across all platforms like some of the TCP/IP and UDP stuff needed, but if there is no such restriction then there is scope for such an undertaking.

The UI’s can be decoupled from a “back end” so to speak and could be pretty thin UIs too I suspect.

I know that Sonos have some proprietary stuff too, some of the stuff they do under the hood with UPnP seems (to me at least) to be deviations from the standard (or perhaps a specific interpretation of that standard).

As I’m sure you know too, one can perform a range of basic control operations on a Sonos system just by using some of the Intel UPnP tools, one of the reasons my own attempts to build a rich app were sometimes a struggle, is because there are things going on in Sonos’ code that are proprietary and undocumented and I had trouble unravelling some of that.

They could make some of the core design open source too, I don’t know if they have ever considered that.

The current desktop app has some strengths too that are missing from the iOS app, as this post shows.