How CarPlay works with apps

· 2 minute read · via Punchkick
A Honda dashboard with a CarPlay home screen showing the Phone, Music, Maps, Messages, and Now Playing apps

This post is adapted from CarPlay for automakers, a Punchkick strategy guide for automotive brands.

Today, developers can’t just add CarPlay integration to their apps, as convenient and obvious as that might seem. Apple’s CarPlay developer page instead includes a link to contact them, and Cupertino will determine which iOS apps are appropriate for the budding platform. This tight control mirrors the company’s early behavior on iOS—the operating system didn’t allow third-party app development until version 2.0, instead selecting strategic partners like YouTube and Yahoo while directing other interested parties to build mobile web apps instead. But CarPlay is different from the early days of iOS in that the software is built on the modern iOS, which is one of the most popular and actively developed platforms in the world. Developers anticipate that CarPlay will grow to accept iOS developers of all stripes, and will become an essential member of the iOS ecosystem.

Because of its locked-down status, little is known about CarPlay implementation beyond reports that integration is “pretty simple.” For guidance, developers can look to existing iOS APIs that extend apps’ capabilities to interoperate with external devices or offer additional interface states. Extensibility, introduced in iOS 8 this fall, is a collection of frameworks that allow iOS apps to deliver widgets in Notification Center, share options in the iOS action menu, or extend the capabilities of system apps like Safari. Extensibility works through app bundles that live within standard iOS apps, miniature applications that handle specific tasks. The developer feature has introduced a wide range of new third-party functionality across iOS, but its most important member is one whose intention is most like CarPlay: WatchKit.

CarPlay turn-by-turn directions in Apple Maps on a dashboard display, telling the driver to take the exit onto US-101 South

CarPlay’s technical behaviors are nothing like its namesake, AirPlay, which allows iOS devices to broadcast photos, videos, and their screens to devices like stereos and Apple TV. CarPlay is a system for iPhones to offer device-specific UI views on external displays while still executing code on the iPhone itself. WatchKit, similarly, is an API that operates as a conduit between iOS apps and companion apps on Apple Watch. Watch apps, at least in their current form, aren’t native to Watch OS, just as CarPlay doesn’t include some full dashboard operating system. With WatchKit, the iOS app instead manages UI states and executes code on behalf of the Watch app view running on the less-powerful Apple Watch. Like WatchKit, CarPlay enables app views that are specific to a different display size and on less capable hardware.

Apple’s primary concerns around opening CarPlay to all developers reportedly stems from a lack of control over interfaces, likely in the interest of driver attention, which explains the current exclusivity to audio streaming partners. With WatchKit, developers have extremely limited opportunities to expand their apps to Watch OS—static Glances, richer interactive notifications, and Watch app interface templates. With CarPlay, Apple might introduce similar prescriptions that limit developers’ interface creativity and protect drivers from their own distractions. In future additions to iOS, developers expect CarPlay to become a standard Extensibility framework within the iOS SDK, allowing any iOS developer to add CarPlay functionality to their apps.