514 comments

[ 11.1 ms ] story [ 370 ms ] thread
Spotify is in the process of killing the librespot project that this and most third party Spotify players are built on. I think the golden age of music streaming is coming to an end. I’ve migrated to a self hosted library with streaming and radio for discovery. I hope we’ll see many projects in the space flourish. Many, like Navidrome and the whole OpenSubsonic ecosystem, seem to be doing quite well.
> radio for discovery

Would you be willing to share a bit more about this setup? The only thing keeping my on streaming is the fact that its almost impossible to find new music otherwise. I know LastFM exists but it just doesn't click for me the way that streaming does. I like discovering music organically.

I left spotify around two years ago for a self hosted option (I mostly use navidrome+feishin). Music discovery was a concern for me as well, but then I realized that I didn't like the idea of spotify curating which music I discovered. So far, this is what has worked for me:

- Actually listening to the music I have now. I think the art of listening through full albums has slowly died, but there is so much music we're ignoring because we just listen to Artist's top tracks.

- Word of mouth. Asking my friends what they listen to. This is a way that people used to discover music and I've found so much good music this way.

- Bandcamp. Bandcamp is SUCH a good way to discover new music. You can listen to the music in app, there are great articles and you can actually support the artists!

Epic bought bandcamp many moons ago. Did they enshittify it or is it still going strong?
Epic actually sold Bandcamp 3 years ago. I only started using it lately so I can't say how it was before, but I think it's still good.

https://pitchfork.com/news/epic-games-sells-bandcamp-amid-la...

(comment deleted)
I've been using it sporadically over the past 10+ years and have not noticed any major changes, at least for my limited use.
Thanks, I did some digging. My biggest issue is Andrew Jervis not running Bandcamp Weekly anymore. I loved that show :(
I have pretty much the same setup. The only thing that bothers me with navidrome+feishin is that gapless playback is not working perfectly.

Also, a great resource for discovering new music is the public library. They often have a curated CD section that I then rip into FLAC. I've had great chats with the people in my town's library, and I often pick a totally random CD off the shelves and discover some amazing artists.

While moving from spotify to youtube music a few years ago I bought a vinyl player to listen to full albums and fell for it. Then when I moved to curate and self host my collection with Plex and Plexamp I realized I'm not using the player anymore since I'm using Plexamp to listen to albums. Plexamp is not perfect and not open source unfortunately, but it's a really good non-enshitified product.

I had to migrate away from youtube music since the experience was infuriating me every time. I love making playlists on the go. In youtube music after adding 30 tracks to the play queue, tapping 1 track accidentally deletes the play queue and plays this track. This made me feel bad every time it happened.

I don't see how it is just accepted to lose progress in 2026 as if we're using win95. It feels like 80% of the sw I use provides a caveman UX, not leveraging the tech, leaking implementation details and being constrained by technical reasons. On the other hand, working on Prepbook[0], I realized how hard it is to create the perfect experience and how it's even harder to justify it financially.

I'm doing discovery by talking to people, I love it. Every time I listen to Monolink I recall my co worker that just said "check out monolink" when he heard I love Ott. I love that it makes the experience about connection to people as well.

[0] https://prepbook.app

Mostly I listen to web radios, not always in a language that I master (hello Japanese). And Shazam plus Spotify is still a killing combo, for me.
Regarding Bandcamp, I find following small labels to be a great way to find new music. Small labels tend to release music of similar style and quality. They often also have deals on bandcamp where you can buy an entire label's discography for crazy cheap, like a hundred or so albums for $50!
using nts.live and and fip radio -> https://www.radiofrance.fr/fip at the moment for same purpose. Radio France allows to save liked track names in profile to look up later.
In addition to those two bangers, BBC6 and RNE also have shows to discover new musics. PS: RadioParadise is also a safe place for good music.
Call me a boomer but I’ve had a ton of fun with XM radio. I can find new music on Bandcamp but nothing compares to hearing some classic from the 80’s that you would have never thought to put on when you’re driving home after work on a Friday.
I don't know about you but spotify discovery feels like the least organic discovery possible. Its so homogeneous and predictable and corporate slop adjacent it makes me cringe just thinking about it.
I've discovered so many great artists through Spotify, and been to many of their shows (which Spotify also helps surface with their "Live Events" feature). I regularly get artists with less than 100k listeners in my Discover Weekly, which I then look up, and find that they did a concert on KEXP, and the comments all proclaiming "I knew good music wasn't dead!".

So I can say for sure that I don't share the slop sentiment. Sure, there's some generic filler every now and then, but any non-cohesive mix, as opposed to a carefully curated album is going to have songs that naturally become "fillers".

Just now, I discovered that Spotify snuck in "The Juan Maclean - Running Back To You (2014)", which is a cover of "Brian Bennet - Solstice (1978)". Neither songs are completely unknown, but they're also not exactly Bruno Mars.

I don't know if this is pure luck or algorithmic rhythm analysis, but for me it's working.

Hype machine used to be so good for this. I haven't used it for a long time but it looks like it is still going in some fashion.
I used to use hypem soo much during the music blog days and had a subscription etc but it seemed to stop working or something so after a while I stopped using it. I will have to check it out again
I listen to Flow State, SomaFM, and aggregate from local shows and a few people I follow on social media among other discovery platforms. (I don’t have a favorite yet.)

I found that Spotify was increasingly recommending AI artists and songs I already knew. It surfaced very little outside of my comfort zone and effectively nothing that wasn’t new. There’s a whole world of music out there that Spotify wasn’t showing me.

I stopped listening to Pandora well over a decade ago because its algorithm eventually decided that I only liked 12 songs in the whole world.
I just listen to NTS most of the time.
nts is all fire until a dj plays mp3 bitcrunched track that just hurts your ears
There is nothing better plexamp but unfortunately after plex raised their prices it might not be worth it for most
> its almost impossible to find new music otherwise

I don't know where this opinion came from (Probably Spotify's PR department) but it's just so weird to me. Do you think people didn't find new music before streaming? It's not impossible, you just have to talk to people.

