Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

[Telemetry] Media controls #5197

Closed
vesta0 opened this issue Sep 10, 2019 · 16 comments
Closed

[Telemetry] Media controls #5197

vesta0 opened this issue Sep 10, 2019 · 16 comments
Assignees
Labels
E2 Estimation Point: easy, half a day to 2 days eng:qa:verified QA Verified Feature:Media Feature:Telemetry
Milestone

Comments

@vesta0
Copy link
Collaborator

vesta0 commented Sep 10, 2019

Description & Product Manager / Data Scientist User Story

As a product owner, I want to know how often users are interacting with media controls in the browser.

Hypothesis

We believe this feature is useful to users, and successful when it is addressing user needs.

What questions will you answer with this data?

How often users interact with media controls?

Why does Mozilla need to answer these questions? Are there benefits for users? Do we need this information to address product or business requirements?

This helps us learn a few things:

  • Usefulness of media controls
  • How often users use the browser to play media? This helps us prioritize media related bugs and features?
  • How often users have multiple open tabs playing media

What probes (suggested, if applicable)

  • Pause/Play interaction on each tab
  • Pause/Play interaction on the notification

Acceptance Criteria (Added by PM)

  • Event pings can be queried via re:dash
  • We are sending telemetry events for the actions listed in the requirements
  • We have documented the telemetry
  • We have asked a data steward to review the telemetry
  • NOT an AC: Data science to create dashboard or further graphs (this will be a separate issue, this issue is only about hooking up the events described and that they can be queried in re-dash)

┆Issue is synchronized with this Jira Task

@vesta0 vesta0 added this to To be Triaged in Fenix Sprint Kanban via automation Sep 10, 2019
@vesta0 vesta0 moved this from To be Triaged to In Design in Fenix Sprint Kanban Sep 10, 2019
@vesta0 vesta0 moved this from In Design to Prioritized Feature Backlog in Fenix Sprint Kanban Sep 10, 2019
@sblatz sblatz self-assigned this Sep 12, 2019
@sblatz sblatz added the E2 Estimation Point: easy, half a day to 2 days label Sep 12, 2019
@sblatz sblatz moved this from Prioritized Feature Backlog to Sprint Backlog in Fenix Sprint Kanban Sep 12, 2019
@sblatz
Copy link
Contributor

sblatz commented Sep 12, 2019

@pocmo are you able to handle the notification portion of this ticket?

Pause/Play interaction on the notification

@pocmo
Copy link
Contributor

pocmo commented Sep 12, 2019

@pocmo are you able to handle the notification portion of this ticket?

Yes, I filed the following AC issue:
mozilla-mobile/android-components#4396

Like for other components we will emit Fact objects from the media feature and Fenix can process those to send telemetry events.

@sblatz sblatz moved this from Sprint Backlog to In Review in Fenix Sprint Kanban Sep 12, 2019
@vesta0 vesta0 added this to Should in Fenix Q3 Feature Backlog Sep 13, 2019
@sblatz sblatz added the 🙅 waiting Issues that are blocked or has dependencies that are not ready label Sep 19, 2019
@project-bot project-bot bot moved this from In Review to Waiting in Fenix Sprint Kanban Sep 19, 2019
@pocmo
Copy link
Contributor

pocmo commented Sep 20, 2019

I'm about to put up a PR with the following Facts being emitted from the component:

Action Item Description
PLAY state Media started playing.
PAUSE state Media playback was paused.
STOP state Media playback has ended.
PLAY notification Play action of notification was invoked
PAUSE notification Pause action of notification was invoked

@sblatz
Copy link
Contributor

sblatz commented Sep 20, 2019

Thanks @pocmo! Please tag me for review on that so I get notified when it's merged and can implement in Fenix.

@pocmo
Copy link
Contributor

pocmo commented Sep 23, 2019

Landed in AC. Removing the "waiting" label here.

@pocmo pocmo removed the 🙅 waiting Issues that are blocked or has dependencies that are not ready label Sep 23, 2019
@sblatz sblatz moved this from Waiting to In Progress in Fenix Sprint Kanban Sep 23, 2019
@sblatz
Copy link
Contributor

sblatz commented Sep 23, 2019

I will add these events as soon as they land in the snapshot 😄

sblatz added a commit to sblatz/fenix that referenced this issue Sep 24, 2019
sblatz added a commit to sblatz/fenix that referenced this issue Sep 24, 2019
@sblatz sblatz moved this from In Progress to In Review in Fenix Sprint Kanban Sep 24, 2019
sblatz added a commit to sblatz/fenix that referenced this issue Sep 24, 2019
sblatz added a commit to sblatz/fenix that referenced this issue Sep 24, 2019
sblatz added a commit to sblatz/fenix that referenced this issue Sep 25, 2019
@sblatz sblatz added the eng:qa:needed QA Needed label Sep 27, 2019
@sblatz sblatz moved this from In Review to Ready for QA in Fenix Sprint Kanban Sep 27, 2019
@abodea
Copy link
Member

abodea commented Sep 30, 2019

As the v2.1.0-rc.1 couldn't be installed, I used a build from taskcluster.

Please note the following:

Action Item Description Works?
PLAY state Media started playing.
PAUSE state Media playback was paused.
STOP state Media playback has ended.
PLAY notification Play action of notification was invoked
PAUSE notification Pause action of notification was invoked

