Google Cast Design Checklist

The design checklist below is provided to make the Cast user experience simple and predictable across all platforms. Early research and experience with Google Cast has led to the development of this checklist. Following these guidelines when designing your app will ensure the best Cast experience for your users.

Review the Google Cast Games UX Guidelines for best practices when designing a game for Cast.

Review the Google Cast Autoplay UX Guidelines for best practices when designing an autoplay/queueing experience for Cast.

Also, for a video overview and general guidelines to developing user experience for Cast, see UX Guidelines.

Cast basics

  •   Cast sequence

  •   Cast home screen

  •   Cast terminology


Cast button

✔   Cast button availability

✔   Cast button states


Cast dialog

✔   Cast dialog, not connected (receivers available)

✔   Cast dialog, connected but not casting

✔   Cast dialog, while casting


Sender app

✔   Introduce Cast to users

✔   Sender volume controls

✔   Sender expanded controls

✔   Sender persistent controls

✔   Sender notification

✔   Sender lock screen

✔   Sender resumes cast

✔   Sender stops cast


Receiver app

✔   Receiver UI

✔   Receiver app idle

✔   Receiver app loading

✔   Receiver content loading

✔   Receiver playback

✔   Receiver paused

✔   Receiver buffering

✔   Receiver stops cast


Changelog

  •   December 9, 2015: Various updates

  •   September 16, 2015: Various updates

  •   March 18, 2015: Updates for volume controls

  •   November 24, 2014: Updates for guest mode

  •   May 9, 2014: Cast dialog, volume, notifications, lockscreen and Translations

  •   April 11, 2014: Notifications and lockscreen

  •   March 21, 2014: Updated cast icon

  •   March 10, 2014: Introducing Cast

  •   March 7, 2014: Broad refinements

Cast basics

Before a Cast session can begin, both the sender device (e.g. Mobile phone) and the receiver device (e.g. a Chromecast plugged into a TV) must be connected to the same WiFi network or the receiver device must be in guest mode.

Cast sequence

There are two ways users can start a Cast session:
  1.   Connect & play: Connect to a Cast receiver before playing content, content starts from the begining
  2.   Play & connect: Connect to a Cast receiver while playing content, content starts on the receiver at its current position on sender device

1. Connect & play

Android

Tap the Cast button

Cast home screen

Select a receiver

Receiver app loading

Play the content

Receiver playing content

iOS

Tap the Cast button

Cast home screen

Select a receiver

Receiver app loading

Play the content

Receiver playing content

Chrome

Tap the Cast button

Cast home screen

Select a receiver

Receiver app loading

Play the content

Receiver playing content

 

2. Play & connect

Android

Play the content

Cast home screen

Tap the Cast button

Cast home screen

Select a receiver

Cast home screen

Cast connected

Receiver playing content

iOS

Play the content

Cast home screen

Tap the Cast button

Cast home screen

Select a receiver

Receiver playing content

Chrome

Play the content

Cast home screen

Tap the Cast button

Cast home screen

Select a receiver

Receiver playing content

 

Cast home screen

On Chromecast, a home screen with photos, time and device status appears when no sender devices are connected. When Cast receiver apps stop running, the home screen is shown.

For more information about how receiver apps stop running, see:

Android

Sender disconnected

Cast home screen

iOS

Sender disconnected

Cast home screen

Chrome

Sender disconnected

Cast home screen

 

Cast terminology

Cast / Casting
The word cast or casting (not capitalized) describes the act of displaying all forms of media (e.g. video) dynamically on a Google Cast receiver (e.g. Chromecast).
The word Cast (when capitalized) references the Google Cast protocol.

Sender app / device (e.g. YouTube app on mobile)
The sender initiates connecting to and / or casting (sending a content link) to a Google Cast receiver on the same WiFi network or in guest mode.

Receiver app / device (e.g. YouTube app on Chromecast)
The sender app connects to and sends commands to the Google Cast receiver to display content.

Cast states

  • Unavailable: No Cast receivers are available
  • Disconnected: Cast receivers are available
  • Connecting: Cast receiver is connecting
  • Connected: Cast receiver is connected

Cast terminology translations (e.g. "Stop casting" in Japanese is "キャストを停止")
Common phrases used for casting have been translated into many languages and are available in this spreadsheet. Use these translations if the app you are developing is localized.

Cast button

The cast button opens a dialog to connect, control and disconnect from Cast receivers.

See Cast icons to download the Cast button templates.