> Spotify is in the process of killing the librespot project

How could they possibly do that? They cannot prevent people or AI from reverse engineering their APIs.

Depends on how much they care. They can take down repos containing any keys, or use heuristics to block clients.
Technically no, but they can just ban you. It would not be impossible to detect.
Anthropic can prevent people from using their models with the subscription plan outside Claude Code, why couldn't Spotify?
You're right, they can't prevent that, but they can change their APIs in breaking ways enough to make librespot unreliable, to the point it's just not worth it.

I assume that for a long time, Spotify was content to ignore stuff like librespot... they didn't help them, but didn't harm them, and generally to keep things stable enough that a project based on librespot . It does seem like that balance shifted over the last year, and now librespot is constantly breaking in new and mysterious ways. Some accounts work, others don't. Some tracks play, others don't. The devs did a great job fixing that stuff, but it's a game of whack-a-mole, and Spotify seems to have really upped the frequency of how often they break things. And that's for the lossy decoding, which is functionality that used to be pretty stable. Spotify reached out and (I assume) made some threats that explicitly shut down their work around lossless audio [1].

FYI -- I'm not associated with the librespot project, but I was actively working on a project that relied on it. Eventually I gave up in favor of self hosting, because I want my music to not break all the time. Shame, because I used to like Spotify a lot and now I'm actively looking to move away from it. That's one premium family plan subscription they're gonna lose! I'm sure they'll feel the sting.

[1] https://github.com/librespot-org/librespot/issues/1583#issue...

>I think the golden age of music streaming is coming to an end.

Already ended for me. They killed the plan I was on, and then started sending me begging emails to sign up for a new, more expensive one.

But once I experienced their platform with ads, I just stopped using it entirely.

> I think the golden age of music streaming is coming to an end

There was a world before Spotify. Though the music labels didn’t much like that world we can easily go back to it.

> There was a world before Spotify

There was, and it was definitely not "the golden age of music streaming".

> I think the golden age of music streaming is coming to an end.

It's just getting started.

We're going to vibe code the entire enshittified internet to be ours once again.

The dream of the 90's and 00's is alive again. The indie web is going to become unstoppable.

We can build anything of size and scale with the limited spare energy we have now. Every product will be reborn without big tech tendrils.

> We're going to vibe code the entire enshittified internet to be ours once again.

It’s such a wishful thinking, but no it doesn’t and won’t work this way. Code != useful product. Plus today’s web is all about fabricated content, AI bots, cloudflare challenge walls and all other annoying stuff. The very idea of being able to create something in seconds is already killing internet.

Garbage being created at unprecedented rates does not diminish the fact that LLMs are acting as a positive multiplier for useful tools; this very item being one.

No one in all these years had gone through the effort of replicating the Spotify client with a snappy fast interface for a reason. Everything had been an integration into already existing software, or simpler interfaces, because the effort was not worth it. The equation has changed.

You can look at the glass half full all you want, my glass is overflowing.

This is the best year in all of my 20 years in tech. I'm creating so much stuff and it's all I've ever wanted.

This is the dream of the 2000's, and big tech can't stop us anymore.

I think I'm going to write my own music player soon that behaves exactly like I want it to. Maybe this weekend. Or maybe right after my home automation project. But I can probably squeeze them both in.

