Plan task flows

As you sequence templates into task flows, choose the templates that will best fit each task and strategize to keep task flows short.

While the templates in the app library are designed for usability while driving (except those that are “parked only”), it’s also important to keep task flows short. Keeping task flows to 5 steps or fewer helps drivers to keep their attention on the road.

As you design your flows, make sure you understand how to:

Keeping task flows short

To minimize driver distraction, keep task flows as short as possible.

Mock-up of sample task flow
Sample task flow with a subflow

A new task starts when the user performs any of the following actions:

  • Lands on (or returns to) the app’s landing template
  • Chooses an action that opens another app
  • Lands on the Navigation template (in navigation apps)

To minimize required driver attention, keep task flows to 3 steps or fewer when possible (4 steps or fewer for flows involving purchases). When flows are longer than 3 or 4 steps, consider providing shortcuts back to earlier steps.

Except as noted in Step counts and refreshes, the limit is 5 steps, including the starting and ending steps.

Template order in task flows

When creating task flows, keep the following template ordering considerations in mind:

  • Avoid List and Grid templates for step 5. If the flow involves 5 steps, the final step must not be a list- or grid-based template (examples of acceptable templates include Navigation, Message, and Pane).
  • Don’t put 5 Lists or Grids in a row. Apps should not create flows with 5 list-based or grid-based templates in a row, even if one of those templates is in a subflow.

Step counts and refreshes

To design task flows that don’t exceed the 5-step limit, it’s important to understand how steps are counted for each flow.

The step count is incremented whenever one of the following occurs:

  • A new template is shown
  • The same template is shown with new content – unless the new content is a refresh of existing content, as defined in What is a refresh?

The step count decreases by 1 if the task returns to the previous view with the same content.

Wireframe of sample task flow with new template
In both of these examples, a step is added as the user browses and selects a place from the Place List.

For more examples of how step counts would be incremented in specific task flows, see Sample flows.

What is a refresh?

Refreshes are updates to a template’s content that don’t increment the step count. Refreshes are almost always app-initiated. The only exception is when a user refreshes a list with the refresh button on the Place List template.

What qualifies as a refresh depends on the template and whether the Adaptive task limits feature is enabled. If this feature is enabled, the definition of what qualifies as a refresh is widened for some templates (see the following table), because the refreshes are throttled during drives to minimize distraction.

For example, with the feature enabled, updates that change the number of rows on list- or grid-based templates can be considered a refresh, as long as the title and any section names stay the same. If the feature is not enabled, changing the number of rows is a step count.

For examples of refreshes, see Refresh vs step count example and Sample flows.

Template type What qualifies as a refresh What qualifies as a refresh when Adaptive task limits feature is enabled
Navigation, Sign-in*, Long Message* Any content update Any content update
List, Grid, Map, Pane, Place List (map), Place List (navigation), Route Preview, Search, Tab See the template restrictions for each template All updates where the layout stays the same, meaning:
  • Same title or tabs at the top
And (on List template):
  • Same section names
Message Only updates that don’t change the title and message (for example, adding a button)

Refresh vs. step count example

In this example, the Adaptive task limits feature is enabled, so any update with the same title qualifies as a refresh.

Three screenshots; one update is counted as a refresh, while the other is considered a step

Because only the rows updated on one path, this would be considered a refresh. If Adaptive task limits isn't enabled, this will count as a step. On the other path, the title changed, which increments the step count.

Adaptive task limits

Adaptive task limits is a feature that lets apps have task flows with more than 5 steps under certain controlled circumstances, such as when parked or when refreshes are being throttled while driving. Availability depends on location and discretion of vehicle OEMs (see note at right).

When this feature is enabled:

  • Task flows > 5 steps are allowed while parked (if driving, they will be paused after the 5th step and can be resumed when parked)
  • Refreshes are throttled during drives to be less distracting, so the definition of refresh is expanded to include more types of updates (see What is a refresh?).

When the feature is not enabled:

  • Task flows must not exceed 5 steps, or the app will crash
  • Refreshes are not throttled during drives so the definition of refresh is not expanded

How refresh throttling works

With throttled refreshes, apps can refresh the template as often as they want, but the time between the refreshes is spaced out to minimize distraction. If multiple refreshes are sent during the throttle period, the latest one is shown at the end of the period.

Interactive maps

Design your app to include zooming and panning for navigation apps. Currently, users can interact with maps via features (such as zooming and panning) in templates specific to navigation apps: Navigation, Route Preview, Map, and Place List (navigation).

Users can interact with maps using:

Mock-up of interactive map
Users zoom and pan to locate places on the map.

Refreshing the content next to the map does not add to the step count for a task flow.