summaryrefslogtreecommitdiffstats
path: root/chromium/docs/website/site/audio-video/autoplay/autoplay-policy-design-rationale/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/docs/website/site/audio-video/autoplay/autoplay-policy-design-rationale/index.md')
-rw-r--r--chromium/docs/website/site/audio-video/autoplay/autoplay-policy-design-rationale/index.md174
1 files changed, 0 insertions, 174 deletions
diff --git a/chromium/docs/website/site/audio-video/autoplay/autoplay-policy-design-rationale/index.md b/chromium/docs/website/site/audio-video/autoplay/autoplay-policy-design-rationale/index.md
deleted file mode 100644
index fce03205fd7..00000000000
--- a/chromium/docs/website/site/audio-video/autoplay/autoplay-policy-design-rationale/index.md
+++ /dev/null
@@ -1,174 +0,0 @@
----
-breadcrumbs:
-- - /audio-video
- - Audio/Video
-- - /audio-video/autoplay
- - Autoplay
-page_name: autoplay-policy-design-rationale
-title: Autoplay Policy Design Rationale
----
-
-This page captures the first principles and design rationale for the autoplay
-policy in Chrome.
-
-#### Problem
-
-Browsers have historically been poor at helping the user manage sound, and
-unwanted noise is the primary reason that users don’t want autoplay. However,
-not all autoplay is unwanted, and a significant portion of blocked autoplays in
-Chrome are subsequently played by the user.
-
-#### Vision
-
-A core mission of Chrome is simplicity and ideally Chrome would accurately allow
-audio playback when a user wants it, and prevent surprises when they don’t. A
-long-term goal is for fewer users to block audio at the OS level, meaning that
-more users will hear sound overall. It’s unlikely that Chrome can be 100%
-accurate at meeting user expectations, but a reasonable vision is:
-
- For 99% of users, Chrome will be 95% accurate at predicting when a user
- wants an audible playback before a user gesture on a page.
-
- In cases where Chrome is inaccurate (for example, while learning the user’s
- preferences), 99% of the time the user will control sound by interacting
- with the page.
-
- When the page does not allow the user to control sound, or when a user more
- generally has different requirements than what Chrome can provide, Chrome
- will provide the user control over their browsing experience. Direct
- interaction with Chrome to manage sound will be infrequent.
-
-Realization of this vision would result in the following user experience:
-
- In 95% of browsing sessions, audio will match user expectations.
-
- In 4.95% of browsing sessions, users will interact with the page to control
- audio.
-
- In 0.05% of browsing sessions, users will either terminate the session or
- will use Chrome to control audio.
-
-#### Core Principles
-
-The following core principles were used to design Chrome’s autoplay policy.
-
-Note that these principles do not apply when the user has made an explicit
-choice in Chrome to control sound for a site. For example, if a user has muted a
-site, these principles do not apply.
-
-1. User Gesture Should Allow Sound
-
-If users ask for sound, they should get it. A core user expectation is that
-hitting ‘play’ (e.g. on a media element or a game) will enable audio. But any
-HTML element could be a ‘play’ button and Chrome can’t tell the difference.
-Thus, Chrome must assume that any user gesture should allow sound playback on
-the page.
-
-2. Sites Can’t Control The Policy
-
-There are incentives for sites to play video and audio regardless of user
-expectations, and sites will leverage any API they can to play audio on page
-load. The site cannot be a steward of the user’s audio experience before a user
-gesture, and cannot override Chrome’s policy choices. For this reason, the site
-cannot override Chrome’s choices or control when autoplay is allowed.
-
-3. The Site Must Know when Audio or Autoplay is Blocked
-
-When the policy blocks autoplay for audible media, site developers may want to
-show a different user experience (e.g. click-to-play), apply different logic
-(e.g. choosing muted ads), and at the very least will want to update any visual
-indication of audio playback state (e.g. a volume status indicator). For this
-reason, if autoplay with audio is blocked the site must know that it is blocked.
-
-4. The Site Must Be Allowed To Request the User Gesture
-
-A user gesture is on the page, and the site is thus best positioned to present a
-UX that explains the impact of a user gesture to enable sound, give a place to
-click or tap, and apply logic to that user gesture. Alternatives where Chrome
-enables sound arbitrarily will be more confusing for the user. For this reason,
-the site (not Chrome) is in the best position to help the user play media with
-sound.
-
-5. The Site Needs Predictable Behavior
-
-When sound is allowed, developers need predictable control over audio playback
-state, to ensure that the right elements are playing, the UX is in sync, and the
-timing of audio playback is aligned with other elements on the page.
-Alternatives where Chrome enables sound or plays media arbitrarily may break
-sites or cause a poor user experience. For this reason, the site must be
-responsible for starting playback or enabling audio when it is allowed.
-
-6. User-Initiated Audio Playback is a Moderately Strong Signal to Chrome
-
-Sustained, audible playback as a result of a user gesture is a moderately strong
-signal that audio was desired. This signal is not perfect (e.g. a site could
-hijack a click and play audio on a system that has no speakers). However, Chrome
-will use regular, sustained playback as a signal of user intent.
-
-7. Chrome Must Learn And Adapt to User Preferences
-
-A key learning from early MEI analysis was that there is a wide range of user
-preferences for audio playback. This is true not only across different sites,
-but even within the same site where one user might find audio annoying, but
-another will expect it to work automatically. Chrome cannot rely upon a static
-list of ‘acceptable’ sites and must learn and adapt to individual user
-preferences. As such, for each individual user Chrome will learn on which sites
-autoplay is expected, and where it is not. All sites will be subjected to the
-same rules; there are no sites where autoplay is always expected by all users.
-
-#### Design Implications
-
-The above principles drive the following design conclusions:
-
-Chrome Can’t Prompt To Enable Audio
-
-Sites will generally present a UX that allows the user to enable audio. If
-Chrome adds its own prompt, this will lead to user confusion about where to
-click, and additional friction in cases where users end up clicking twice.
-(Note: A more subtle UX such as a play/pause button in the Omnibox may still be
-acceptable, especially if the logic which detects when to display it is designed
-to avoid confusion.)
-
-Chrome Can’t Use Tab Muting For Automatic Control
-
-Automatic management of sound through tab muting wouldn’t allow the site to
-detect that they were muted, and wouldn’t allow them to manage user
-expectations. Further, it would prevent the site from prompting for a user
-gesture and managing user expectations.
-
-The Site (not Chrome) Must Enable Audio
-
-If Chrome enables audio, it may appear random to the developer, meaning that the
-site UX gets out of sync, and developers may lose control over which audio
-elements are playing. Further, the developer may (in response to a user gesture)
-wish to perform tasks before enabling sound. The developer, not Chrome, must be
-responsible for enabling sound after a user gesture.
-
-Blocking, Not Muting, for Chrome’s Default Behavior
-
-Blocking audio is a predictable, active signal that audio is not allowed. Mute
-state introduces unpredictability for developers, because it requires a query
-after audio has started. In cases where audio playback triggers a visual
-display, developers may not be able to prevent a brief flash of visuals before
-they can make the query and disable the visuals.
-
-Further, (1) the use of mute state is inconsistent with existing policies for
-audio management (e.g. in other browsers, on mobile, or in IFrames), (2) not all
-audio APIs have provisions for muting, (3) for APIs that do have mute
-attributes, making them dynamically controlled by Chrome overloads their
-behavior, and (4) it consumes more CPU power to have a running (muted) stream
-than a stopped one.
-
-Not like pop-up blocker
-
-Sound management will not eliminate sound, nor will it eliminate autoplay (which
-will be allowed when Chrome believes the user wants it). The frequency of
-scenarios where a user wants autoplay will not decrease over time. This puts
-autoplay in a different category than other types of interventions, where the
-behavior being blocked is expected to fall into disuse, reducing the frequency
-of Chrome-based prompts.
-
-Further, it is expected that over time most sites will monitor their attempts to
-autoplay and manage the user experience when it is not allowed. This will over
-time reduce the need for any type of Chrome-based prompt to enable blocked
-autoplay. \ No newline at end of file