It's like Christmas every day now.

who said anything about internet
Why are they killing librespot?
Probably for the same reason Twitter killed their API, more control over the experience and to serve ads/cross-promote. More cross-promote for Spotify.
CIUT has some great shows and most are available online. University of Toronto.
What makes you think Spotify is killing it? I know they aren't supporting FLAC but otherwise I don't think they're actively trying to stop it as opposed to not really caring if they support it (which is more "We don't care" as opposed to "We have to stop this")
Librespot no longer works for new accounts. APIs are being gated off and they’re applying legal pressure to dissuade projects from reverse engineering anything new. At the end of the day, they can turn the tap off anytime they want, whether by technical or legal means. I tired of having so much of my music experience at risk and chose to migrate on my own terms.
They can only turn the tap off because those projects operated in ways that required them to leave it on.

Biggest mistake most librefication projects make is to do their project out in the open where they can easily be subject to legal pressure, then fall into complete disarray the moment that pressure appears. They can't move underground once pressure starts, because everyone already knows who they are.

> Biggest mistake most librefication projects make is to do their project out in the open

That's not it. Most youtube downloaders are not developed in the open and Youtube still breaks them every other week by changing on purpose the way they operate. And, unlike highly obfuscated instructions, studying the network queries used by a simple app does not require expensive reverse engineering efforts from Spotify engineers; essentially, it's the same as developing in the open.

The only case i can think where obfuscation might help would be if the actual Spotify API consumers were servers by the app developers (or some form of obfuscation via residential proxies) and the app developed an entirely different API to/from its servers. But then, you're back to the developers and hosts can receive legal threats, etc...

Author here.

I haven't seen any evidence of Spotify killing librespot. To me the project looks active and works totally fine. I don't have a new Spotify account to verify the claim above.

I suspect wilted-iris is conflating it with the recent changes to the Web APIs: new developer apps can't use all endpoints anymore. In Fastpotify if you add your Client ID I use both an older developer app and your app to keep everything as fast and seamless as possible.

Have a look at the librespot pinned issues, you’ll see the reports from folks experiencing this. You may also be able to find the legal threats they sent out to third party client libraries if you search carefully (many have been redacted.)
Tools for piracy are much better today than they were back in the Napster or grooveshark days. It’s actually kind of shocking to me that we haven’t had a popcorntime moment for music again. Nothing technical is preventing the creation of a perfect decentralized anonymous p2p FLAC streaming platform with plausible deniability.
How would the plausible deniability piece work? If you stream some bytes to someone else, you can't deny doing it. Unless you imagine this working over Tor, idk what the performance of Tor is these days but I never thought it could support such an application.
Have you heard of Soulseek? It's an active p2p music sharing platform.
To those of you who might get any ideas from this comment, Soulseek already has a growing problem of people vibe coding "free Spotify" apps that end up hammering a few accounts without giving anything back to the community by hosting. The solution seems to be some combination of automated hosting checks and captchas via PM, which are tiresome to maintain and might just drive more people off from hosting altogether.
Spoiler: Spotify has always been terrible. The golden age of music streaming was Zune pass where you could stream and download 10 songs/mo.

And arguably Pandora always had a better radio algorithm than Spotify.

The first Spotify client, the one in Qt was actually really good. Things started going downhill slowly when they integrated Facebook then very fast when they threw everything through the window to rewrite everything in electron.
> Spotify has always been terrible.

It wasn't, really. At least not completely. I fully agree on the algorithm - I miss times of scrobbling to Last.fm, which was much better at this. (Spotify always supported scrobbling to Last.fm from their client, surprisingly).

Spotify used to be snappy and worked really well on Linux. I even used it for local libraries, as it was one of the few options that didn't crash on mine.

It was at the beautiful time when we realized web apps can have local storage, Google released that experiment called Chrome to "show public how modern browser can evolve and inspire other browser makers how to progress". We know it ended up in "extinguish the market with it", unfortunately.

