[meta] Listen to Page: UI and final integration
Categories
(Firefox for Android :: Contextual AI, task, P2)
Tracking
()
People
(Reporter: bclark, Unassigned)
References
(Depends on 13 open bugs)
Details
(Keywords: meta, Whiteboard: [android-core])
Meta bug for epic 8 of Listen to a Page: the UI the user actually sees.
Jira epic: https://mozilla-hub.atlassian.net/browse/FXDROID-10214
Parent theme: https://mozilla-hub.atlassian.net/browse/FXMO-902
The player floats over the article at the bottom of the screen. It is not a separate screen and there
is no navigation involved. This epic starts as soon as bugs 2064816 and 2064817 land, and it runs
alongside epics 3 to 6. The controls dispatch their actions from day one. They do nothing until the
epic that owns each behaviour lands, and then they work with no change here.
SCOPE (11 tickets, 28 points)
2067125 3 Host the Listen player in the browser screen
2067126 3 Build the Listen player card, both sizes
2067127 2 Add the playback speed popup
2067128 2 Add the voice selection popup
2067129 3 Make the Listen progress bar draggable
2067130 3 Show every Listen error to the user
2067131 2 Collapse the Listen player when the article is scrolled
2067132 2 Scroll the article title while Listen is playing
2067133 2 Add the Read aloud entry button
2067134 3 Accessibility pass over the Listen player
2067135 3 Polish pass over the Listen player, once the designs are final
DEPENDENCY GRAPH
2064816 module ──┐
2064817 state ───┴──► 2067125 host ──┬──► 2067130 errors ──┐
│ │
2064817 state ──────► 2067126 card ──┼──► 2067127 speed ────┤
│ │ │
│ └──► 2067131 collapse ─┤
├──► 2067128 voice ──────────────────┤
├──► 2067129 scrubber ───────────────┼──► 2067134 a11y ──► 2067135 polish
└──► 2067132 marquee ────────────────┤
│
2064879 eligibility ──► 2067133 read aloud ──────────────────┘
2067125 and 2067126 are independent of each other. 2067125 renders a placeholder box until 2067126
lands, and whichever goes second gets the real composition.
TWO SOFT DEPENDENCIES, DELIBERATELY NOT FILED AS depends_on
- 2067128 (voice popup) needs bug 2064866 for real voice data, but it can be built and merged
against an empty list. - 2067129 (scrubber) dispatches SeekRequested, whose behaviour lands in bug 2064871 in epic 5. It
can be built and merged before that.
Both follow the pattern of the whole epic: dispatch now, work later, with no change here.
STRINGS
While the Figma designs are not final, every new user-visible string goes in the module's own
static_strings.xml, or Fenix's static_strings.xml. Once the designs are final the strings move into
strings.xml, in both the module and Fenix. Bug 2067135 owns that move.
STILL BLOCKED ON FINAL DESIGNS
Two bugs say so on their face: 2067135, the polish pass, and 2067133, the Read aloud entry button.
Everything else can be built against the current frames. Dimensions and colours are not final
anywhere in this epic, so build roughly right and expect the one polish pass.
OUT OF SCOPE
- Tablets and foldables. Every design frame is phone-sized, and PdfToolsBehavior's tablet branch is
deliberately not copied. - Listening outside Reader Mode, offline and Downloads integration, and AI audio summaries. All V2.
OPEN ITEM
The shaping refers to a ticket in epic 7 that removes the Listen button from the reader controls bar.
Epic 7 was filed as bugs 2064876 to 2064880 and none of them does that. 2067133 must land before
whatever removes that button, or there is no way to start playback. Flagged on 2067133.
Description
•