{"id":44730,"date":"2024-09-05T14:27:37","date_gmt":"2024-09-05T18:27:37","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=44730"},"modified":"2024-09-09T11:30:40","modified_gmt":"2024-09-09T15:30:40","slug":"spotify-connect-can-no-longer-use-iphone-volume-buttons","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/09\/05\/spotify-connect-can-no-longer-use-iphone-volume-buttons\/","title":{"rendered":"Spotify Connect Can No Longer Use iPhone Volume Buttons"},"content":{"rendered":"<p><a href=\"https:\/\/techcrunch.com\/2024\/08\/29\/spotify-points-finger-at-apple-over-an-unwelcome-change-to-volume-control-technology\/\">Sarah Perez<\/a> (<a href=\"https:\/\/www.macrumors.com\/2024\/08\/30\/spotify-loses-iphone-volume-buttons-control\/\">MacRumors<\/a>):<\/p>\n<blockquote cite=\"https:\/\/techcrunch.com\/2024\/08\/29\/spotify-points-finger-at-apple-over-an-unwelcome-change-to-volume-control-technology\/\">\n<p>Spotify claims Apple may again be in violation of European regulation, the Digital Markets Act (DMA), which requires interoperability from big technology companies dubbed &ldquo;gatekeepers.&rdquo; This time, the issue isn&rsquo;t about in-app purchases, links or pricing information, but rather how Apple has discontinued the technology that allows Spotify users to control the volume on their connected devices.<\/p>\n<p>When streaming to connected devices via Spotify Connect on iOS, users were previously able to use the physical buttons on the side of their iPhone to adjust the volume. As a result of the change, this will no longer work.<\/p>\n<\/blockquote>\n<p>Spotify sees this an anti-competitive because Apple gets to use its own protocol with HomePod and can access the buttons, whereas if Spotify uses <em>its<\/em> protocol it can&rsquo;t. The buttons would work if Spotify used AirPlay 2, but for whatever reason Spotify doesn&rsquo;t want to do that. How can they try to offer something better if they&rsquo;re stuck using the same technology as Apple?<\/p>\n<blockquote cite=\"https:\/\/techcrunch.com\/2024\/08\/29\/spotify-points-finger-at-apple-over-an-unwelcome-change-to-volume-control-technology\/\">\n<p>The technology Spotify was using for Connect was already degraded before being discontinued, the streamer claims. Spotify said that the experience using the iPhone volume buttons was often unstable, resulting in bugs like volume spikes during sessions.<\/p>\n<\/blockquote>\n<p>It&rsquo;s unclear to me what technology Apple discontinued that used to make this possible. And why is it happening so late in the iOS 17 cycle? Did Apple make a change recently or is Spotify just <a href=\"https:\/\/www.openweb.com\/share\/2lec4CLdI1G6eurTia5Di9gaHbW\">finally giving up<\/a> since it had gotten so buggy?<\/p>\n\n<p><a href=\"https:\/\/appleinsider.com\/articles\/24\/08\/30\/spotify-says-apple-is-blocking-volume-controls-for-connected-devices\"> William Gallagher<\/a>:<\/p>\n<blockquote cite=\"https:\/\/appleinsider.com\/articles\/24\/08\/30\/spotify-says-apple-is-blocking-volume-controls-for-connected-devices\"><p>Spotify has reportedly asked Apple to allow it to control the volume when using Spotify Connect to send music to HomePods. However, Apple has said that it requires Spotify&rsquo;s app to add integration with HomePods.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/www.theverge.com\/2024\/8\/29\/24231516\/spotify-apple-physical-iphone-volume-controls\">Emma Roth<\/a> (<a href=\"https:\/\/en.community.sonos.com\/controllers-and-music-services-228995\/ios-hardware-volume-control-6895905\">Sonos<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.theverge.com\/2024\/8\/29\/24231516\/spotify-apple-physical-iphone-volume-controls\">\n<p>The <a href=\"https:\/\/www.reddit.com\/r\/sonos\/comments\/197kw3h\/comment\/ki130b2\/\">Sonos app has also stopped<\/a> letting iPhone users change the volume of their devices using physical buttons for similar reasons.<\/p>\n<\/blockquote>\n\n<p id=\"spotify-connect-can-no-longer-use-iphone-volume-buttons-update-2024-09-06\">Update (2024-09-06): <a href=\"https:\/\/daringfireball.net\/linked\/2024\/09\/05\/spotify-volume-buttons\">John Gruber<\/a> (<a href=\"https:\/\/mastodon.social\/@daringfireball\/113086715807782438\">Mastodon<\/a>):<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2024\/09\/05\/spotify-volume-buttons\">\n<p>Who should get to decide the rules for how the hardware volume buttons work on iPhones and iPads? Apple, or the European Commission?<\/p>\n<\/blockquote>\n<p>If Apple is arbitrarily blocking access, making the user experience worse, as some kind of power play to prop up HomePod&#8230;maybe the EC?<\/p>\n\n<p><a href=\"https:\/\/mastodon.social\/@stg@c.im\/113087107657085560\">Steven<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@stg@c.im\/113087107657085560\">\n<p>Also, they&rsquo;d have to integrate with HomePods to get access to the new API, not just &ldquo;support airplay&rdquo;. Even Sonos, which supports AirPlay 2 doesn&rsquo;t get access.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@BenRiceM\/113086730559397169\">BenRiceM<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@BenRiceM\/113086730559397169\">\n<p>Spotify is definitely being obstinate, but given that camera apps had to wait 15 years for an API to detect volume presses (without ridiculous workarounds), I do think Apple could stand to be a little more open here.<\/p>\n<\/blockquote>\n\n<p id=\"spotify-connect-can-no-longer-use-iphone-volume-buttons-update-2024-09-09\">Update (2024-09-09): See also: <a href=\"https:\/\/x.com\/ditheringfm\/status\/1832005676891312349\">Dithering<\/a>.<\/p>\n\n<p><a href=\"https:\/\/mastodon.social\/@marcoarment\/113093401103795571\">Marco Arment<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@marcoarment\/113093401103795571\"><p>My guess is <a href=\"https:\/\/developer.apple.com\/documentation\/mediaplayer\/mpmusicplayercontroller\/1624567-volume\">this API<\/a>, which has been deprecated for a decade.<\/p><p>It&rsquo;s the only way we&rsquo;ve ever been able to programmatically <em>set<\/em> the iPhone volume, so it&rsquo;s how apps would intercept volume buttons: observe it for changes, and upon a change, immediately set it back, then perform the custom action.<\/p><p>The only other known method is subview-diving on the <code>MPVolumeView<\/code>, but I don&rsquo;t think that was ever reliable enough to actually write changes to the volume.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@pretz\/113100232533131148\">Alex Pretzlav<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@pretz\/113100232533131148\">\n<p>I bet they were doing it <a href=\"https:\/\/stackoverflow.com\/questions\/70161271\/ios-override-hardware-volume-buttons-same-as-zello\/70815088#70815088\">this way<\/a>.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/bitbang.social\/@kalleboo\/113101436799706751\">Karl Baron<\/a>:<\/p>\n<blockquote cite=\"https:\/\/bitbang.social\/@kalleboo\/113101436799706751\">\n<p>What broke in 17.3 was <a href=\"https:\/\/github.com\/signalapp\/Signal-iOS\/blob\/ac1bc1e8df39dcd585b9f76c7ba36ba1ace133bb\/Signal\/src\/util\/VolumeButtons.swift\">listening to private API<\/a> <code>NSNotification<\/code>s for the hardware buttons (<code>_UIApplicationVolumeDownButtonDownNotification<\/code>) like in this code. [Signal] had to go back to observing an <code>MPVolumeView<\/code> in our camera app to let you use the volume buttons to shoot (causing volume to randomly change when the hack failed) until last year they finally gave us a real API for it.<\/p>\n<\/blockquote>\n\n<p>I keep hearing about more apps that were using this private API. The <a href=\"https:\/\/developer.apple.com\/documentation\/avkit\/avcaptureeventinteraction\">real API<\/a> seems to be only for camera use.<\/p>\n\n<p><a href=\"https:\/\/fediscience.org\/@jzsimon\/113097124938420414\">Jonathan Z Simon<\/a>:<\/p>\n<blockquote cite=\"https:\/\/fediscience.org\/@jzsimon\/113097124938420414\">\n<p>The Harmony (Logitech remote control system) app uses the iPhone volume keys as the remote control volume. For me this is an extremely valuable feature, and also totally natural: as a user, it &ldquo;does what I mean&rdquo;.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@callin@hachyderm.io\/113092773788560938\">Jimmy Callin<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@callin@hachyderm.io\/113092773788560938\">\n<p>I do see an argument that by bundling custom volume button actions with HomePod, they are forcing apps to support (and maintain) HomePod and thus are misusing their strong market power in iOS to unnaturally boost their position in a separate product category.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/daringfireball.net\/linked\/2024\/09\/06\/more-on-spotify-connect-and-iphone-volume-buttons\">John Gruber<\/a> (<a href=\"https:\/\/mastodon.social\/@daringfireball\/113092916880460754\">Mastodon<\/a>):<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2024\/09\/06\/more-on-spotify-connect-and-iphone-volume-buttons\">\n<p>I believe Spotify has subsequently edited their support page, because the above text <a href=\"https:\/\/support.spotify.com\/us\/article\/spotify-connect\/?ref=related\">no longer appear here<\/a>, where it now reads:<\/p>\n\n<blockquote>\n  <p>Apple has discontinued the technology that enables Spotify to\ncontrol volume for connected devices using the volume buttons on\nthe device. While we work with them on a solution, you can use the\nSpotify app to easily adjust the volume on your connected device.<\/p>\n<\/blockquote>\n<\/blockquote>\n<p>They deleted the part that said, &ldquo;Apple has told us that they require apps to integrate into Home Pod in order to access the technology that controls volume on iPhones.&rdquo;<\/p>\n<p>Why? This is the biggest mystery about this whole story. I never understood what that meant. There does not seem to be a new (non-camera) API that Apple could offer to Spotify in return for supporting HomePod, so my assumption was that Spotify was being rejected on policy grounds and that Apple would allow them to continue using the private API if they cooperated. But it now seems clear that Apple changed\/broke the private API. So what could be the carrot that Apple was supposedly offering?<\/p>\n<p>I don&rsquo;t know whether Spotify was misleading us or whether this was a clumsy way of saying that the volume buttons would work with HomePod (automatically) if Spotify Connect supported AirPlay. But the main Spotify app already supports AirPlay, and it doesn&rsquo;t really make sense for Spotify Connect:<\/p>\n\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2024\/09\/06\/more-on-spotify-connect-and-iphone-volume-buttons\">\n<p>I was wrong yesterday to say&#x2009;&mdash;&#x2009;<a href=\"https:\/\/daringfireball.net\/linked\/2024\/09\/05\/spotify-volume-buttons\">in the headline of the post<\/a>, of all places&#x2009;&mdash;&#x2009;that Spotify could solve the problem by adopting AirPlay 2. Spotify Connect is, and needs to be, its own separate thing. Spotify users who use Connect <em>love<\/em> it. Here&rsquo;s what one DF reader wrote to me: &ldquo;AirPlay is a per-device feature, while Spotify Connect synchronizes Spotify sessions across devices. I can initiate playing on my iPhone, then control it from my iPad, Mac, or Watch. I can change the destination speaker from any device. It&rsquo;s so good that I&rsquo;m forever wedded to Spotify until Apple or someone else comes up with an equivalent experience. I think if AirPlay offered equivalent functionality, but Spotify refused to adopt it, Spotify would be open to more criticism, but from the perspective of a Spotify user, it&rsquo;s lost functionality and even supporting AirPlay 2 would not fix what is now a diminished experience. So I think Spotify is doing the only thing they can, which is complain.&rdquo;<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@gruber\/113092918589055709\">John Gruber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@gruber\/113092918589055709\"><p>Apple&rsquo;s own Remote app uses the iPhone volume buttons to control the TV&rsquo;s volume. Which I don&rsquo;t think should be illegal, but clearly demonstrates the use case for being a public API.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Sarah Perez (MacRumors): Spotify claims Apple may again be in violation of European regulation, the Digital Markets Act (DMA), which requires interoperability from big technology companies dubbed &ldquo;gatekeepers.&rdquo; This time, the issue isn&rsquo;t about in-app purchases, links or pricing information, but rather how Apple has discontinued the technology that allows Spotify users to control the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-09-05T18:27:40Z","apple_news_api_id":"03241399-15cd-4edf-8c64-8ff7942447ab","apple_news_api_modified_at":"2024-09-09T14:21:03Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAACA==","apple_news_api_share_url":"https:\/\/apple.news\/AAyQTmRXNTt-MZI_3lCRHqw","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[222,2085,95,2570,1584,31,2321,26,1013,1693,1672,1630,1257,1227],"class_list":["post-44730","post","type-post","status-publish","format-standard","hentry","category-technology","tag-airplay","tag-antitrust","tag-audio","tag-digital-markets-act-dma","tag-homepod","tag-ios","tag-ios-17","tag-iosapp","tag-private-api","tag-remote-app","tag-signal","tag-sonos","tag-spotify","tag-top-posts"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=44730"}],"version-history":[{"count":11,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44730\/revisions"}],"predecessor-version":[{"id":44764,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44730\/revisions\/44764"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=44730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=44730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=44730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}