Note that the Cast button is not specific to Google Cast; it can be used to represent both Cast and non-Cast receivers (e.g. bluetooth headsets). Cast receivers should always appear under the Cast dialog, and never under another dialog, menu, or control.

✔   Introduce Cast to users

Introducing the cast button helps existing users know that the sender app now supports Casting and also helps users new to Google Cast.

Required
  A   Show a Cast introduction screen the first time Cast receivers are available
  B   Visually highlight the cast button (e.g. circle the button)
  C   Explain how the cast button works (e.g. "Touch to cast videos to your TV")

Android

Cast introduction

Cast home screen

iOS

Cast introduction

Cast home screen

Chrome

Cast introduction

Cast home screen

 

✔   Cast button availability

Required
  A   When Cast receivers are available, the cast button must be visible from every screen in the sender app and located in a consistent position while browsing or playing content. It will also appear in Chrome's header for global control.
  B   In mobile apps, the cast button should be on the right side of the header.
  C   In Chrome, the cast button should be on the right side in the content media controls (e.g. embedded video). If the media controls contain a fullscreen button, place the Cast button to the left of it.

Notes

  • Google Cast employs a multi-tasking model, which allows users to browse the sender app and other apps while casting. The Cast button must be visible from every screen of the sender app, so the user doesn’t have to hunt to find where to pause or stop the content playing on TV.
  • In Chrome, the Cast button will automatically appear in Chrome's header if the user has the Cast extension installed.

Android

Sender disconnected

Cast home screen

iOS

Sender disconnected

Cast home screen

Chrome

Sender disconnected

Cast home screen

 

✔   Cast button states

Required
  A   Unavailable: While Cast receivers are not available, the Cast button does not appear
  B   Disconnected: While Cast receivers are available, the Cast button appears
  C   Connecting: While the Cast receiver is connecting, the Cast button animates the waves in the icon progressively (for details, see note below)
  D   Connected: While this app is connected to the Cast receiver, its Cast button appears with a filled frame shape

Best practices
For each of the button states, use colors that match the style of other UI elements of your app.

