building android automotive apps with multimedia capabilities

Introduction

In-vehicle multimedia is a crucial part of the modern driving experience. Being able to choose from a variety of entertainment options, such as music, movies, podcasts, or other media can make any journey more enjoyable.

It’s also great for accessibility. Hands-free calls, voice-controlled navigation, and integration with smartphone apps allows drivers to stay connected while still keeping their attention on the road. And that’s just the start of what this functionality is capable of.

But how do you implement all that? That’s exactly what we are going to discuss. Today we’ll talk about the why and how you should add multimedia capabilities to your Android Automotive app.

What is Android Automotive OS?

Android Automotive OS is a modified version of Android optimised for in-vehicle infotainment (IVI) systems. It was launched by Google in 2017 as an open source platform, with its latest iteration as of now being Android Automotive 13.

The OS comes with a number of built-in features that make it perfect for automotive application development:

  • smartphone integration;
  • Google services support;
  • support for vehicle-specific hardware and controls;
  • multimedia playback;
  • and others.

In addition, navigation and voice assistance features are quite easy to implement thanks to the large number of available integration channels and documentation.

The system uses the Android for Cars App Library that further expands its capabilities with advanced templates. Those are designed to minimise driver distraction, while accounting for such variables as different screen sizes and input channels.

Why is it beneficial for Automotive OEMs and Tier-1 suppliers?

Android Automotive development presents several great advantages to automakers.

Firstly, the faster time-to-market gives a competitive edge to those seeking to break into the industry before anyone else. Secondly, compatibility with Google Automotive Services (GAS) alleviates the need for costly integrations with third-party companies (though you do need to purchase a GAS licence separately).

Next, AAOS software is great for building a brand ecosystem thanks to a variety of connectivity features, over-the-air updates, and near-limitless integration capabilities. It will help you develop an ongoing relationship of trust with your customers.

Finally, it’s a good investment. According to S&P Global and IHS Markit, Android Automotive OS will skyrocket from 1% in 2022 to 18% market share by 2027. Within the forecast period, AAOS will surpass Linux in popularity and show significantly faster growth than all of its other competitors (generic Android, Automotive Grade Linux, and AliOS).

Headunit OS market share

“Currently, there are around 20 [car] models available with [Android Automotive],” says Mohit Sharma, Counterpoint’s Research Analyst covering Smart Automotive, ADAS, and Location Ecosystems. “The latest addition to the list is the 2023 Honda Accord. Several other automakers have announced plans to move to AAOS, but not every automaker is interested in GAS.”

Among the major automakers currently interested in AAOS and GAS, he lists Volvo and Polestar, Renault, Nissan, Mitsubishi, General Motors, Stellantis, Ford, Honda, BMW, Lucid, and Porsche.

Understanding Android Automotive OS

Differences between Android Auto and Android Automotive

Don’t confuse Android Automotive OS with Android Auto. AAOS is a fully-fledged operating system with applications designed uniquely for it. Android Auto, on the other hand, simply mirrors certain mobile apps onto the car’s infotainment screen.

AAOS features & benefits

AAOS features and benefitsThe system offers a good number of useful features for Android developers, automotive companies, and drivers alike. Let’s have a look at the most prominent ones.

  1. Multimedia functionality. This is what we’re here for. AAOS has unmatched multimedia file support, with features such as gapless playback, equaliser controls, video streaming, and more.
  2. Customisation options. Android Automotive OS is very flexible when it comes to design, so creating a unique brand interface tends to be very easy.
  3. Ecosystem integration. Google has a vast and familiar service ecosystem that’s easy to use and relatively cheap to implement on AAOS.
  4. Voice controls. The platform has robust voice functionality, which not only supports hands-free voice controls, but also allows for smart voice assistant implementation.
  5. Vehicle integration. Android Automotive is perfect for connected cars, as it can seamlessly connect to the vehicle’s hardware and internal systems, accessing steering wheel controls, HVAC controls, rear-view cameras, and various sensors.
  6. OTA updates. AAOS can be upgraded over the air, meaning the system is always up-to-date without the driver having to go to a service centre.
  7. Easy development. Any Android dev can quickly get the hang of Android Automotive. This makes for a fast and painless development process.

All in all, AAOS offers a really good combination of speed, utility, and cost efficiency.

Multimedia capabilities of Android Automotive OS

Multimedia capabilities of Android Automotive OS

Let’s have a closer look at the multimedia features provided by Android Automotive OS.

Audio and video playback

