Player

UI Elements

The Player is the control that plays audio right from its cell: play, pause, and a timer that follows playback.

Introduction

The Player is the playback control of cells that display audio content, such as podcasts: it lets users start the audio right from the cell, without opening a detail view. It is a control, not a marker: the icon that only signals playable media, without controlling it, is the Play.

The Player stays in sync with the app's audio player: starting a sound from a cell opens the mini-player, and the two keep reflecting each other during playback.

Anatomy

The icon and the timer

The Player is a play or pause icon and a timer, side by side. The icon carries the interaction; the timer tells how long the episode is, and follows playback once it has started.

The icon and the timer, side by side

The icon and the timer, side by side

Properties

Two variants

The Player can be displayed in two modes. In the first, it sits in a dedicated background block, which makes it visually distinct. In the second, it is integrated directly into the interface, without any background separation: the icon lives in a small badge of its own, and that badge is always round.

On a background block, and integrated without one

On a background block, and integrated without one

Shape

On the variant with a background, the Shape atom applies to the block, from Sharp to Round, and in Round, the block becomes a pill. On the variant without a background, the badge of the icon stays a circle whatever the shape of the app.

Sharp, Rounded and Round on the block: in Round, it becomes a pill

Sharp, Rounded and Round on the block: in Round, it becomes a pill

Color

The play icon and the pause icon each have their own color, and so does the timer. On the variant with a background, the color of the block can be customized too.

The icons and the timer on the chosen color

The icons and the timer on the chosen color

Background

On the variant with a background, the block is black at 50% opacity with a blur by default, like the Play: the icon and the timer stay readable over any picture, and what is underneath shows through, out of focus.

Black at 50% with a blur: what is underneath shows through, out of focus

Black at 50% with a blur: what is underneath shows through, out of focus

Layout

Size and spacing

These values are identical from one device to another. On the variant with a background, the icon sits in a 24px frame, 2px from the timer, and the block wraps them with 4px above and below, 8px on the left, 12px on the right. On the variant without a background, no additional padding applies, and the gap between the icon and the timer grows to 8px. By default, the timer is written in the system font, at 13px. Its font can be customized.

The paddings of the block, the icon frame, and the two gaps

The paddings of the block, the icon frame, and the two gaps

Placement

The Player's place depends on its variant: with its background, it anchors in the bottom-left corner of the media; without it, it sits at the bottom of the cell, on the left, on the same row as the actions.

With its background, on the media; without it, at the bottom of the cell

With its background, on the media; without it, at the bottom of the cell

Behavior

The timer

By default, the timer displays the total duration of the episode, in minutes and seconds only when the podcast is shorter than an hour. While the sound plays, it shows the progress of the audio, in real time. And when an episode has been partly listened to and is not the active one, the timer shows the remaining time instead: 1h12 left, 12 min left, 42s left. Once an episode has been listened to almost to the end, the timer goes back to the total duration.

The total duration, the live progress, and the remaining time

The total duration, the live progress, and the remaining time

Play and pause

When the sound is not playing, a tap on the Player launches it and opens the mini-player. When it is playing, a tap pauses it and updates the mini-player. The cell and the mini-player stay in sync. Whether users pause or resume from either side, switch tracks, move the progress bar or close the mini-player, the timer of the cell always reflects the current state.

When playback is not available

Playback can be unavailable: paid content, a file error, a missing audio source, or, in the Favorites, an episode still downloading. The Player is then disabled: the timer shows the duration grayed out, or --:-- when the duration itself is unknown.

The disabled Player, grayed out: with its duration, or --:-- when it is unknown

The disabled Player, grayed out: with its duration, or --:-- when it is unknown