Notes
The Cast icon displays in Chrome to provide access to the Cast extension regardless of the availability of Cast devices.
The Connecting (animated) state appears when the connection to the Cast API takes longer than expected (the Android and Chrome SDK's will automatically animate the Cast icon). Once connected, the receiver app launches.
The ON / Connected state of the Cast icon has been updated and now uses a solid fill within the icon frame. Using a distinct highlight color for the ON / Connected state is now optional (e.g. yellow). The new cast icon and icon templates are available here.

Android

Sender, Cast unavailable

Cast home screen

Sender, Cast disconnected

Cast home screen

Sender, Cast connecting

Cast home screen

Sender, Cast connected

Receiver app loading

Sender, Cast connected

Receiver app loaded / idle

iOS

Sender, Cast unavailable

Cast home screen

Sender, Cast disconnected

Cast home screen

Sender, Cast connecting

Cast home screen

Sender, Cast connected

Receiver app loading

Sender, Cast connected

Receiver app loaded / idle

Chrome

Sender, Cast unavailable

The Cast icon displays in Chrome to provide access to the Cast extension regardless of the connection state.

Cast home screen

Sender, Cast disconnected

Cast home screen

Sender, Cast connecting

Cast home screen

Sender, Cast connected

Receiver app loading

Sender, Cast connected

Receiver app loaded / idle

 

Cast dialog

The Cast dialog is shown whenever the Cast button is pressed. The Cast dialog lets users connect to, control, and disconnect from Cast receivers.

For Android apps, use the MediaRouter component from the MediaRouter Support Library to implement the Cast dialog. It has all of the UX requirements built right in.

If you're developing a custom implementation or building an app for iOS or Chrome, you must implement this dialog in a consistent way, so that users recognize and trust it to function consistently across devices, apps and platforms. Refer to the Reference apps for examples.

For information about how the Cast dialog UI adapts to each state, see:

✔   Cast dialog, not connected (receivers available)

Required (default behavior of Android MediaRouter):
  A   When the sender app is not connected to a Cast receiver, tapping the Cast button shows the Cast dialog
  B   The Cast dialog title, "Cast to" appears
  C   The Cast dialog shows a list of available Cast receivers
  D   Each receiver currently casting should display, "Casting app name"

Note the multi-user scenarios:

  • When another user connects to a receiver currently casting (e.g. "Office - Casting YouTube") from the same app (e.g. YouTube) and using the same account, the sender app provides controls for the content being cast.
  • When another user connects to a receiver currently casting (e.g. "Office - Casting YouTube") from an app that is not casting (e.g. Play Movies), the previous sender app (e.g. YouTube) disconnects and the new sender app connects.

Android

Cast dialog, not connected

Cast home screen

iOS

Cast dialog, not connected

Cast home screen

Chrome

Cast dialog, not connected

Cast home screen

 

✔   Cast dialog, connected but not casting

Required
  A   When the sender app is connected to a Cast receiver, tapping the Cast button shows the Cast dialog
  B   The Cast dialog title "Receiver-Name" appears
  C   The Cast dialog shows a button to stop casting (for more information about disconnecting, see Sender stops cast)

Best practices

  • For Android apps, use the MediaRouter component from the MediaRouter Support Library to implement the Cast dialog. It has all of the UX requirements built right in.
  • Providing a call-to-action (e.g. "Ready to cast videos from this app") within the Cast dialog when connected but not casting, is a great way to teach or remind users about the Cast dialog.

Android

Cast dialog, connected but not casting

Receiver app loaded / idle

iOS

Cast dialog, connected but not casting

Receiver app loaded / idle

 

✔   Cast dialog, while casting

Required
  A   The Cast dialog title "Receiver-Name" appears
  B   The receiver or content currently casting is shown below the title
  C   The Cast dialog shows a button to stop casting (for more information see Sender stops cast)

Best practices

  • For Android apps, use the MediaRouter component from the MediaRouter Support Library to implement the Cast dialog. It has all of the UX requirements built right in.
  • The Cast dialog is a summary of what's casting. Show what's casting with a device name, content title or artwork and basic controls (e.g. Sintel, Casting to Living Room, play/pause).
  • For the best user experience, provide persistent controls in addition to the controls in the Cast dialog.

Android

Cast dialog, while casting

Receiver playing content

iOS

Cast dialog, while casting

Receiver playing content

Chrome

Cast dialog, while casting

Receiver playing content

 

Sender app

When content is casting to a Cast receiver, the user must always be able to control it from the sender app.

Note: In accordance with the Google Cast SDK Additional Developer Terms of Service, a Cast media application must use the Play control APIs (Media Playback Messages) defined for the SDK to control media playback on the receiver.

Sender apps should provide Cast controls in these areas:

The sender app's Cast playback status and controls (e.g. pause/play) across these areas must be in sync with playback changes happening on the receiver, even when not originated by the sender app. This will allow proper handling of both multi-sender commands and the playback control coming from the device’s remote controls, buttons, etc.

Android

Cast dialog controls

Persistent controls

Notification controls

Lock screen controls

iOS

Cast dialog controls

Persistent controls

Chrome

Cast dialog controls

Persistent controls

 

✔   Sender volume controls

The sender app must allow users to control the volume of the content playing on the TV or speakers, using the hardware volume buttons and/or software volume slider on the sending device. These control either of the following:

  • The audio level sent to the TV for Google Cast devices like Chromecast
  • The actual native TV/speaker volume for Google Cast TVs and speakers

Required
  A   The sender app must allow users to control the volume of the content playing on the TV or speakers, using the hardware volume buttons and/or software volume slider on the sending device

  • Android: Support for both hardware buttons and software volume slider is mandatory
  • iOS: Software volume slider is mandatory. Support for hardware buttons is optional, but provides better experience
  • Web/Chrome: Support for the software volume slider is mandatory

  B   On the mobile device the software volume slider must be available in the Cast dialog, while casting
  C   The volume slider in the sender app must sync with the current receiver volume after connecting to the receiver and stay in sync (e.g. track volume changes made on the receiver)
  D   The volume slider in the sender app must reflect volume changes made by other devices (i.e. other senders, or the Chromecast app remote control)
  E   Sender apps should never set volume to a predefined level they should only pass user-initiated volume changes
  F   Android only: When using the hardware buttons to change the volume level on the receiver, a visual volume slider (with a Cast icon to the left of it) must appear when the hardware volume buttons are pressed. Note: for Android Gingerbread (version 2.3), the Cast icon does not appear

Best practices

  • Volume increments:
    • Android: the framework increments the volume automatically.
    • iOS and Chrome: For hardware volume buttons, use increments of less than or equal to 5% of the receiver device's full volume range for audio/video devices, and increments equal to 2% of the receiver device's full volume range for audio-only devices.
  • Volume sliders: for software volume sliders, the Cast SDK will automatically limit the total amount of volume increase (e.g. X% per update), to avoid blowing out speakers. If a user does increase the volume with the slider by a large increment, it automatically “rebounds” back to the actual volume that was set.

✔   Sender expanded controls

The sender app must provide expanded controls for the content being cast. These controls could be directly embedded in a content items page or presented as a full screen view of the persistent controls.

Required
  A   Identify content being cast (e.g. show content title or artwork)
  B   Before playback begins, display a loading indicator (e.g. "Loading") and content title or artwork
  C   When content starts, identify the receiver & state (e.g. "Casting to Receiver-Name")
  D   Provide relevant controls (e.g. play/pause, next/prev)
  E   Show current and remaining playback time, if applicable
  F   Hide controls not relevant to casting (e.g. full-screen button)
  G   Do not disconnect or stop the cast when users navigate away from the expanded controls or content item page
  H   Provide an easy way back to the expanded controls when users navigate away

Best practices

  • Provide a playback position slider for media streams (e.g. streaming movie)
  • Display other meaningful content related artwork and metadata (e.g. show music artist photo when playing an album)
  • Identify elapsed time and content duration for media streams (e.g. streaming movie)

Android

Sender content loading

Receiver content loading

Sender content playing

Receiver playing content

iOS

Sender content loading

Receiver content loading

Sender content playing

Receiver playing content

Chrome

Sender content loading

Receiver content loading

Sender content playing

Receiver playing content

 

✔   Sender persistent controls

Persistent controls should appear when the user navigates away from the current content page or the expanded controls while casting. Persistent controls provide instant access and a visible reminder for the current cast.

Required
  A   A bar or box that shows what's casting appears near the bottom of the sender app. These controls persist while the user browses other content or sections of the app
  B   The controls work best when they are simple and communicate what is being cast (e.g. show content title or artwork and play/pause)
  C   Available in all screens of the app (except the expanded controls page)
  D   Tapping on the content area opens the expanded controls
  E   Provide any other controls relevant to immediate action (e.g. add to favorites)

Best practices
For the best user experience, provide controls in the Cast dialog in addition to persistent controls.

Android

Sender persistent controls

Receiver content paused

iOS

Sender persistent controls

Receiver content paused

Chrome

Sender persistent controls

Receiver content paused

 

✔   Sender notification

Required (Android only)
  A   Display a notification only when the sender app casting is not currently in view (e.g. notification for Play Movies is shown when casting from Play Movies while browsing YouTube)
  B   Use the app icon (not the Cast icon) for the notification in the status bar
  C   Identify which content is casting (e.g. show content title or artwork)
  D   Identify which receiver is casting (e.g. "Casting to Living Room")
  E   Provide basic content controls (e.g. play/pause)
  F   Provide an "X" to stop casting and disconnect from the receiver, in the row of actions
  G   Tapping on the app logo, content title or artwork should open the sender app's expanded controls

Notes

  • Android only: it is not possible to implement this in iOS.
  • In Android Gingerbread (version 2.3), notifications will only show the app icon and text, not play/pause or stop.
  • See Android Sender Apps for more information.

Android

Sender notification icon

Receiver playing content

Sender notification controls

Receiver playing content

 

✔   Sender lock screen

Required (Android only)
  A   Identify content casting using content title or artwork
  B   Identify which receiver is casting (e.g. "Casting to Living Room") This is not required for Music apps
  C   Provide playback controls (e.g. play/pause)
  D   Provide access to the volume control via hardware buttons

Required for Android 4.4 KitKat and later versions:

  • App icon
  • Artwork (e.g. album cover)
  • Identify in text what content is casting (e.g. "Tears of Steel")
  • Identify which receiver is casting (e.g. "Living Room")

Required for Android 4.3 Jelly Bean:

  • Artwork (e.g. album cover)
  • Identify in text what content is casting (e.g. "Tears of Steel")
  • Identify which receiver is casting (e.g. "Living Room")

Notes

  • Android only: it is not possible to implement this in iOS.
  • The lock screen controls are required for Android 4.1 and later versions.
  • Different controls are available for different versions of the Android operating system, and the lock screen can accommodate only text fields. Generally, graphics and iconography more immediately describe the content than text
  • Volume control hardware buttons should adjust the volume on the sender app when the phone is locked
  • The control must use the framework component: MediaSession or MediaSessionCompat (for versions 4.4 and 4.3), or Notifications (for 5.0 and later)

Android

Sender lock screen controls

Receiver playing content

 

✔   Sender resumes cast

A connected sender app should restore its connected state after an implicit disconnect (such as a network drop, device going to sleep, or battery dying).

Required
  A   If the sender app implicitly disconnects (ie. the user did not explicitly stop casting or disconnect), then the casting content should continue playing on the receiver. When the app or connection is restarted, the sender app should restore the connection to the receiver, as long as the receiver session is still current
  B   The Cast button should be restored to the connected state
  C   If the user taps the Cast button before the sender reconnects, the list of receiver devices is shown. When the user selects the receiver currently casting, persistent or expanded controls should appear in the sender app

Notes
The receiver app may also disconnect and stop running, due to a power failure or some other out-of-context interruption. This is treated as an ordinary session end, as described in Sender stops cast.

Android

Selecting the app

Receiver playing content

Cast connection restored

Receiver playing content

iOS

Selecting the app

Receiver playing content

Cast connection restored

Receiver playing content

 

✔   Sender stops cast

Content which is cast to a TV continues playing until either a user chooses Stop Casting or until a sender casts something new. When multiple senders are connected to the same receiver, each sender app should have a Disconnect button (instead of a Stop Casting button) in the Cast dialog.

Required
  A   When multiple senders are connected to a receiver, pressing Stop Casting from one sender app does nothing to the receiver and removes Cast controls and notifications from that sender device. The remaining connected sender device(s) stay connected with Cast controls available.
  B   When a sender app disconnects implicitly (e.g. the sender device battery dies, or the sender device network connection to the receiver drops), it does nothing to the receiver, and removes the Cast controls and notifications from the sender device. The sender app should keep track of implicit disconnections and attempt to reconnect to a receiver when the sender app is opened again.

Android

Cast dialog, disconnect button

Receiver playing content

iOS

Cast dialog, disconnect button

Receiver playing content

Chrome

Cast dialog, disconnect button

Receiver playing content

 

Receiver app

The receiver plays content (e.g. music) and reflects its state to the user (e.g. paused). The receiver must respond immediately to actions in the sender app (e.g. play = continue playing music). For example, when content is paused on the receiver, it displays a pause icon and when the user presses play on the sender app, the receiver starts playing the content and removes the pause icon.

Examples of receiver UI feedback:

  • Playing
  • Paused
  • Playback position / seeking
  • Buffering

✔   Receiver UI

Required
  A   Place most UI elements within the lower 1/4 of the screen to respect the content
  B   Do not present elements as interactive controls (e.g. do not reproduce the sender UI on the receiver UI)

Best practices

  • Use transition (fade), transparency, and nuance to soften the visual effect
  • Consider the fact that users want to see as much of the content as possible. Users will often pause content to examine it, so fade away unnecessary UI when possible (e.g. when paused after a few seconds, all UI except the pause icon fades away).

Android

Sender UI

Receiver UI

iOS

Sender UI

Receiver UI

Chrome

Sender UI

Receiver UI

 

✔   Receiver app idle

An idle screen is displayed on the receiver, when the receiver is connected to a sender but not casting.

Required
  A   Identify which receiver app is loaded (e.g. app logo)

Best practices

  • Use the idle screen to promote content or features from the sender app (e.g. new releases)
  • Change the content every 30-60 seconds to show more and prevent screen burn
  • Disconnect from the receiver app and stop it from running if idle for 5 minutes (or less). When stopped, the receiver home screen appears and will help prevent screen burn.

Android

Cast dialog, connected but not casting

Receiver app loaded / idle

iOS

Cast dialog, connected but not casting

Receiver app loaded / idle

 

✔   Receiver app loading

When a user connects to a receiver, the receiver app must first load before it can display the app idle state or begin playing content.

Required
  A   Identify which receiver app is loading (e.g. show app logo)
  B   Identify that the receiver app is loading (e.g. animated loading spinner)

Android

Sender connecting

Receiver app loading

iOS

Sender connecting

Receiver app loading

Chrome

Sender connecting

Receiver app loading

 

✔   Receiver content loading

Once the receiver app has loaded, content can begin streaming to the receiver.

Required
  A   Identify what content is being loaded (e.g. content title or artwork)
  B   Identify that content is loading (e.g. animated loading spinner)

Best practices
When resuming paused content, rewind playback 5-10 seconds so the viewer doesn't miss anything during the transition from sender to receiver.

Android

Sender content loading

Receiver content loading

iOS

Sender content loading

Receiver content loading

Chrome

Sender content loading

Receiver content loading

 

✔   Receiver playback

Required
  A   Identify what is playing when content starts (e.g. show content title or artwork for a few seconds when playback starts)
  B   Identify playback position when position is adjusted (e.g. user taps rewind 30 seconds in sender app)
  C   Identify that content is seeking when the playback position is changed and not yet playing (e.g. animated spinner)

Android

Sender adjusting play position

Receiver content seeking

iOS

Sender adjusting play position

Receiver content seeking

Chrome

Sender adjusting play position

Receiver content seeking

 

✔   Receiver paused

Required
  A   Identify that content is paused (e.g. show paused icon and playback position)
  B   Identify what content is paused (e.g. show content title or artwork)
  C   Identify which receiver app is loaded (e.g. app logo)

Best practices

  • Users will often pause content to examine it, so have unnecessary UI fade away when paused for a few seconds (e.g. only show pause icon).
  • Disconnect from the receiver app and stop it from running if idle for 20 minutes (or less). When stopped, the receiver home screen appears and will help prevent screen burn. Store the paused location so that the user can resume playback from that point at a later time.

Android

Sender paused

Receiver content paused

Sender paused

Receiver paused, after 5 seconds

iOS

Sender paused

Receiver content paused

Sender paused

Receiver paused, after 5 seconds

Chrome

Sender paused

Receiver content paused

Sender paused

Receiver paused, after 5 seconds

 

✔   Receiver buffering

Buffering on the receiver happens when network latency or other factors cause a delay in playback.

Required
  A   Identify that the receiver is buffering after a few seconds (e.g. show buffering spinner). Waiting a few seconds to indicate buffering will prevent the buffering spinner from appearing too frequently under bad network conditions.

Best practices
Identify what content is buffering if buffering continues after 5 seconds.

Android

Sender indicates receiver buffering

Receiver content buffering

iOS

Sender indicates receiver buffering

Receiver content buffering

Chrome

Sender indicates receiver buffering

Receiver content buffering

 

✔   Receiver stops cast

When playback stops or times out, the receiver UI should promote other content or features available in the sender app.

Required
  A   Identify which receiver app is loaded or idle (e.g. show app logo)

Best practices

  • Use the idle screen after playback to recommend content or features from the sender app, based on what was just cast (e.g. "Next episode of...")
  • Change the content every 30-60 seconds to show more and prevent screen burn
  • Disconnect from the receiver app and stop it from running if idle for 5 minutes (or less). When stopped, the receiver home screen appears and will help prevent screen burn.

Android

Sender app idle

Receiver app idle

Sender disconnected

Cast home screen

iOS

Sender app idle

Receiver app idle

Sender disconnected

Cast home screen

Chrome

Sender app idle

Receiver app idle

Sender disconnected

Cast home screen

 

Changelog

December 9, 2015: Various updates

September 16, 2015: Various updates

  • In Sender expanded controls, "Identify elapsed time and content duration for media streams" is restated as a best practice.

March 18, 2015: Updates for volume controls

November 24, 2014: Updates for guest mode

  • Considerations for guest mode have been added througout

May 9, 2014: Cast dialog, Volume, Notifications, Lockscreen and Translations

  • Receiver status (e.g. "Casting YouTube") is no longer required in devices list of Cast dialog (link)
  • Receiver status and name (e.g. "Casting to Living Room") is no longer required on the lockscreen for music apps (link)
  • In Android, the volume slider with cast icon must appear when pressing the volume hardware keys (link)
  • Controlling the volume of a cast using the volume hardware buttons on a mobile device is no longer required for iOS (link)
  • Use app icon instead of cast icon in notification bar when casting (link)
  • Translations of cast terminology are now available (link)

April 11, 2014: Notifications and Lockscreen

March 21, 2014: Updated cast icon

  • Cast button states checklist requirements have been updated to reflect the new ON / Connected state of the cast icon

March 10, 2014: Introducing Cast

March 7, 2014: Broad refinements

  • Updated checklist titles
  • More clearly defined "Required" & "Best practices"
  • Added sender / receiver screenshot pairs to all states
  • Added animated gifs for loading & connecting states
  • Added terminology section
  • Updated Chrome guidelines to reflect current requirements
  • More clearly defined requirements for Sender stops cast
  • More clearly defined requiremnts for Sender resumes cast
 

 

Images used in this guide are courtesy of the Blender Foundation, shared under copyright or Creative Commons license.

  • Elephant's Dream: (c) copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org
  • Sintel: (c) copyright Blender Foundation | www.sintel.org
  • Tears of Steel: (CC) Blender Foundation | mango.blender.org
  • Big Buck Bunny: (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org