"Compatible" in the marketing sense, not the technical sense, of course. Because why would we update that $2,000 receiver you bought last year when we could sell you a new one this year?
Your point is well taken, but in this case, AP2 actually requires larger buffers and a few other things that might not be possible to update via firmware. You could make the argument that the "upgrade-locking" was actually done by Apple, in that they didn't do what they could have to decouple the improvements that require actual hardware (like less playback interruptions/more buffering, better clock syncing, perhaps the whole multi-room/multi-source thing, whatever) with those that may not (general better performance, more reliability, etc.).
I use AirPlay exclusively, and it's an 80/90 solution, meaning it 80% of the time it does 90% of what it's supposed to. If I had to guess, I'd say the culprit is Denon's
implementation of AirPlay, not the standard itself (or Apple) but who knows? If Sonos would [FINALLY WHAT ARE YOU WAITING FOR PLEASE FOR THE LOVE OF GOD!] release a reasonably priced "add on" unit (without a speaker) I'd jump ship in a heartbeat. I could do HEOS, I guess, but I don't trust Denon to do this correctly (see also: their crap implementation of AirPlay)
I even use what
should be the most stable use-case, which is streaming from a fixed Mac/iTunes library (no iOS/phone streaming) connected to speakers, one Airplay speaker and a [wired] Denon x4400 in my home theater. The number of different behaviors I see when doing ostensibly the same exact activity is staggering.
For example:
Firing up the iOS "remote" app and trying to play something from my iTunes library will do one of the following (best to worst):
1). Won't connect, because the Macbook Pro with the iTunes library has somehow timed out, even though it's set to never sleep (other than the display). This started happening with a recent MacOS update, so I'm not sure what's going on there.
2). Will connect, after a long delay (I have the remote app set to "stay connected). Presumably it's waking the system up.
3). Connects, plays through one AP speaker and "locally" (speakers connected to MBP) but doesn't wake up the Denon, even though it's selected (this is usually fixed by unlicking and re-cliking the Denon in the AP sources area)
4). The above, but some device (likely the Denon) also sends an AP "stop" (not pause). This has the effect of messing up whatever playlist I'm using (i.e. it sends me out of the playlist in the remote app and I have to go find what I was playing again. This also screws up/changes the previous shuffle or Genius order). I still have to re-do the connection to the Denon
5). As above, but it blanks out all the other data sources, so I have to re-add them (i.e. it
only plays on the Denon)
6). It just works (i.e. the song plays on all three sets of speakers).
I would bet that most of this is based on whatever status the Denon is set to; i.e. is it off, on, on but switched to a different input, are there previous multicast AirPlay packets floating around the network, etc. but at this point, who knows? There really aren't a ton of moving parts here: there's 1). the connection from my iPhone remote app to the Mac/iTunes library (Bonjour, I believe), 2). the Airplay commands the iTunes library sends to the devices, 3). how those devices interpret those commands/the commands they send back.
My hope is that AP2 will fix the third issue, and I'll get to a 90/100 solution or something.
I honestly don't care one little bit about multi-source multi-room, or how it works from my iPhone etc. I just want it to
work.