But Spotify chose native app approach - they distributed it as packages. Deezer on the other hand, back then (I don't know now) had just native web app that could pull music locally. I think it was an extension of Chrome (?). It also worked perfectly fine on Linux, almost two decades ago.

We had a lot of decent options back then.

Scrobbling to Last.fm isn’t music streaming.
It's music discovery. And last.fm does it well, always have.
But the topic is music streaming golden age, not music discovery golden age.
Yet it was mentioned over 50 times under this submission. So I guess it is.
I've also canceled my Spotify sub three weeks ago and migrated to Navidrome. I'm still not quite satisfied with the available clients, I'm using Feishin. Fastpotift looks like a nice candidate to extend to support Navidrome.
I'm glad they're doing well but I would guess only a tiny fraction of the people who use Spotify would be capable of setting up Navidrome. I tried and went back to Plex. I wish it were otherwise but if something takes more than a few clicks to go from zero to music that leaves 95% of users out! I hope these projects get more accessible though.
> Spotify is in the process of killing the librespot project

Source?

Thanks, but don't see how this Issue backs that up.
Not sure what you call it, but new accounts are no longer able to use librespot.
Also, https://github.com/librespot-org/librespot/issues/1737

We are seeing a slow but steady stream of small breaking changes, designed to gradually piss off everyone involved. While avoiding a large breaking change that attracts a load of bad publicity.

Sadly this strategy is the only good idea they've had in years.

If anyone other than me really likes classical music, I thoroughly recommend Hyperion Records. DRM free downloads in your choice of codec, one to two free CDs worth of sampler per month to download (with a jewel case PDF!) and some truly excellent world leading groups and beautiful new music.
Thanks for sharing. I loved buying then downloading cheap samplers from punk and hardcore labels when I was younger. That was part of the culture and that really helped me discover new music and shaping my tastes. This is something that doesn't exist that much anymore and I'm glad to find this initiative. I try to listen to classical music but that's a very difficult world to discover, this will probably help by helping me to focus on few titles instead of jumping in the gigantic and maze-ish pool !
I really enjoyed this comment – thank you.

One part of the classical diaspora I think is both under appreciated and undergoing something of a renaissance is that of contemporary choral music. There are many great examples but two I'd like to draw to attention to two of those I have recently sung, and really enjoy:

(1) The works of Ēriks Ešenvalds,[1] a Latvian composer who was a fellow in composition at Trinity College, Cambridge and brought really a large part of the surprisingly rich eastern European singing tradition to the west. I had never heard of the Singing Revolution against the USSR in Latvia, Estonia and Lithuania – countries with a wonderful, rich choral tradition where music (and choirs) played a really nonzero part in the downfall of the USSR. All absolutely beautiful and a group I sing with has worked with a lot of composers from this part of the world. Amazing soundscapes with harmonies that are never quite as good in equal temperament as outside it and yet always tonal and beautiful.

(2) Desmond Earley and the choral scholars of Trinity College Dublin – who conjures up a rich sound world of very pure, Irish tones that almost sounds synthetic but is made entirely from human voices and traditional instruments. It is simple to sing but difficult to master. I would highlight Dúlamán, [3] a traditional song about the economic importance of seaweed.

[1] https://www.hyperion-records.co.uk/dc.asp?dc=D_HYP202607B – track 6 (the whole lot is free!) [2] https://en.wikipedia.org/wiki/Singing_Revolution [3] https://www.youtube.com/watch?v=3iRfI1ezYjA&list=RD3iRfI1ezY... – this was a sampler from hyperion too and I have the whole lot legally as flac.

I think they've archived all the old Linn Records stuff, which is excellent.
Your comment really brought me back to my first job out of college, I worked for Tower Records (RIP) as a call center customer service rep. Tower was known for being the best place to find rare classical recordings, and I recall the Hyperion label as being well respected. It always fun to talk to our customers that were classical and jazz aficionados.
What do you use to stream your local content? Using plex at the moment.
I feel I am in the golden age of music streaming right now. Just use Deezer instead of Spotify.

Perfect quality and it great selection.

I have a free Deezer account from my family. Shit is extremely barren. Some examples:

1. (already posted on HN) Wanted to try Midori's early stuff, but no "1st" EP nor "2nd" LP. Not on Spotify nor Apple Music either.

Only yesterday:

2. Looking at Bleach (the Japanese hardcore punk/noise rock band): nothing and they aren't extremely obscure or anything (https://rateyourmusic.com/artist/bleach-4). They're on Spotify (https://open.spotify.com/artist/5gRsPZZNgrkagQnDlyFZUC) but missing two LPs; on Apple Music too (https://music.apple.com/us/artist/bleach/74570682) and one more LP available.

3. Okay, let's try Meat Puppets' lauded second LP from my backlog... artist is there, but four first LPs aren't. On Spotify and Apple Music.

4. For fun, let's try to find that very obscure kote kei demo, (螺旋 (Rasen) - Hysterical Noi「z」e / Like「M」(1997)). Nothing, of course, but well, I can't even find it on private trackers or SoulSeek (got some mystery mp3s "somewhere").

So, if I were to stoop down to streaming, looks like Spotify/Apple are less worse here.

This is actually informative, thanks.

In my case, some music I want is unavailable, some releases from Discos Fuentes of Salsa Brava from the 1970s.

But, in this case, they are also unavailable from Tidal, Spotify, etc...

I use Deezer (in a browser tab, and on my iphone.) It's good, but far from great.

If several artists / bands share the same name, there will be one artist page with all of the artists/bands releases. The queue management sucks, I can add stuff to the queue, move / remove individual entries. That's it. If I added an album to the queue and want to remove it, I have to click a little cross one time for each track of the album. Notifications about new releases: great. Except the UI is a tiny dropdown, and hovering over an item removes the little marker signaling it's a new one. It's really difficult to catch up when there are more than 5 new entries. etc.

I pay for Deezer but I've never used the app. I download the music I want in FLAC using deemix.
Hey, don't spoil the party. I knew that. Many others also.

Now the dzr developers will break the functionality. On purpose.

I used to use Tidal, until they patched something, and now FLAC is impossible to obtain from Tidal. Hopefully it still works tomorrow, sheesh.

Mate, it's been several years. They know.
That Tidal change was very recent.
It takes five minutes to make a website look less obviously AI-generated.
The website looks great to me, clean and simple, perfect for a project like this. “Not looking like it was made by AI” isn’t something I value for itself in a website, any more than “not looking like it was made with injection molding” is something I would value in a plastic item.

Either it’s good or it isn’t, but it’s not good or bad because of how it was made.

> “not looking like it was made with injection molding”

Aside machining POM, what else is there. Injection molding tend to be great.

If it was a site made with AI it would be stuffed with way more ad copy, components, UI toggles, and small text. If this was made with AI, they seem to have restrained it from going on the gaudy UI mess of most AI generated sites that are what I like to think of as "Maximalist Minimalist". A hodgepodge of a design library.
Spotify used to use Qt for its desktop client. Good times.
This is actually wrong, it was never QT. It was however not built with web technologies back in the day
Good times. The old Spotify client was native and fast. I miss that. The new one is heavy and clunky.
Did it really? I remember that Wimp used Adobe Air and Deezer used Flash.
It supports WinAmp skins too… Dare I say it?
It really whips the llama's ass?
Fuck Spotify. Even if you don't care about the ethics of Daniel Ek's investments, the platform itself is crap. One of the lowest paying to artists, not paying at all unless they hit a threshold, and the catalogue is filling up with AI slop, which they push on users via 'radio' and 'mix' playlists, so they can pay even less royalties. No, thanks.
I've tested Deezer for half a year. The software quality was horrible.

Had a lot of crashes, it often took many many seconds to change between the songs and often getting stuck, the buffering algorithm was nuts and eating a lot of bandwidth.

Everything on a standard Pixel. Full 5G coverage was available.

Alternatives?

Qobuz have the highest per stream payout rate for artists [0], and have the best audio quality of all streaming platforms (better even that Tidal imho). They have desktop, mobile and android auto (and presumably carplay) clients, and an equivalent to Spotify Connect whereby streaming can be switched to a different client.

Downsides are no native client (same webview approach as Spotify), not as strong recommendations (though slowly improving), good but slightly quirkier UI (also slowly improving). For me the trade offs are worthwhile.

[0] eg. https://resources.onestowatch.com/ethical-music-streaming-pl...

Also, I know it's a bit niche, but Deezer does not have an equivalent of "Spotify Connect" protocol, which means that Network Integrated Amplifiers (like Onkyo A-50), CANNOT implement a player with good UX. Spotify is now king since they introduced lossless quality which is enabled by default in such amplifiers. The benefit is that there is no local streaming (e.g. Bluetooth) and no latency. The data come from Spotify directly to the amplifier and then your speakers.

So, Deezer that had a audiophile target audience, has effectively lost the game.

>The benefit is that there is no local streaming (e.g. Bluetooth)

how is a lack of an offline, standard, widely supported option a benefit?

I didn't say this is not supported. But it's not as good as streaming from Spotify directly to the amp, and the media decoding happens locally.

Adding the Bluetooth layer adds more layers of encoding/decoding, and generally speaking it has narrower bandwidth.

Nitpicking but those devices do not "benefit lossless by default" after Spotify started offering it. I was very disapointed that my Yamaha network receiver didn't get an update to support lossless from Spotify Connect.
When Russian soldiers come to rape, murder and genocide your people, there is nothing unethical about building weapons to resist. Are you a fascist sympathiser?
The best is to host your own, navidrome is great and easy to set up. But if you really wanna hate on one, it’s Apple Music, believe it or not, they will actually delete ALL your playlists that you made over the years if you stop paying subscription for few weeks or sometime for days, why? Because Apple says fuck you, you are renting and you are not entitled for anything, which also explains why they are now trying to have hardware as a service with their new renting hardware program.. at least spotify doesn’t do that and keep your playlist to export later.
Careful, you'll get downvoted by knee-jerk reactions from people who have absolutely no idea whatsoever about the harm Spotify causes to artists trying to survive in the music industry.
I already did ;)
I hacked the official client apart to hide some bullshit (like podcasts) and fix bugs that were pissing me off. Shared it exactly once and it stopped working within a month. Bugs were still there too

I stopped sharing after that.

Another site tricking users willing to look at the code into starting the repo instead.

How desperate do you need to be to resort to this?

I had to read the comment a few times. Do you mean "starring" instead of "starting"?
Yes sorry, fixed. Thanks!
No. The "Star" button is a simple link to the repo.
I stand corrected, and I'm glad i was wrong.
It’s not specific to this program, but I lately get this feeling that distributing widely a piece of software that exists for 5 days and saw a dozen releases in that period is stretching the open source trust model.
Think of something nerds will like (like this!), package malware, distribute, profit. That's the idea, right?
Software has finally started to get faster, and I love it. Pls don't consider this a spam, but if anyone is interested in a fast native Slack client, I'm building one, since Slack themselves don't want to: https://msga.app
Just tried your slack client, it has all the features I need and it is super smooth and lightweight, thanks!
Make MSTeams Great Again when? Amazing work btw.
Teams was never great to start with
I just looked through the slop Readme file, it looks like teams is supported.
Yes, Teams is supported, but since their API is really poor compared to Slack, the support is pretty limited.
Love it.

I did the same for Postman/Bruno.

Without looking at the codebase I am pretty sure it’s a vibe coded rust app, because this is what today’s most programmers understand about software.
and?
That's boring, and unmaintainable.
until someone comes up with a non vibe coded one ill be happy having at least a fast option
It's working way better than original client. What does it say about Spotify devs?
the commits are very fine grained and the text is unusually not AI.

I mean you can beat AI to do anything nowadays, but this looks not that bad

I'd argue nobody writes such long commit messages this consistently. I'm VERY sure this is fully AI generated.
The volume of commits is quite crazy. For example, he wrote a +486/-51 commit in 20 minutes (33287cb) with quite dense rust code. That's about 25 changes per minute -- very impressive! The docs also smell of LLM output, for example describing the app as native despite using egui/wgpu.

But hey, he's here, we can just ask him! @earcar

What about egui and wgpu is not native? Those are both generally what is considered running something natively. Both even mention running "natively" in their descriptions.

I guess what you mean is "OS-provided controls". In that case, ye that is not what this is.

If you're focused on lightweight, native and fast, I don't think you should use an immediate-mode GUI toolkit. Why does an app like this need to hit a 60fps framerate? It's not a game.
I was surprised to see an immediate mode gui toolkit.

They're great to integrate into a game loop because you control your loop, (and they're a delight to use) but I thought for perf retained mode was the way to go?

