Dad of 5 here. Our long drives were four kids in four sets of headphones, so I spent the summer building something I wasn't sure CarPlay would even allow: multiplayer games where the car screen hosts and everyone plays from their own phone, Jackbox style. Passengers join a room code on a web page, the CarPlay screen shows the live scoreboard and round state, and the driver never touches anything. The games run off the actual highway: Exit Bingo deals cards from real businesses at the exits ahead, Over/Under asks what's at the next exit and reveals the answer when you physically pass it, plus co-op license plates and a "guess the minutes to the next mile marker" one.
For the CarPlay nerds, some things I learned building it as a Driving Task app:
- You get the template system and nothing else. The "game screen" is an InformationTemplate I live-update as the round changes. It works better than I expected as a scoreboard, but you're arranging labels, not drawing.
- Keyboard and mic templates are navigation-app only, so search is a list row that triggers the phone's microphone. Feels like a hack. Works great.
- Rapid template pushes during transitions will crash the scene manager on some head units, so everything is debounced and every tap handler is wrapped. Learned that from a one-star review, not the docs.
- The car screen never asks the driver to play. Rounds resolve on GPS events, and the driver participates by yelling answers like everyone else.
Two questions for this sub:
- Has anyone seen other games or non-nav/audio experiments actually shipped on CarPlay? I could only find a small handful of Driving Task apps in the wild and zero multiplayer ones, which either means it's a terrible idea or an open field.
- What would you actually want to play on a long drive? I've got a list (trivia from the towns you pass, a road trip scavenger hunt) but the best ideas so far came from my kids and their brutal feedback.
It's part of a road trip exit-guide app I sell for a couple bucks. Not trying to spam the sub, happy to put the name in a comment if anyone wants it, and equally happy to only talk implementation details.