We Found Out Why BMW Charges $80 a Year for Apple CarPlay

Yes, I do software consulting for a couple automakers so I'm familiar with it. But when you get into the details of how that "display" and "input" work, it's very possible that Apple could make changes to that. In fact, it's very much expected.

For example, the iAP2 protocol is used to establish the connection, setup the display and send metadata about many different things, including which other codecs are going to be used to send audio (AAC-LC, OPUS, AAC-ELD) or video (typically H.264) from the phone.

I think they've done a fairly good job at trying to make it pretty future proof, and Apple actually provides that communication plugin to the automakers/auto-suppliers. But, it's expected that they will make improvements and bug fixes to that plugin. For the best end user experience, BMW (and others) will have to then integrate those new plugins into their head unit software.

This is especially true when there's a significant security flaw (most head units these days are connected directly to the vehicle bus and could potentially control any drive-by-wire steering, acceleration and braking systems if the automaker hasn't added and properly configured a firewall on the vehicle bus). Data Bus Firewalls are almost non-existent on vehicle prior to the 2019 model year. This might sound far fetched, but it was actually done at black hat a few years ago; hence the appearance of data bus firewalls in the 2019 model year (automotive development cycles are typically 2+ years).

The protocol is also used to send "now playing" info when the audio playback screen is being displayed, or sending input data from the screen and other input data from the vehicle bus back to the phone (like when you hit the play/pause button on your steering wheel).

Two audio channels are also sent and need to be mixed by the head unit -- a main audio channel for media and a second audio channel for notifications. Mixing two audio inputs together is simple enough, but it is not something a basic display normally does.

The deeper we go, the more complicated this basic display and input becomes. So, I don't think it's fair to suggest that it's basic or that the updates are all handled by the phone.

That said, I like carplay (and Android Auto for that matter) because they are at least bringing everyone closer to using the same standards and that's generally good for everyone.

Again, I don't like that BMW is charging for it, but it might give some people some peace of mind that it will at least mean their car's infotainment system isn't going to be left in the dust of a security flaw (like many Android phone users are familiar with). Of course, I think BMW should have just added that $300 lifetime charge into the price of the car and dodged this PR disaster entirely. Or, maybe it was a sly way to get people to argue over the value of their wireless carplay, which very few other automakers offer at this time.

/r/apple Thread Parent Link - caranddriver.com