Stay organized with collections
Save and categorize content based on your preferences.
Designing an app with the Android for Cars App Library involves sequencing
templates into task flows and customizing them for the goals of your app and its
users.
Use the library to create apps in the following categories:
To understand the design process at a high level, see the process steps below.
For details of your role and the app library’s role in creating the experience
for users, see Who handles what.
Process steps
Designing with the Android for Cars App Library involves the following steps,
in general:
Define user tasks.
Figure out which tasks are important for users to perform with your app in
vehicles.
Plan task flows.
Choose a sequence of templates to lead users through each task.
Consider driving state.
Make strategic use of parked-only templates and task-flow strategies.
Plan communications.
Choose appropriate communication options for all scenarios in which your app
communicates with users.
Customize your app.
Customize the content of each template to reflect your users’ needs, and
customize styling to reflect your app’s brand.
Who handles what
When you create an app with the Android for Cars App Library, the app library
takes care of many aspects of the app experience, including making it work in a
driving-optimized way in all compatible cars.
What the library handles
What app developers handle
Input: Handling user input to templates via
mechanisms available in specific cars, such as touchscreen or
rotary
Screen sizing: Adapting content to screen
sizes
Screen transitions:
Motion
transition between screens
Consistent, driving-optimized UI: Ensuring that the
UI and interaction patterns are familiar and consistent across apps
Light and dark mode (except as noted below):
Adjusting template features to appropriate mode for ambient light
conditions
UX restrictions based on driving state: Limiting
text or disabling certain features, such as the keyboard, while the user
is driving
Maps for non-navigation apps: Drawing the map in
the Place List (map)
template
Voice input: Processing recorded audio
User flows: Creating customized sequences of
templates that address critical user journeys
Metadata: Providing metadata such as list items and
locations to be pinned on maps
Branding elements: Providing app iconography,
imagery, and custom
accent colors
(with light and dark variants)
Maps (navigation apps only): Drawing and updating
maps (light-themed or dark-themed, as instructed) including a
map for cluster display
if desired
For AAOS, vehicle OEMs take care of:
Vehicle-specific styling: Customizing styles
to integrate with OEM branding and vehicle interiors
[null,null,["Last updated 2025-05-22 UTC."],[[["\u003cp\u003eThe Android for Cars App Library streamlines app development for vehicles by providing pre-built templates and handling core functionalities like input, screen adaptations, and driving-optimized UI.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use the library to build communication, navigation, and other driving-related apps, focusing on customizing task flows, content, and branding.\u003c/p\u003e\n"],["\u003cp\u003eApp design involves defining user tasks, planning task flows considering driving state, planning communications, and customizing the app's content and styling.\u003c/p\u003e\n"],["\u003cp\u003eWhile the library manages many aspects of the user experience, developers are responsible for voice input processing, user flow creation, providing metadata, and branding elements.\u003c/p\u003e\n"],["\u003cp\u003eVehicle OEMs handle vehicle-specific styling for AAOS to integrate with their branding and vehicle interiors.\u003c/p\u003e\n"]]],[],null,["# Build apps with templates\n\n\u003cbr /\u003e\n\nDesigning an app with the Android for Cars App Library involves sequencing\ntemplates into task flows and customizing them for the goals of your app and its\nusers.\n\nUse the library to create apps in the following categories:\n\n- [Communication apps](/cars/design/create-apps/app-types/communication), such as VoIP calling\n- [Navigation apps](/cars/design/create-apps/app-types/navigation)\n- [Media apps](/cars/design/create-apps/app-types/media)\n- [Other driving-related apps](/cars/design/create-apps/app-types/other), such as point-of-interest, IoT, and weather\n\nTo understand the design process at a high level, see the process steps below.\nFor details of your role and the app library's role in creating the experience\nfor users, see [Who handles what](#who).\n\nProcess steps\n-------------\n\nDesigning with the Android for Cars App Library involves the following steps,\nin general:\n\n1. **[Define user tasks](/cars/design/create-apps/apps-for-drivers/design-tasks)**. Figure out which tasks are important for users to perform with your app in vehicles.\n2. **[Plan task flows](/cars/design/create-apps/apps-for-drivers/plan-task-flows)**. Choose a sequence of templates to lead users through each task.\n3. **[Consider driving state](/cars/design/create-apps/apps-for-drivers/driving-state)**. Make strategic use of parked-only templates and task-flow strategies.\n4. **[Plan communications](/cars/design/create-apps/apps-for-drivers/plan-communications)**. Choose appropriate communication options for all scenarios in which your app communicates with users.\n5. **[Customize your app](/cars/design/create-apps/apps-for-drivers/customize-app)**. Customize the content of each template to reflect your users' needs, and customize styling to reflect your app's brand.\n\n| **Note:** Throughout the design process, refer to the [UX requirements](/cars/design/create-apps/ux-requirements/overview) to make sure you are following UX requirements and recommendations.\n\nWho handles what\n----------------\n\nWhen you create an app with the Android for Cars App Library, the app library\ntakes care of many aspects of the app experience, including making it work in a\ndriving-optimized way in all compatible cars.\n\n| What the library handles | What app developers handle |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - **Input**: Handling user input to templates via mechanisms available in specific cars, such as touchscreen or rotary - **Screen sizing**: Adapting content to screen sizes - **Screen transitions** : [Motion](/cars/design/android-auto/design-system/motion) transition between screens - **Consistent, driving-optimized UI**: Ensuring that the UI and interaction patterns are familiar and consistent across apps - **Light and dark mode** (except as noted below): Adjusting template features to appropriate mode for ambient light conditions - **UX restrictions based on driving state**: Limiting text or disabling certain features, such as the keyboard, while the user is driving - **Maps for non-navigation apps** : Drawing the map in the [Place List (map)](/cars/design/create-apps/apps-for-drivers/templates/place-list-map-template) template | - **Voice input**: Processing recorded audio - **User flows**: Creating customized sequences of templates that address critical user journeys - **Metadata**: Providing metadata such as list items and locations to be pinned on maps - **Branding elements** : Providing app iconography, imagery, and custom [accent colors](/cars/design/create-apps/apps-for-drivers/customize-app#colors) (with light and dark variants) - **Maps** (navigation apps only): Drawing and updating maps (light-themed or dark-themed, as instructed) including a [map for cluster display](/cars/design/create-apps/sample-flows/view-map-in-cluster) if desired |\n\n| **Note:** Navigation apps must take care of drawing and updating their maps, including drawing a light-themed or dark-themed map when instructed to do so.\n\nFor AAOS, **vehicle OEMs** take care of:\n\n- **Vehicle-specific styling** : [Customizing styles](/cars/design/create-apps/apps-for-drivers/customize-app) to integrate with OEM branding and vehicle interiors"]]