Am I missing something? Then again if the bar needing to be beaten is spotify's existing desktop app maybe it doesn't matter?

(comment deleted)
[dead]
“Claude, why did you use an immediate mode framework?”
That seems like the kind of name that's gonna earn you a C&D.
Would be great if it could get included in Flathub, without it, I'd rather have an AppImage than a Flatpak file I think
I think the key call out with this is how cool egui is (the Rust GUI library it uses). Check out their website: https://www.egui.rs/

The demos are very good: https://www.egui.rs/#clock

Edit: egui is an immediate mode GUI library written in Rust. egui runs natively on , and on the web it is compiled to WebAssembly and rendered with WebGL or WebGPU. Everything you see is rendered as textured triangles. There is no DOM, HTML, JS or CSS. Just Rust.

The anti-aliasing is broken, it doesn't apply gamma correction
Did you look at it recently? Until a few months ago text was a blurry mess but it seems like they've mostly fixed it now.
> Everything you see is rendered as textured triangles. There is no DOM, HTML, JS or CSS. Just Rust.

So that's why text selection doesn't work.

This feels like it would be an accessibility nightmare?

But maybe it could be cool for doing some advanced animations or rendering games or something.

I was about to come here and say that egui is a terrible choice for web. Everything is rendered in a canvas, so accessibility and extensibility is thrown out of the window. Basic browser functions like pinch-zoom don't work, it has some very wonky visual bugs when resizing the window, interactions have a very noticeable delay, no browser extensions work with this.