Android Automotive OS supports various audio and video formats, letting users enjoy their favourite music, podcasts, audiobooks, videos, or movies while driving. It can connect to external sources such as mobile devices (via Bluetooth or cable), USB drives, and SD cards.

AAOS also lets users access streaming services directly from the IVI system, providing a wide range of entertainment for both drivers and passengers. Additionally, the latter can enjoy captioned content, thanks to the OS supporting subtitles in a variety of formats.

The platform comes with media control APIs that allow app developers to integrate their solutions with infotainment systems. That way in-car media playback can be managed through one’s smartphone with key controls such as play, pause, skip, shuffle, and more.

Advanced audio settings

Android Automotive offers a number of advanced audio playback features. Firstly, it supports gapless playback, which creates seamless transitions between tracks, making for a smooth and uninterrupted listening experience.

Secondly, the OS provides built-in equaliser controls, allowing users to manually balance bass, middle frequencies, and treble to suit their tastes.

Finally, AAOS has multi-zone audio functionality, meaning different media sources can be played simultaneously in different areas of the vehicle, catering to everyone’s individual preferences.

Voice recognition and controls

The platform comes equipped with voice control functionality that enables users to perform various tasks hands-free. Drivers can initiate phone calls, send text messages, play music, request directions, control temperature settings, and access various apps and services, all through voice commands.

AAOS utilises advanced voice recognition technology to accurately understand and interpret human speech. This ensures that the system can correctly process and respond to a wide range of vocal inputs for the sake of safety, accessibility, and convenience.

Google Assistant

Google Assistant, as the name suggests, is a powerful virtual assistant that enables users to interact with a range of software features via voice commands. It can be easily integrated into any AAOS app. The assistant understands casual conversational speech and exhibits contextual awareness, which is absolutely crucial on the road.

It also remembers previous conversations and can thus provide relevant, personalised info based on the data gathered in past interactions. This makes the experience more productive and unique for each individual user.

How to design a media app for AAOS

Basic principles

Android Automotive OS provides APIs for playback and media browsing functionality. They offer a standardised media template that features:

  • content browsing;
  • navigation;
  • playback controls;
  • search controls;
  • settings.

Firstly, what this template does is help OEMs customise the interface to align with their branding. Secondly, it allows software developers to smoothly connect their applications across multiple cars and manufacturers.

It bears mentioning that while you can – and should – customise the app to fit your branding, all the designs need to strictly follow the automotive safety guidelines set by Google. On top of that, the core functionality and controls must remain more or less the same as the ones seen in similar apps to prevent alienation and needless driver confusion.

Design process of an AAOS media app

The process of media app design on Android Automotive OS has its fair share of specifics that developers and the UX/UI team need to keep in mind. Here are the 6 key tasks you need to fulfil:

  • Plan navigation tabs. Select up to 4 primary content views and determine navigation tab icons or labels.
  • Organise browsing views. Structure and format top-level and lower-level content views (in a grid or a list).
  • Customise playback controls. Choose whether to include custom actions and icons, and implement a playback queue if necessary.
  • Adapt sign-in flow. Modify the code to create a sign-in flow if your app requires it.
  • Design settings. Create settings screens if your app requires specific configurations.
  • Provide branding elements. Submit your app icon and accent colours for car makers to represent your brand on the screen.

As you can probably guess, though, software developers cannot be responsible for all aspects of the media experience. The roles are usually divided as follows:

Android Automotive apps examples

Systems developed on Android Automotive often have access to certain Google apps and services – though, the availability varies from one OEM to another. A lot are aimed at enhancing on-the-road media experiences, with services like Spotify, TuneIn Radio, and Audible being commonly present.

There is quite a bit of variety on what sorts of media apps can be made available on AAOS. They can be fully original products, extensions of existing properties, or Google’s very own services. Let’s have a look at some examples.

IVO

IVO (which stands for In-Vehicle Onboarding), is an example of an application developed by Bamboo Apps specifically for Android Automotive OS. The software functions as a smart, context-sensitive guide that acquaints drivers with their newly bought or rented vehicle. It also comes bundled with a complimentary mobile solution.

Youtube

The upcoming YouTube app is a good example of a popular online platform branching out to AAOS with a separate client. The official release was announced at Google I/O 2023, and the solution will become freely available for all car manufacturers to use as early as this year.

iHeartRadio

A popular Android Automotive application that’s also available on mobile, iHeartRadio gives drivers free access to, well, radio. But it’s not limited to just that: users can also enjoy music and podcasts on the go, save their favourite stations, create playlists, and discover tunes to match every mood via recommendations.

Tools for developers

