HTML/CSS based native interfaces are some of the hardest to use, least reliable, least accessible, least robust interfaces I encounter; The demo interfaces on their website all fit into the unusable pot.

I admit most/all of the interfaces I've personal used are using electron/webkit/ie to render which are all quite bloated. Is this different? It's not entirely clear and would be an important differentiator.

I still don't understand the draw though. The best native apps look and behave natively; using a platform like this prevents that or just makes it harder to accomplish. Using such a platform seems like it's entirely developer-focused and not-at-all user focused, which is a shame.

I had a similar discussion on reddit a long time ago, and posted this screenshot of various Linux music players compared to Spotify.

https://i.imgur.com/K44tJ2Y.png

Lots of native UIs (especially from the past) tend to all have the same "grey boxes" look. I don't see how that's universally better.

Another example was this part of Slack UI https://i.imgur.com/O71fdP5.png - how would you even do something like that with a typical native library? It would certainly take a lot more effort if you had to build that from a limited set of pre-existing components, instead of relying on the more free-form "rectangles and text" building blocks of the web.

I'm not 100% sure but I think the slack design can be achieved in wxWidgets. Yes the native apps look bland but why would I use an app that requires 500M to play music?

Why not? If it works ok and doesn't eat battery/CPU too much when in background, then who cares? For exapmle I like that I can plug my phone into the speakers (yay headphone jack), and control the music from a laptop on the other side of the room.

Also, it's more like 200 MB on my computer, most of which is predictably CEF. In comparison bundling Qt dlls would also add like 50MB if I remember correctly.

I'm talking about RAM not SSD. And no I don't have multiple computers in my house. A single laptop with 16G of RAM is all I have. I have to use it for work. We all know about music apps playing music while using less than 50M at any given time. If its in the background then even less. I know the dev experience is far greater in electron but its simply not performant. But if I were to launch a product on all platforms then I'll go for electron probably cause its the fastest to market

RAM's about the same, hovering slightly below 200MB (Windows shows a sum of all the different Chromium processes). Which for me is firmly in the "who cares" territory. Lightweight music apps don't have the online playlists, discovery mechanisms (Discover Weekly, etc.) and all that other stuff.

They could do though. All the smarts of Spotify comes from their APIs. There's been a bunch of third party low-resource clients / integrations for spotify; despotify, mopidy, recently this thing: https://github.com/hrkfdn/ncspot

Unfortunately iirc the neat dynamically generated playlist stuff isn't supported because it's not exposed properly through their APIs. Certainly when I tried to use Spotify's own libspotify its functionality was crippled to static playlist management, searching for stuff, and playback. despotify was in a similar state at the time.

Also - Spotify sucks HARD at doing all the stuff it does, and I blame this entirely on the UI implementation. The service, I love. The apps, I have become to loathe. They used to be nice and quick and responsive. Now? It can't even get shuffle right!! My mid tier smartphone takes 10 minutes to load search results or my own playlists sometimes; something i've encountered across multiple devices. The desktop app crawls on my 24gb 8-core workstation.

Conversely, I can have a 200gb library of music loaded into mpd or foobar2000 or vlc in all sorts of exotic (and higher bitrate) formats and from weird and wonderful local and remote storage and play it all on shuffle and have all the albumart showing and it organised neatly into a searchable library via the id3 tags and have volume normalized with replaygain and it'll do it in under 20mb and has been doing so for a decade.........