This is really not a good solution for web apps, and if you're vibe coding your apps anyway, there isn't any reason not to have a native browser application.

Devs are constantly making the mistake of falling in love with immediate mode GUIs... because it's convenient for them, the developer. For the user, it's almost always a worse experience as things don't behave in the same way as the rest of the platform they're on.

egui is great for video game debug UI overlays and internal tools, and maybe some specialized graphical tools. Otherwise its quirks are too annoying for general purpose app usage. Sure, you banged out a UI quickly with it, at the expense of your users.

No, it’s fine. It’s the longer term DX that takes a hit. Anything other systems can do, immediate mode can do, because like those systems you can always cache across frames. The same can’t really be said for retained mode. We wrote some about it here: https://tritium.legal/blog/desktop
I clicked on that expecting to see something about the limitations of retained mode, but I didn't see anything. There's a claim about long term retained mode complexity, and a discussion about a winit bug...
Can you list your exact complaints? It's a GUI like any other.
Alright I downloaded the thing, just for you.

* Right off the bat in the login screen, if you resize the window, it flickers

* I logged in. Double clicking the top part of the window doesn't maximize it, like I expect on basically all other windows. I'm using MacOS, btw

* Resizing the main home screen is also a flickery mess. Though I'll give credit, it's a fast flickery mess, because the official spotify app resizes like ass