Google provides a good number of developer tools to make the process of creating, testing, and deploying Android Automotive apps easier and faster. Let’s look at a couple that you will most likely use in some capacity when working with media functionality.

Android for Cars App Library

This is the #1 recommended library for AAOS software development. It provides a set of templates for all the features a modern vehicle system can possibly need: IoT functionality, navigation, point of interest (POI), and so on.

Android for Cars employs the same Google Play client libraries as mobile phones do, which means you can expand your app functionality with the same libraries you’d use for mobile app development.

Android Virtual Device

Android Virtual Device is an emulator that can run automotive system images. It helps develop automotive HMI apps without having to rely on hardware. It also lets teams work from any location and run the entire Android architecture with multiple AVD images. One major advantage here is the ability to add OEM-specific system images for Honda, Volvo, General Motors, and others.

This is perfect for developing new software from scratch, testing, and rolling out updates for existing HMI systems more efficiently. The emulator supports both a graphical user interface (GUI) and a command line interface (CLI), which also provides some nice flexibility for developers.

It’s worth noting that you can also use third-party automotive emulators, such as Snapp Automotive, if you wish to explore more specific configurations.

UI testing tools

Any infotainment app will require thorough UI quality assurance, and Google has a couple of tools prepared just for that. UI Automator and AOSP’s Helpers will help with automated end-to-end testing, while Google Mobly will do the same for Bluetooth connectivity. Espresso is another tool recommended for concise and effective UI testing on Android-based systems.

Best practices

Developing Automotive apps, especially those focused on multimedia, can be a minefield of strict regulations and design guidelines to work around. We talked with Maxim Leykin, the Chief Technology Officer of Bamboo Apps, about these challenges.

“When developing multimedia features for AAOS, application developers should be aware of significant user experience restrictions set by Google to avoid distraction and ensure driving safety. For example, an app can’t show any videos or require user input via the screen keyboard during driving. This can affect the logic of such apps as music players, media galleries, messengers, etc.”

And whether you like it or not, disregarding these guidelines is not an option. So putting a lot of thought into your app’s design is a must. However, this is far from the only challenge you’ll need to consider.

“It is also worth mentioning that AAOS by default doesn’t contain some services which are quite common for general purpose Android, i.e. Google Play services and Google Mobile services,” continues Maxim. “If an application uses any APIs from these services, they will probably need to be removed or changed to use the Google Automotive services library.”

Luckily, some of these limitations can be mitigated with the developer tools we’ve discussed in the section above.

Application testing & deployment

How to test an Android Automotive media app

Testing an Android Automotive app is typically done with the help of Android Virtual Device, which we’ve already talked about.

General performance aside, you will need to ensure that your in-vehicle media application follows all of the specific industry standards. That’s where MediaBrowserService comes in. It’s a service that helps developers check if the app can provide the necessary functionality when the user is on the road.

Additionally, the Media Controller Test app will help with testing different types of media playback, as well as with verifying the implementation of media sessions. You can read about all of this in more detail in the official Android Automotive testing guide.

How to deploy an Android Automotive application

Once your app is ready for launch, submit it to the Google Play Console. The software will go through a double review process – one regular Android review, and one additional review for AAOS. It will be subject to a couple of test scenarios, which you as a developer will need to take into consideration. For example:

  • If your app requires a login, you will need to submit test account details to the Play Developer Console.
  • If your point of interest app supports booking functionality, the reviewer should be able to make a booking free of charge.
  • If your point of interest app isn’t available in the US, the reviewer should be able to use a VPN to test it.

Once the app has been approved – congrats! The media solution is now ready for AAOS drivers to enjoy. But remember that each update will need to go through the same review process and the whole application can always be subject to a re-review.

Conclusion

With robust audio and video playback capabilities, seamless GAS integration, and intuitive voice controls, Android Automotive OS is a powerful platform for transforming vehicles into immersive multimedia hubs. And thanks to the large number of useful developer tools provided by Google, AAOS is an open playing field for anyone seeking to create next-gen driving experiences.

That said, the development and testing process does present a fair share of challenges, largely in terms of creating a standards-compliant design. Because of that, it’s highly recommended to work only with experienced professionals that have a deep understanding of the Automotive industry.

About Bamboo Apps

Bamboo Apps is a trusted software development partner of Jaguar Land Rover, Mitsubishi Electric, and Škoda Auto hailing from Tallinn, Estonia. We’ve been in Automotive for over a decade, with an average team member having around 5 years of industry experience. If you are interested in AAOS media app development or have any more questions on the topic, feel free to reach out.