How We Brought our Android Auto Module to Full Speed

Our road towards presence in our customer’s cars

DPG Media
Geek Culture

--

Written by: Aswin Ly, Android Engineer

Android Auto and Apple Carplay support has just arrived for some of DPG Media’s news brands, like Algemeen Dagblad and Het Laatste Nieuws. In this blog post, we’ll explain how we built this feature as a module to integrate it within the apps from an Android perspective.

Podcasts in the car

To provide some context, you may have heard of Apple CarPlay, but have you heard of Android Auto for Android phone users? That’s what we’ll focus on. Having Android Auto helps the user continue the entertainment seamlessly in the car with the existing apps on the phone. Of course, we want you to keep your eye on the road and not on the screens for video content, such as AD Play or HLN Original. But you can still use your ears to listen to podcasts while driving.

Our Android Auto module provides podcast functionality in a ready-made module. As long as a brand supports podcasts, this module is technically a simple integration to the Android app. You can check it out here in action in the AD app. A similar experience is also built for Apple CarPlay by our iOS team in the iOS app.

These features are currently supported:

  • Main overview of highlighted podcast episodes, podcast shows, and recent podcast episodes
  • Last played podcast episodes
  • Audio player for podcasts
  • Playback speed
  • 30-sec forward
  • 10-sec rewind

Why a module?

Our team provides video and audio content support for different DPG Media brands. Each brand has different needs, but we also want flexibility and scalability. So build it once and use it in many apps. That is why we have an internal SDK project in place, which contains the modularized native (iOS and Android) implementations for video and audio playback.

In this case, the Android Auto module is an extension of the podcast functionalities. Since not all brands within DPG Media support podcasts, there is the flexibility to decide which brand gets the module installed. Installing the module into the brand’s app automatically enables the Android Auto functionality.

Challenges we faced

Every project comes with its challenges. Not everything is as smooth as butter. First of all, since Android Auto is a new technical topic within our team, we had to learn about the way how the technical integration of Android Auto works. The Google documentation about Android Auto was not complete and flawless because API documentation doesn’t always match completely with the actual API, and it lacked information regarding the prerequisites of releasing an app with Android Auto on Google Play. Those unclarities delayed the release of our apps — Google Play rejected the apps on the first update with Android Auto.

Secondly, because of those uncertainties, it is harder to plan, estimate, and commit upfront to the delivery of Android Auto. So, we worked on the Android Auto integration for two full sprints, next to small finishing touches. In the end, it went smoother than expected.

Finally, building the user interface for Android Auto differs from the standard Android phone app development. For regular Android phone apps, as a developer, you can build the user interface exactly how you want and which part of the user interface is interactable. However, for Android Auto, possibilities to build the user interface are limited and pre-defined by Android Auto in the following types: Media (Audio), Messaging, Navigation, and Point of Interest (POI). For each of those types, there is a strict API to follow, resulting in a consistent type of Android Auto app with the same user interface for a driver-optimized app experience. In our case, we have built an Android Auto Media (Audio) app. The technical construction is that the Android Auto app is a ‘server’ (your phone), and the ‘client’ is the Android Auto screen which will render the UI based on what the ‘client’ requests and what the ‘server’ returns as response. In short, the ‘server’ uses the Android Media API we had to implement.

We have learned a lot from the challenges, and from now on, we can only improve the Android Auto app.

--

--

DPG Media
Geek Culture

We are the tech team behind the digital products of all DPG Media’s brands and internal apps!