Taking a Ride with Android Auto
Google has been busy, working on one of it’s more exciting additions to the Android family. Android Auto promises to be the next big thing to further streamline your connection with your phone.
What Is Android Auto?
Auto is Google’s in-car Heads Up Display (HUD) software. It’s the awesome Android OS you know, just in a new and revised form. Android Auto lets drivers interact with their messages, music, notifications, navigation and other elements without touching their phone.
Auto works by connecting a device into your cars HUD via a USB cable. Once connected along side the Android Auto companion app, the phone will switch into auto mode, broadcasting the Auto OS onto the HUD. Your phone acts as a controller, all your interactions such as messages and music executed on your phone. The HUD just provides an easy to use and customized interface suitable for driving.
Android Auto provides a tailored experience for your car. Out of the box you will be able to access navigation, your phone book, home button, music and miscellaneous car options. These are triggered by hardware buttons on your cars steering wheel or via the on-screen bottom menu.
Where Can I Find Android Auto?
Android Auto is still in it’s early years, but there are several manufacturers who are part of the Open Automotive Alliance, providing either dedicated Android Auto systems or a hybrid system where Auto is part of their on-board media systems. With this option you can choose to run Android Auto or use the manufacturer system.
Auto isn’t locked to new cars, you can buy aftermarket units from third party sound system providers. Pioneer offers a range of Android Auto enabled HUDs, some even support Auto and Car Play (Apple’s competing car system). They’re not cheap, but it’s possible to get these aftermarket units set up in almost any car.
Getting up and Running with the Auto Desktop Head Unit
Google recently released the Android Auto Desktop Head Unit to let developers test their apps without access to a real head unit. This emulator requires some setup, but is an easy way to ensure your app works on Auto.
Note: You need a phone with Android 5.0 or newer to get the HUD up running.
Download the Head Unit
Start by download the desktop head unit inside Android Studio. Open the SDK manager, switch to the SDK Tools tab and look for the Android Auto Desktop Head Unit Emulator. Install this and then potentially restart Android Studio.
Run the Emulator via Your Phone
To work with the head unit you need to connect your phone via USB to your computer. Once connected, enable developer options by clicking on the ‘Build Version’ number seven times. Then in the developer options section enable USB debugging.
Set up Android Auto App and Emulator
Install the Android Auto companion app onto your phone. Open the app and after set up you will reach the start screen.
You also need to unlock developer options inside this app to continue. Do this by tapping the ‘Android Auto’ text 10 times. Now the overflow menu to the right will have a new option, called Start Head Unit Server, click this to start the virtual server.
Port Forwarding
You will need to port forward using the Android Developer Bridge (ADB), installed with Android Studio. Run the following command, remember this needs to be run every time you disconnect your phone.
adb forward tcp:5277 tcp:5277
Start the Display Unit
Now this is set up, you need to find the desktop-head-unit executable. This is the main application that will run the emulator and connect with your phone.
It will be in your /ANDROID_SDK_FOLDER/extras/google/auto folder. Run the application and the emulator should appear. Follow the beginner steps and the emulator will be ready to go. Try a few of the default apps, you can even talk to the emulator.
Serious about Safety
Since users will be interacting with Android Auto as they drive, Google has focused heavily on safety, working with government departments such as the National Highway Traffic Safety Administration (NHTSA) and the U.S. Department of Transportation. Each member of the Open Automotive Alliance (who work with Google on implementation) works with the International Standards Organization (ISO) and Society of Automotive Engineers (SAE). For further information you can visit the Open Automotive Alliance website (they have FAQ section at the bottom).
Google has tailored the Android experience to ensure that distractions are kept to a minimum and the user has access only to what they need.
For example:
You can’t touch your phone when it’s connected to Android Auto. You can double press the multi-task switcher button and switch to another app, but the home button and back buttons won’t get you out of Android Auto. This is to stop people playing with their phones.
When interacting with Auto, for example selecting a music track, the UI will not let you drill down anymore than 6 steps. One of the core principals for Auto is ease of use and Google is putting a hard limit on how long you can scroll, click and interact with before you can’t go any further. The system overview drawer docs provide a more visual outline, here is how it looks to the end user.
Limitations and Considerations
Messaging & Audio Only
Android Auto is still new and Google are busily working on updates to provide additional functionality. Google has opened up third party apps to work with both messaging and audio services. There will be a time when apps have further access to Auto, but for now those are the key areas developers have access to.
You Need Android 5.0 and the Companion App
Android 5.0 (Lollipop) is required to use with Auto. If you have an older version then you’re out of luck. The Android Auto companion app is needed and it’s used to connect the HUD in your car directly to your phone (it acts as a mirror letting the HUD use your phone).
No Escape from USB
As of time of writing, you must connect your phone via USB directly to your car. While that’s not an issue it’s a shame that Bluetooth isn’t supported. Since most phones have BT 4.0 (low energy) and the HUD’s inside of cars usually support Bluetooth, it would have been nice to get into your car, touch a start button on your HUD and it configures itself.
The Joys of Google Voice
All message replies and some other key functions are controlled via Google Voice. If you want to hear a message you need to get Auto to play it back to you. Afterwards you can then reply and send your message. It’s a good system but you have to get used to the robot-like voice that is Google text to speech.
How Android Auto Works
Interacting through Touch or Hardware
Android Auto supports touchscreen events just like your phone, but the real power comes from it’s integration with your cars physical hardware such as the steering wheel.
The touch interactivity on the cars on-board screen is fine, but using physical keys to interact with Auto is better, as it minimizes the time your hands spend off the wheel and keeps you focused on driving.
Several car manufacturers have support for Android Auto and the list is continually expanding. The first manufacturer was Hyundai with its 2015 Sonata, and plenty of other manufacturers such as Audi, Ford, Nissan and Honda have all joined in with 2016 / planned 2017 models with full support (via controls on the steering wheel)
Hyundai Sonata controls on the left and Volkswagen Golf-R controls on the right, images cursory of androidauthority.com
The steering wheel controls will differ but generally they will have the main buttons you need such as activating Google Voice, skipping tracks and adjusting volume. If there isn’t a dedicated button you can interact with the HUD like normal, for example pressing the Google Voice button to trigger the ‘Demand Layer‘, a state in which Google Voice listens for your input)
You can use the bottom navigation menu buttons to access important items such as navigation via Google Maps or your phone book.
Designing & Developing for Android Auto
Android Auto has it’s own visual design and structure, a minimized layout with the focus on simple interactions at a glance, reducing the distraction for the driver.
Interactivity through Simplicity, a Central Interface
The core principal for Auto is to provide interactivity through simplicity. The driver should be focused on driving, not fiddling with complex settings or a flashy UI.
The Overview Screen is Auto’s home screen. It displays a series of useful, tailored Google Now cards plus appropriate notifications. The Circle icon in the bottom nav bar brings you back to this screen.
Each of these notifications can be partially customized such as defining an image, main title, sub title and associated icon. There’s more information about these cards in the home screen overview documentation.
Typography, Contrast and Functionality
Part of the Auto experience is that it reduces the amount of effort developers need to spend to get their notifications and actions to work. Much like Android Wear, there are templates that Auto uses to automatically create it’s notifications, scrolling regions and actions.
The tight control over design is two-fold:
- To trim back the functionality that’s available so only important actions are taken.
- To comply with legal and safety regulations (since it’s use can be potentially dangerous).
As such there are only be a few choices you can make, such as the selection of a primary, secondary and accent color for your branding and the choice of a few select font sizes.
Day Mode & Night Mode
Day & Night mode lets your apps switch visual styled based on time, letting you subtly customize the UI to suit dim or bright lighting. No current versions of Android support this, but Android (N) is expected to give the ability to enable night mode automatically. Apps that support night mode (such as those using the latest support library) will be able to take advantage of this.
Android Auto already takes advantage of day / night mode. The UI for your Auto apps can be customized depending on what time of day it is, providing a secondary set of colors to use.
Day Mode
In Day mode your app should use a light color scheme, with dark text used on light backgrounds. This is to make everything bright and easy to see. These are the default colors your app will use for its branding.
Night Mode
In night mode your app should use a dark color scheme, with light text used on dark backgrounds. This is to make everything more relaxed and not to distract you. Auto gives the ability to define custom dark colors, but if you don’t supply any the app will use it’s default day colors.
Developer Functionality
Currently developers can replace two core components with their Auto apps, Messaging and Media apps, letting users choose their preferred app.
If a user has an app extended for Android Auto then it will appear in the list of possible options. If a user has more than one music player on their phone then Auto will ask which one to use.
Publishing an Android Auto Ready App
Publishing an Android Auto app is the same as regular apps. Google must review each app before publishing to the Play Store. Auto compatible apps are downloaded onto the users phone either from the Play Store or directly through the Android Auto companion app, and when installed are available for Android Auto to use.
As with Android Wear, Android Auto has access to a set of compatible apps from within the companion app itself.
An Extensive Review Process
When publishing your app Google runs a series of tests to see if your app is suitable for the Play Store, if it doesn’t meet the criteria it gets rejected. This is to keep quality high and ensure users have a consistent and reliable experience.
Android Auto takes extra steps, requiring your app to pass the Auto app quality tests and the Auto app development specifications before it’s approved. The review process will be slower than traditional apps because if your app distracts the driver or causes confusion the results can be deadly.
A reason to follow the Android Auto design and development guidelines is that if you build a strong, well thought out and designed Auto app, Google may showcase it.
Road Robot
Android is no longer a platform just for phones. Android apps are becoming ubiquitous, potential customers could end up using your app on their phone, watch, on their TV or while they drive. It’s an exciting time for developers and as more manufacturers sign up to use Android Auto the more wide-spread Auto will become. Potentially opening up a new market for a diverse range of apps.
Have you tried Auto? I’d love to hear your experiences.