* Okay, here's one more specific to egui and why I think its approach is not good outside of the app types I listed in my original comment: I type some text in the search bar. Let's say I want to highlight the last word after I've typed it, in order to delete it or type something else. On every other app on my system, I can hold Option + Shift + Left Arrow Key. Or perhaps Cmd + Arrow Keys to move the cursor to the start or end of the line. The egui app just doesn't work, because egui misses so many fine details about text manipulation on a given OS.

* In general, text handling just sucks

* Scrolling doesn't have the inertial bounce when it hits the ends of a scroll action

* It's very easy to create overlapping UI elements by resizing panels and/or the window itself.

Anyway, those are just some of the things from a few minutes of trying this specific app out.

In general, if it's an egui app, I already know there will be weird resizing glitches/flickers, a poor text editing experience, and it will typically not follow the platform's idioms and built-in gestures, scroll physics, behaviors, etc. In this case, the app is decent since it mostly just needs to play music, and you mercifully don't need to interact with it much when it comes to text and such.

But saying "It's a GUI like any other" is like saying "wonderbread is a bread like any other". Maybe it's a curse of knowledge? Similar things happen with coffee. One person says "tastes like coffee" while another can pick out individual flavor notes. Maybe I'm shouting into the void and no one gives a shit anymore, I dunno. But to me, these things matter and are a mark of quality.

If we have LLMs that can shit out whatever code now, why aren't people having them output truly "native" GUIs that use the UI framework of the OS so they can get all the expected behaviors by default?

This seems like more of a complaint about egui's choice to re-implement all the widgets from scratch than its choice to use an immediate mode API. The two are orthogonal. The IMGUI idea has its roots in a community of people that like implementing things from scratch, but you could implement it on top of native widgets if you wanted to.

The choice to re-implement native widgets from scratch is justifiable if the egui devs think they can do better than the native widgets do. It's also nearly required in practice if they want the toolkit to have consistent behavior across multiple platforms (something people have learned the hard way multiple times across multiple different UI libraries).

It's hard to get it right, but that's why the egui devs are writing a library: so that others can benefit from that hard work. Many of the things you pointed out are just bugs, and bugs can be fixed.

> but you could implement it on top of native widgets if you wanted to

Is there an immediate mode GUI API that uses native widgets? I don't think I've ever seen that but would be curious to try it out. Does it work well in practice? If it doesn't exist, then it's kind of a moot point, isn't it?

I sympathize with wanting "consistent behavior across multiple platforms", but that usually just results in "consistently kneecapped behavior across multiple platforms".

You should draw a distinction between “implementing the GUI” and “implementing OS behavior”. Flickering aside egui works mostly fine for the former; the latter falls apart on most non-browser-and-non-toolkit-wrapper approaches because people never stop to handle those things.

E.g your double click on title bar thing sounds less like egui to me and more like somewhere in the stack is missing an AppKit flag.

It's the first time I've heard about egui. I'm currently working on a desktop app that uses Tauri, and I realized there's a Tauri plugin that connects the two:

https://crates.io/crates/tauri-egui

Maybe I’ll use it in my next project, the demos are good!

on Firefox and Windows, it's a disaster

