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).
“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
The 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.
- 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.
- Customisation options. Android Automotive OS is very flexible when it comes to design, so creating a unique brand interface tends to be very easy.
- Ecosystem integration. Google has a vast and familiar service ecosystem that’s easy to use and relatively cheap to implement on AAOS.
- Voice controls. The platform has robust voice functionality, which not only supports hands-free voice controls, but also allows for smart voice assistant implementation.
- 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.
- 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.
- 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
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.