User Experience With the Google Cast Platform
Stay organized with collections
Save and categorize content based on your preferences.
Google Cast allows Android, iOS, and Chrome web apps to "stream" content —
like video, audio and screen sharing (mirroring) — to Cast-ready devices
like:
- Google Chromecast
- TVs that work with Google Cast
- Speakers that work with Google Cast
- Smart Displays (a portable touchscreen LCD monitor used as a thin client)
- Android Tablets
In the Google Cast interaction model, the mobile phone, tablet or laptop is the
sender which acts as a remote control to control the playback, and the TV,
display or docked tablet is the receiver which receives instructions from
the sender and displays the content from the receiver's Internet connection. All
the user actions (taps and swipes) can take place on both the sender device
or the Web Receiver.
Casting relies on the coordination between two or more screens; the sender UI
and the receiver UI — they must work together. For example, if you press a
button on a mobile device to pause the content, the TV should indicate that it
is paused, while the mobile device should provide a play button to resume
playback.
Considerations
Due to hardware and resource limitations, there are certain restrictions placed
on Google Cast-enabled applications:
- The Cast device is a low-power device with memory, CPU and GPU limitations,
so the Web Receiver application should be as lightweight as possible.
- For Cast and Google Cast interaction models, tabs, windows
or popups can be created in both the Web Receiver or sender app, as well as
directly accept user input, such as taps or swipes. For example, the Web
Receiver app on a docked tablet or display can display a pause button and
receive a user's tap. In this way, all actions on the application must be
triggered from either a Web Receiver or sender application.
- Smart Displays support user input through a sender app or via touch on
the UI.
- The Web Receiver is a Chrome browser optimized for video playback. As such,
WebGL and Chrome Native Client (NaCL) are not currently supported, nor are
Chrome extensions.
- Cast supports a single concurrent media stream playback in the
<audio>
and <video>
tags, or multiple audio tracks using the
WebAudio API. Only one video element may be active in the DOM at any time.
Additionally, video compositing, manipulation, transformations, rotations or
zooming are not supported.
Overall design principles
Keep the following in mind as you develop your user interface.
Web Receiver interface:
- The Web Receiver can have both interactive elements and informational
elements to describe the state of the app, such as paused or playing, or
error messages. User interaction can take place on the Cast sender (phone,
tablet, or Chrome browser) or the Web Receiver (TV, displays, or tablets).
- Remember that the video action is happening in the middle of the TV screen,
and your UI elements should not interfere with the presentation. Place UI
elements within the lower third of the Web Receiver display, leaving a 10%
margin from the edges of the screen for possible
overscan.
- When possible, transitions from one screen state to another should be smooth
and feel cinematic. Rather than abrupt moves from state to state, use
transitions like fade-in and fade-out. For example, the content-loading
state lingers on-screen and fades into the media playing experience.
Sender interface:
- The sender supports user actions and the Web Receiver displays state information.
For example, if content is paused, the TV should indicate that it is paused,
while the mobile device indicates it is ready to start playing (for example,
showing the user a play button).
- Speed matters. Users need to be able to quickly locate the casting control
and see content start playing immediately on the large screen. While content
is loading, provide animated loading indicators and use transitions to help
make things feel faster.
The easiest way to ensure that your Cast application follows these principles is
to review your user interface with the Cast Design Checklist
and test your Cast applications.
Brand guidelines
The following Google Cast brand guidelines are for app developers and focus on
the additional requirements you must comply with to describe your app in text.
For Cast devices brand guidelines see the
Partner Marketing Hub.
You can let others know that your app works with Google Cast by using
the term "Google Cast-enabled". However be sure that your app complies
with the Cast SDK Additional Developer Terms of Service
and the Design Checklist, and that your
use of "Google Cast-enabled" complies with our branding guidelines.
You can similarly use a Google Cast badge
as long as your app or device complies with our badging guidelines. Google
reserves the right to request that you modify or cease your use of the badge if
it does not comply with the brand guidelines.
"Google Cast" in text
- When describing an app (not a hardware product) as being Cast-enabled, use
the phrase "Google Cast-enabled". For example: "This app is Google
Cast-enabled".
- When describing a Cast compatible third-party hardware product, use
"This {TV} works with Google Cast", "These {speakers} work with Google
Cast".
- When written in text, "Google" and "Cast" should be capitalized.
- In any marketing asset that uses "Google Cast" in text or the badge/logo,
you must include the following legal attribution: Google Cast is a trademark
of Google LLC.
- Don't put Google Cast in the title of the app (such as XYZ Google Cast
App).
Google Cast-enabled app messaging
You can promote your app as follows:
- "XYZ is a Google Cast-enabled app which lets you stream your favorite
entertainment from your mobile device to your TV."
- "The XYZ app is now available for TVs that work with Google Cast."
- "The XYZ app is now available for all Google Cast products including
Google Chromecast, Google Cast Audio, and TVs and speakers that work with
Google Cast."
- "The XYZ app is Google Cast-enabled, allowing you to enjoy all your favorite
shows/movies/music/games on your TV that works with Google Cast."
- "The XYZ app now has Google Cast support, allowing users to stream content
from their phone to their TV that works with Google Cast."
Google Cast badge
You can use the "Google Cast" badges on your website, app store listing,
marketing materials and promotional materials to display compatibility with
devices that use the Cast protocol.
- Don't modify the color, proportions, spacing or any other aspect of the
badge image.
- When used alongside logos for other ingredient technologies (for example,
Bluetooth, Spotify Connect, AirPlay, etc.), the Google Cast badge must be of
equal or greater size.
- Don't make the badge the primary element on your page.
- Keep some distance between the badge and other logos and icons on your page.
- When used on white, light, or medium-toned background, use a black badge.
- When used on a black or dark-toned background, use the white badge.
- Don't use the badge on a page that contains or displays adult content,
promotes gambling, promotes violence, contains hate speech, involves the
sale of tobacco or alcohol to persons under twenty-one years of age,
violates other applicable laws or regulations or is otherwise objectionable.
Badge linking
When used online, the Google Cast badge must link to one of the following:
- Google's list of Google Cast-enabled apps and products at
g.co/castapps.
- A list of products published by you.
- A specific product detail page published by you.
- A list of apps published by you.
- A specific app detail page published by you, on Google Play, or in the Apple
App Store.
Download Google Cast badge assets
The download bundle includes Portable Network Graphics (.png), Adobe
Illustrator (.ai), and Enapsulated Postscript (.eps) formats.
Preview Google Cast badges
Refer to the Partner Hub Badges Guidelines page
for all available badges and instructions on usage.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-24 UTC.
[null,null,["Last updated 2024-10-24 UTC."],[[["\u003cp\u003eGoogle Cast enables streaming of content like video and audio from Android, iOS, and Chrome to compatible devices.\u003c/p\u003e\n"],["\u003cp\u003eThe sender device (phone, tablet, laptop) acts as a remote, while the receiver device (TV, speaker, display) plays the content.\u003c/p\u003e\n"],["\u003cp\u003eBoth sender and receiver UIs must be coordinated for a seamless user experience, with actions reflected on both.\u003c/p\u003e\n"],["\u003cp\u003eWeb Receiver applications should be lightweight due to device limitations, and interactive elements should be strategically placed for optimal viewing.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Cast branding guidelines must be followed when promoting app compatibility, including using the approved badge and messaging.\u003c/p\u003e\n"]]],["Google Cast enables content streaming from sender devices (phones, tablets, laptops) to receiver devices (Chromecast, Cast-enabled TVs/speakers/displays). Senders act as remote controls, while receivers display content from their internet connection. Both sender and receiver UIs coordinate actions like pausing/playing. Design considerations include lightweight receiver apps, UI placement within the lower third of the screen, and smooth transitions. Apps can be described as \"Google Cast-enabled\" and use a Google Cast badge, following specific branding guidelines and linking requirements.\n"],null,["# User Experience With the Google Cast Platform\n\nGoogle Cast allows Android, iOS, and Chrome web apps to \"stream\" content ---\nlike video, audio and screen sharing (mirroring) --- to Cast-ready devices\nlike:\n\n- Google Chromecast\n- TVs that work with Google Cast\n- Speakers that work with Google Cast\n- Smart Displays (a portable touchscreen LCD monitor used as a thin client)\n- Android Tablets\n\nIn the Google Cast interaction model, the mobile phone, tablet or laptop is the\n**sender** which acts as a remote control to control the playback, and the TV,\ndisplay or docked tablet is the **receiver** which receives instructions from\nthe sender and displays the content from the receiver's Internet connection. All\nthe user actions (taps and swipes) can take place on **both** the sender device\nor the Web Receiver.\n\nCasting relies on the coordination between two or more screens; the sender UI\nand the receiver UI --- they must work together. For example, if you press a\nbutton on a mobile device to pause the content, the TV should indicate that it\nis paused, while the mobile device should provide a play button to resume\nplayback.\n\nConsiderations\n--------------\n\nDue to hardware and resource limitations, there are certain restrictions placed\non Google Cast-enabled applications:\n\n- The Cast device is a low-power device with memory, CPU and GPU limitations, so the Web Receiver application should be as lightweight as possible.\n- For Cast and Google Cast interaction models, tabs, windows or popups can be created in both the Web Receiver or sender app, as well as directly accept user input, such as taps or swipes. For example, the Web Receiver app on a docked tablet or display can display a pause button and receive a user's tap. In this way, *all* actions on the application must be triggered from either a Web Receiver or sender application.\n- Smart Displays support user input through a sender app or via touch on the UI.\n- The Web Receiver is a Chrome browser optimized for video playback. As such, WebGL and Chrome Native Client (NaCL) are not currently supported, nor are Chrome extensions.\n- Cast supports a single concurrent media stream playback in the `\u003caudio\u003e` and `\u003cvideo\u003e` tags, or multiple audio tracks using the WebAudio API. Only one video element may be active in the DOM at any time. Additionally, video compositing, manipulation, transformations, rotations or zooming are not supported.\n\nOverall design principles\n-------------------------\n\nKeep the following in mind as you develop your user interface.\n\n**Web Receiver interface:**\n\n- The Web Receiver can have both interactive elements and informational elements to describe the state of the app, such as paused or playing, or error messages. User interaction can take place on the Cast sender (phone, tablet, or Chrome browser) or the Web Receiver (TV, displays, or tablets).\n- Remember that the video action is happening in the middle of the TV screen, and your UI elements should not interfere with the presentation. Place UI elements within the lower third of the Web Receiver display, leaving a 10% margin from the edges of the screen for possible [overscan](/cast/docs/caf_receiver/customize_ui#overscan).\n- When possible, transitions from one screen state to another should be smooth and feel cinematic. Rather than abrupt moves from state to state, use transitions like fade-in and fade-out. For example, the content-loading state lingers on-screen and fades into the media playing experience.\n\n**Sender interface:**\n\n- The sender supports user actions and the Web Receiver displays state information. For example, if content is paused, the TV should indicate that it is paused, while the mobile device indicates it is ready to start playing (for example, showing the user a play button).\n- Speed matters. Users need to be able to quickly locate the casting control and see content start playing immediately on the large screen. While content is loading, provide animated loading indicators and use transitions to help make things feel faster.\n\nThe easiest way to ensure that your Cast application follows these principles is\nto review your user interface with the Cast [Design Checklist](/cast/docs/design_checklist)\nand [test your Cast applications](/cast/docs/testing).\n\nBrand guidelines\n----------------\n\nThe following Google Cast brand guidelines are for app developers and focus on\nthe additional requirements you must comply with to describe your app in text.\nFor Cast devices brand guidelines see the\n[Partner Marketing Hub](https://partnermarketinghub.withgoogle.com/brands/google-cast/overview/brand-introduction/).\nYou can let others know that your app works with Google Cast by using\nthe term \"Google Cast-enabled\". However be sure that your app complies\nwith the Cast [SDK Additional Developer Terms of Service](/cast/docs/terms)\nand the [Design Checklist](/cast/docs/design_checklist), and that your\nuse of \"Google Cast-enabled\" complies with our branding guidelines.\n\nYou can similarly use a [Google Cast badge](#google_cast_badge)\nas long as your app or device complies with our badging guidelines. Google\nreserves the right to request that you modify or cease your use of the badge if\nit does not comply with the brand guidelines.\n\n### \"Google Cast\" in text\n\n- When describing an app (not a hardware product) as being Cast-enabled, use the phrase \"Google Cast-enabled\". For example: \"This app is Google Cast-enabled\".\n- When describing a Cast compatible third-party hardware product, use \"This {TV} works with Google Cast\", \"These {speakers} work with Google Cast\".\n- When written in text, \"Google\" and \"Cast\" should be capitalized.\n- In any marketing asset that uses \"Google Cast\" in text or the badge/logo, you must include the following legal attribution: Google Cast is a trademark of Google LLC.\n- Don't put Google Cast in the title of the app (such as XYZ Google Cast App).\n\n### Google Cast-enabled app messaging\n\nYou can promote your app as follows:\n\n- \"XYZ is a Google Cast-enabled app which lets you stream your favorite entertainment from your mobile device to your TV.\"\n- \"The XYZ app is now available for TVs that work with Google Cast.\"\n- \"The XYZ app is now available for all Google Cast products including Google Chromecast, Google Cast Audio, and TVs and speakers that work with Google Cast.\"\n- \"The XYZ app is Google Cast-enabled, allowing you to enjoy all your favorite shows/movies/music/games on your TV that works with Google Cast.\"\n- \"The XYZ app now has Google Cast support, allowing users to stream content from their phone to their TV that works with Google Cast.\"\n\n### Google Cast badge\n\nYou can use the \"Google Cast\" badges on your website, app store listing,\nmarketing materials and promotional materials to display compatibility with\ndevices that use the Cast protocol.\n\n- Don't modify the color, proportions, spacing or any other aspect of the badge image.\n- When used alongside logos for other ingredient technologies (for example, Bluetooth, Spotify Connect, AirPlay, etc.), the Google Cast badge must be of equal or greater size.\n- Don't make the badge the primary element on your page.\n- Keep some distance between the badge and other logos and icons on your page.\n- When used on white, light, or medium-toned background, use a black badge.\n- When used on a black or dark-toned background, use the white badge.\n- Don't use the badge on a page that contains or displays adult content, promotes gambling, promotes violence, contains hate speech, involves the sale of tobacco or alcohol to persons under twenty-one years of age, violates other applicable laws or regulations or is otherwise objectionable.\n\n### Badge linking\n\nWhen used online, the Google Cast badge must link to one of the following:\n\n- Google's list of Google Cast-enabled apps and products at [g.co/castapps](http://g.co/castapps).\n- A list of products published by you.\n- A specific product detail page published by you.\n- A list of apps published by you.\n- A specific app detail page published by you, on Google Play, or in the Apple App Store.\n\n### Download Google Cast badge assets\n\nThe download bundle includes Portable Network Graphics (.png), Adobe\nIllustrator (.ai), and Enapsulated Postscript (.eps) formats.\n\n- [Partner Hub Downloads page](https://partnermarketinghub.withgoogle.com/brands/google-cast/downloads/)\n\n### Preview Google Cast badges\n\nRefer to the [Partner Hub Badges Guidelines page](https://partnermarketinghub.withgoogle.com/brands/google-cast/visual-identity/visual-identity/#badge-guidelines)\nfor all available badges and instructions on usage."]]