in addition to what other comments pointed out, on the demo ( https://www.egui.rs/#demo ) if you have a sidebar open, there is an offset of approximately the sidebar's width (though not exactly) between the system's mouse pointer position and the web app

(comment deleted)
I selfhost explo+slsk+lidarr+navidrome, for access on my phone I use dsub2000 or symfonium but mainly dsub2000.

Explo is the software used for the discovery https://github.com/LumePart/Explo It automatically downloads daily jams, weekly jams and weekly exploration playlists from your listenbrainz account(free) using youtube, soulseek(with slskd) or lidarr (which support was merged very recently).

I also imported all my artists from my spotify account when I migrated which you can do in lidarr.

I also use this lidarr plugin https://github.com/TypNull/Tubifarry with this lidarr docker image: ghcr.io/linuxserver-labs/prarr:lidarr-plugins for lidarr to download with slsk as it isn't supported in the main lidarr.

I'm using a similar setup with soularr, and I just need to import my playlists from Spotify, but I'd rather not use a fork of lidarr.
Hi, Actually it's not a fork it's the docker image for the plugin branch. Sorry I set this up quite a long while ago and didn't remember correctly.

And it seems to have been merged so the plugin branch is not needed anymore, see: https://github.com/Lidarr/Lidarr/pull/1829

So the official image would work.

Thanks for sharing Explo, looks like a good project for discovery, I’m going to check it out!

I’m using a similar setup, with Lidar/Navidrome, but using Subwave for discovery. It works very well for going through your library and playing music like a radio station would, but it won’t recommend anything that’s not already in there.

A simpler, lower-tech alternative is to subscribe to Bandcamp newsletters. Infinite discoverability to be had and any purchases made directly support artists.
I'd like to add another absolutely great radio Station: "FIP" - France Inter Paris. It belongs to Radio France has been running since 1971. Everytime i Tune in i write down song and artist namens because the mix is so great for me. It really is all over the place but with a lot of style. Plus: once every half hour or so you get one of the famous announcers that tell you interesting or funny things. They are all women and a Main reason for FIPs uniqueness. And i don't even understand them :-) You can listen via the Radio France app or find the link for the stream online. (In the app there are also additional genre-specific streams of FIP but IMHO the Main one is the most interesting one because of its large variety that still fits together.

https://www.radiofrance.fr/fip

I've heard great stuff about FIP. I usually listen to Concerts Radio France at night. Excellent classical programming.
I discovered explo too and AI slopped my own solution a while back for the discover weekly from listenbrainz xD (navidrome-listenbrainz-jams on GH) - aside the fact that listenbrainz had technical issues for a bit - does the job for me; maybe I should add support for last.fm playlists as those seems to be more diverse I would say (but less API-friendly)
you've listed eight different software doodads I'd need to accomplish what my one Spotify app that gives me access to everything I need for $15 does.
Winamp feature is great but so random, and I love how it's listed as if it's a usual feature expected from any music player.

Hoping for a future in which people complain about missing basic functionality like winamp mode being missing in their music player of choice!

Let me start: I was going to recommend foobar2000 with the spotify plugin but the lack of a winamp mode must be a dealbreaker for many!

I get around the lack of such a mode by still using winamp!
When I saw the Winamp skin I had to hold to not cry
I've been thinking recently about buying an AI-capable GPU and using it to reverse-enginner and debloat apps I use every day. It seems like a task that even a dumber AI model could do. Disassemble the app, then either cut the things I don't care about, or just implement it fresh in a correct way.
I don't think models that run on single GPUs are capable of that yet sadly. You still need to spend ~$100k to get an actually good local LLM. Correct me if I'm wrong, local AI guys. It's really hard to get actually numbers on this stuff, but to run e.g. GLM 5.3 Flash as far as I can tell you need one of those super expensive 8 GPU machines.
Aye, and those 8GPU machines are expensive. Powering 2x GPU for GLM is eye watering expense, £5k a month.
if i tasked it with "create spotify" I'd need that much.

asking it to "disassemble Spotify and find out the minimal code path needed to play a song" is much more in reach. I don't need it to oneshot it. If it gets stuck, I've read enough disassembled C to figure it out and get it unblocked.

Instead of banging my head against a binary for 5 hours, I'll have my agent bang it's weights for 20 hours, then put in my 1 hour of polish.

My first task would be to fix the Android version of Facebook Messenger. My friends still stick with it because they have iPhones. I have been putting up with broken image previews for 2 years now.

Qwen 3.8 will do it, but it will probably require 72 hours or more.
Author here. Happy to answer any questions!
This app is a dream come true for me. As a user I'm heavily invested in Spotify but I've grown more and more irritated with their client. Especially the recommendations, which thankfully are largely absent from your client.

Would love a setting to also remove the "Made for you" section, as well as the "Recommended for you" section, both on the home page.

I was using Spicetify to customize the official client to this effect, using CSS.

Per another comment, is it true that you trick people wanting to view your code on GitHub, into starring your repo?
I takes several seconds to load the Queue, what's happening there?
That name is horrible.

Potify sounds like a toddler is learning to take a dump. And well, putting "fast" in front of it doesn't impress either in that case.

Potify, the scientifically proven way to get toddlers potty trained, with wearables, app support and an AI coach.