It's very strange how these types of nice UX things seem to be lacking in big modern apps nowadays. I think we all know why, they aren't revenue drivers. But, surely this wouldn't be that hard for Spotify to do themselves.
Shout out to this project and all the others mentioned in this thread that are adding the niceties that seem to be missing.
My guess is it's also down to the proliferation of cross-platform UX toolkits that allow for A/B testing of every single component. Making a cool UX thing that requires native OS features would go against that philosophy. And, as you say, it's not a revenue driver so nobody will be fighting for it.
Modern OSes, as much as they pretend not to, are patchworks of antiquated components and designs where it's a wonder that anything integrates at all.
Why is the OS not handle states and events globally? If I turn on do not disturb, it show show me as unavailable on Outlook/Teams/Google Workplace. Yet the "official" method is to go into individual apps and switch it. And god help you if you turned on DND but forgot you had an alarm, instead of vibrating first it's just going to ring loudly in the middle of wherever you are (talking of iOS, I know android has a few options but it's still messy).
Scrolling is still "viewing" as if the screen was an A4 (or similar) paper. You could have dynamic vision tracking with a magnifier to boost ergonomics, but no, the button for "close window" that is used once in 10 minutes is as big as the start menu or the right click button and is the same px size as the text you're reading.
Context awareness is absolutely crap on EVERY major OS, be it android or iOS or Windows, and I'm pretty sure MacOS and Linux too. Everything is a silo (fine) but does not integrate together. (Side note, if anyone wants to fix this feel free to contact me via my email in my profile. I'm not really a coder but I know a bit about systems engineering.)
I don't disagree at all. It's a cultural/corporate thing where Microsoft can basically go "Nah, Teams is too big and we don't have time to integrate it." Basically, there's no real competition, and no one's switching away from Teams just because they don't pay attention to details like this. It's annoying/infuriating but also just the reality nowadays that everyone accepts.
Spotify is particularly atrocious when it comes to UI. Never have I seen an app go out of its way to make its UX worse as upgrades are released, it’s infuriating. I’d have been gone a long time ago if there were any serious competitor to switch to.
That it's not part of the official app just shows you how strange our industry's prioritization practices are, and if it doesn't have an ROI, it won't happen. We should encourage developers to think about their users and have some pride and craftsmanship when it comes to shipping stuff to their users.
Don't remember the exact name but KDE has something like this built-in. I was actually fairly amazed how much this kind of simple UX improvement can be satisfying.
Had a lot of the same features (like the scrolling marquee), but I just built it as a personal project, never put it on the app store or anything like that. I don’t even know if it’ll build or run on modern macOS, but it’s still on github if you want to see some fossilized Objective-C code :p
Since I'm back on Mojave this is great. Thank you. Much better than the method I previously used combining GeekTool and AppleScript. If I upgrade my OS and ever use Spotify I'll hit the OP's menu bar app.
This was the kind of thing we added to our desktops 20 years ago. When people posted screenshots there would always be a now playing that was probably signalling something, like "Deep Black Heart - My Emotions are Real".
Nice! Back in around 2012 or so Spotify still didn't even do MacOS notifications so I rigged up an easy AppleScript to do it (I want to say with Growl first and a bit later with native notifications? Been a while).
It's always surprising to me that Spotify/Apple Music/etc. don't seem to want to natively add functionality like this to their UX.
Yep! The current release actually still uses AppleScript. The next release will use Scripting Bridge to hook into the app's playback state change events. Much more efficient.
Not that I want to spend any time at all in their app. Each passing day it gets simultaneously more neglected, and also receives random UX overhauls that make my life worse.
They dont care if you want it or not. Spotify also doesnt provide shortcuts on ios, so its all planned. They want to farm real user actions and engagements, not applescripts.
Does what it says on the tin. Doesn't provide controls, but I usually have the spotify app open somewhere underneath other windows, so the play/pause/forward/back work.
I wrote a simple tool to do just that in the taskbar on my window manager: https://fau.re/20230810_spotifyctl/
I've added key bindings to pause, or play the next/previous tracks.
Unfortunately, that particular feature will require Spotify to give me additional approval, which requires 6 weeks (or more, unfortunately). I will try my best to add this as soon as possible.
Hmm, that's odd. Not sure exactly which approval you are referring to, but here is my experience:
The Spotify Web API actually required no approval, because it does not integrate with the user's account.
The current version of my app uses AppleScript, and was approved by the App Store within 24 hours. The next version will use Scripting Bridge, but I don't anticipate that will be an issue.
In the most technical sense, my app is not really an extension to the Spotify app, it is a standalone app that communicates with the Spotify app using Apple Events.
Thank you for the feedback! I am currently exploring how to monetize while doing right by my free users.
Some more advanced integration with Spotify (Liking songs, for example) requires approval by the Spotify team which can take up to 6 weeks. I can gate this and additional cool stuff behind payment. Right now I am considering $2, but frankly, I am new to this so I am not sure how to price it. Any additional thoughts are welcome.
I'm not too familiar with this, but macOS does have a "Now Playing" icon in the top menu bar whenever audio is playing. It works for all audio sources (Chrome, Spotify, etc). However, to my knowledge, Apple doesn't expose this API and the tool itself is not configurable.
Shout out to this project and all the others mentioned in this thread that are adding the niceties that seem to be missing.
Why is the OS not handle states and events globally? If I turn on do not disturb, it show show me as unavailable on Outlook/Teams/Google Workplace. Yet the "official" method is to go into individual apps and switch it. And god help you if you turned on DND but forgot you had an alarm, instead of vibrating first it's just going to ring loudly in the middle of wherever you are (talking of iOS, I know android has a few options but it's still messy).
Scrolling is still "viewing" as if the screen was an A4 (or similar) paper. You could have dynamic vision tracking with a magnifier to boost ergonomics, but no, the button for "close window" that is used once in 10 minutes is as big as the start menu or the right click button and is the same px size as the text you're reading.
Context awareness is absolutely crap on EVERY major OS, be it android or iOS or Windows, and I'm pretty sure MacOS and Linux too. Everything is a silo (fine) but does not integrate together. (Side note, if anyone wants to fix this feel free to contact me via my email in my profile. I'm not really a coder but I know a bit about systems engineering.)
The very old native Spotify desktop client was objectively better than what we have now.
A significant portion of the code was written with Claude Opus. I was very impressed with its abilities.
Had a lot of the same features (like the scrolling marquee), but I just built it as a personal project, never put it on the app store or anything like that. I don’t even know if it’ll build or run on modern macOS, but it’s still on github if you want to see some fossilized Objective-C code :p
I deliberately chose not to use marquee because of CPU usage, but if there's a more efficient way, I can definitely integrate that.
It's always surprising to me that Spotify/Apple Music/etc. don't seem to want to natively add functionality like this to their UX.
Does what it says on the tin. Doesn't provide controls, but I usually have the spotify app open somewhere underneath other windows, so the play/pause/forward/back work.
> This project has been unmaintained for a while now.
> Here is a link to an updated and currently maintained fork
The link points to https://github.com/AudioBand/AudioBand for the curious
Unfortunately, that particular feature will require Spotify to give me additional approval, which requires 6 weeks (or more, unfortunately). I will try my best to add this as soon as possible.
Just curious, how long did the API extension approval take? (been waiting for almost 3 months on mine)
The Spotify Web API actually required no approval, because it does not integrate with the user's account.
The current version of my app uses AppleScript, and was approved by the App Store within 24 hours. The next version will use Scripting Bridge, but I don't anticipate that will be an issue.
In the most technical sense, my app is not really an extension to the Spotify app, it is a standalone app that communicates with the Spotify app using Apple Events.
Hope this helps :-)
Some more advanced integration with Spotify (Liking songs, for example) requires approval by the Spotify team which can take up to 6 weeks. I can gate this and additional cool stuff behind payment. Right now I am considering $2, but frankly, I am new to this so I am not sure how to price it. Any additional thoughts are welcome.