We have collected a set of interaction patterns that should help you design Android application in a vehicle mode. They are aligned with the philosophy of Android Auto and NHTSA guidelines to ensure that the design of your application never demand the user's attention. Because driving is the primary activity in the car, any digital experiences should be designed to complement and augment that activity.
Designing for vehicles is fundamentally different than designing for handheld devices and requires rethinking how experiences unfold. Because attention is limited and not all tasks are possible in the vehicle, effective apps leverage on this to set the stage for simple experiences while driving.
You should not have to maintain a separate project for your Automotive Grade Android app, compared to your existing Android app. You can reuse existing functionality from your Android app and simply extend it with the new APIs. Please also refer to the Android Auto design guidelines.
The Automotive Grade Android project is also cooperating with the SICS project (Safe Interaction, Connectivity and State ) on driver distraction. The main goal of this project is to safely deliver connected lifestyle functionality while also improving driver attention. The project is using the AGA platform as the basis for this research work. Please refer to the HMI page for more information on deliverables from the project.
Minimizing Driver Distraction, maximizing Driver Convenience¶
In addition to the Android Design principles, we have developed principles important to manage driver distraction in the HMI. There are regulations and testing procedures in the US, EU, and Japan specifying allowed behaviour of applications; things like maximum time spent looking away from the road and minimum size of graphical controls. The application platform enables creation of applications that are safe to use while driving.
NHTSA (National Highway Traffic Safety Administration) have developed guidelines for in-car infotaintment systems, that applies to the AGA project. We have gathered what we think is the most important parts of NHTSA for app developers on the wiki.
Following Android design patterns doesn't mean that your app has to look the same as everyone else's. In Android, your app can shine as an extension of your brand for example considering the following:
- Design of Launcher icons
- Brand styling of icons
- The Favorites Tray at the bottom: what to include?
- System Bars: allow hiding or not? Handling notifications in the system bar.
Automotive Grade Android differs between data that can be mapped to already existing APIs and new vehicle unique APIs. This to avoid duplication of APIs.
Steering Wheel input buttons and getting input¶
Supporting of directional navigation, using the arrow keys on the steering wheel, is important as an alternative to using the touchscreen. Getting input covers common ways users can insert data into a certain context, e.g. using sliders and spinners or simply enter text. See Android guidelines.
Android supports a set of voice actions to interact with compatible apps and services. Apps can respond to the voice actions they're interested in, such as playing a particular song or taking a note.
Notifications tell the user about an event that occurs in an application. They might require the user to respond, but can also only supply necessary information. Examples are progress bars and toast messages. Confirming or acknowledging this notification is described in Android guidelines. The platform integrates with existing Android APIs for notifications and users should get car appropiate notifications from Android apps on the vehicle's screen.
Screen interactions include all finger interactions users can perform on the screen. It includes scroll and zoom as well as moving content on the screen.
Manage accounts and log in to the device. See Android patterns.