Note that I was able to trigger the Event pings only for the notification bar.
For the Play, Pause, Stop I couldn't trigger the events.
@sblatz the events should trigger if I Play / Pause any video from YouTube right?
Is the item: Notification referring to the media control bar?
Is the item: State referring when I play/pause a video in normal browsing on YT for example?
Also, note that I tried for the stop, to let a video until it disappears and after that to trigger the event but with 0 success.

Note the following:
{
      "events": [
        {
          "timestamp": 0,
          "category": "media_notification",
          "name": "pause"
        },
        {
          "timestamp": 1085,
          "category": "media_notification",
          "name": "play"
        }
      ],
      "ping_info": {
        "ping_type": "events",
        "seq": 8,
        "start_time": "2019-09-30T08:34-04:00",
        "end_time": "2019-09-30T08:36-04:00"
      },
      "client_info": {
        "telemetry_sdk_build": "14.0.1",
        "first_run_date": "2019-09-30-04:00",
        "os": "Android",
        "android_sdk_version": "28",
        "os_version": "9",
        "device_manufacturer": "Google",
        "device_model": "Pixel 3a XL",
        "architecture": "arm64-v8a",
        "app_channel": "release",
        "app_build": "12701924",
        "app_display_version": "Unknown",
        "client_id": "9d29dbf9-a19c-482e-aec7-b528ba3db822"
      }
    }
Second event 
{
      "events": [
        {
          "timestamp": 0,
          "category": "media_notification",
          "name": "pause"
        },
        {
          "timestamp": 853,
          "category": "media_notification",
          "name": "play"
        },
        {
          "timestamp": 1620,
          "category": "media_notification",
          "name": "pause"
        },
        {
          "timestamp": 2337,
          "category": "media_notification",
          "name": "play"
        }
      ],
      "ping_info": {
        "ping_type": "events",
        "seq": 5,
        "start_time": "2019-09-30T08:30-04:00",
        "end_time": "2019-09-30T08:31-04:00"
      },
      "client_info": {
        "telemetry_sdk_build": "14.0.1",
        "first_run_date": "2019-09-30-04:00",
        "os": "Android",
        "android_sdk_version": "28",
        "os_version": "9",
        "device_manufacturer": "Google",
        "device_model": "Pixel 3a XL",
        "architecture": "arm64-v8a",
        "app_channel": "release",
        "app_build": "12701924",
        "app_display_version": "Unknown",
        "client_id": "9d29dbf9-a19c-482e-aec7-b528ba3db822"
      }
    }
Based on my comment I will remove the qa:needed.

@abodea abodea removed the eng:qa:needed QA Needed label Sep 30, 2019
@project-bot project-bot bot moved this from Ready for QA to In Progress in Fenix Sprint Kanban Sep 30, 2019
@sblatz
Copy link
Contributor

sblatz commented Sep 30, 2019

@vesta0 do you care to track the following telemetry events?

Action Item Description Works?
PLAY state Media started playing.
PAUSE state Media playback was paused.
STOP state Media playback has ended.

I intentionally did not record them, but we have hooks if you think they're necessary. We have events for the user pressing the play/pause button on both the tab and the media notification which was the original acceptance criteria for this ticket :)

@abodea
Copy link
Member

abodea commented Sep 30, 2019

@sblatz also, if you can tell me STOP should be also present for the media notification?
I can say for example open media notification and let a video until the end, the notification will disappear, in this case we should have the media notification stop?

@sblatz
Copy link
Contributor

sblatz commented Sep 30, 2019

@abodea I intentionally do not track that right now :)

Going to see if Vesta wants that or not 😄

@abodea
Copy link
Member

abodea commented Sep 30, 2019

Oh, ok thank you @sblatz.

@vesta0
Copy link
Collaborator Author

vesta0 commented Oct 1, 2019

@sblatz we don't need the other probes at this time, thanks for checking!

@sblatz
Copy link
Contributor

sblatz commented Oct 1, 2019

@abodea I think this can be closed then. Please re-open if you disagree 😄

@sblatz sblatz closed this as completed Oct 1, 2019
Fenix Sprint Kanban automation moved this from In Progress to Sprint 10.1 Done Oct 1, 2019
Fenix Q3 Feature Backlog automation moved this from Should to Done! Oct 1, 2019
@sblatz sblatz moved this from Sprint 10.1 Done to (DO NOT USE) Done in Fenix Sprint Kanban Oct 1, 2019
@sblatz sblatz moved this from (DO NOT USE) Done to Sprint 10.1 Done in Fenix Sprint Kanban Oct 1, 2019
@pocmo
Copy link
Contributor

pocmo commented Oct 1, 2019

Just FYI: I added those facts to answer this question:

How often users use the browser to play media? This helps us prioritize media related bugs and features?
The state ones will be the only ones that tell you that someone is playing/pausing/stopping media in ALL cases.

@abodea abodea added the eng:qa:verified QA Verified label Oct 1, 2019
@abodea
Copy link
Member

abodea commented Oct 1, 2019

Awesome, thx @sblatz and @pocmo, I added the qa:verified label as my verification is still valid.

@vesta0
Copy link
Collaborator Author

vesta0 commented Oct 1, 2019

Great point @pocmo :) Since Autoplay is supposed to be by default, I figured we can measure how often users use the browser to play media by how often they interact with the media controls. But I see what you mean about media usage in general. I think it's a good idea to add those. Created another issue for it #5705 @sblatz

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
E2 Estimation Point: easy, half a day to 2 days eng:qa:verified QA Verified Feature:Media Feature:Telemetry
Projects
No open projects
Development

No branches or pull requests

4 participants