Closed
Bug 1401404
Opened 7 years ago
Closed 7 years ago
Include Activity Stream user customizations in AS ping
Categories
(Firefox for Android Graveyard :: Activity Stream, defect, P1)
Tracking
(fennec+, firefox55 unaffected, firefox56 unaffected, firefox57 fixed, firefox58 fixed)
RESOLVED
FIXED
Firefox 58
Tracking | Status | |
---|---|---|
fennec | + | --- |
firefox55 | --- | unaffected |
firefox56 | --- | unaffected |
firefox57 | --- | fixed |
firefox58 | --- | fixed |
People
(Reporter: mcomella, Assigned: liuche)
Details
(Whiteboard: [mobileAS])
Attachments
(1 file)
59 bytes,
text/x-review-board-request
|
francois
:
review+
mcomella
:
review+
Sylvestre
:
approval-mozilla-beta+
|
Details |
(In reply to :Grisha Kruglov from bug 1377288 comment #14)
> A thought: you might want to account for ability to configure the A-S panel.
> Perhaps having an ability to segment analytics (and dashboards) by which
> portions of the UI are enabled would be helpful? I'm not sure if the
> telemetry part of that was done along with other AS Settings work.
Good idea! I filed this bug.
> Also, what does desktop do to account for such user customizations?
It looks like desktop has bit-packed field "user_prefs" in their telemetry (see the description towards the bottom of the page): https://github.com/mozilla/activity-stream/blob/master/docs/v2-system-addon/data_dictionary.md
---
Adding to the current iteration because it sounds useful.
Reporter | ||
Comment 1•7 years ago
|
||
(In reply to Michael Comella (:mcomella) from comment #0)
> It looks like desktop has bit-packed field "user_prefs" in their telemetry
Which I assume is sent for every UI event.
Reporter | ||
Comment 2•7 years ago
|
||
Actually, I asked Maria the priority on Slack: I'll change the flags once I get a response.
tracking-fennec: --- → ?
Iteration: 1.30 → ---
Priority: P1 → --
Reporter | ||
Comment 3•7 years ago
|
||
And please update the docs too!
http://searchfox.org/mozilla-central/source/mobile/android/docs/activitystreamtelemetry.rst
Comment 4•7 years ago
|
||
This should be easy to do as far as adding stuff to the telemetry bundle is concerned.
See https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/ActivityStreamPanel.java#88 for how we set a global "is FxA account present" flag. I reckon this will be very similar.
Reporter | ||
Comment 5•7 years ago
|
||
From Maria: Great if it can land, but we won't hold the release for this.
(In reply to :Grisha Kruglov from comment #4)
> for how we set a global "is FxA account present" flag. I reckon this will be very
> similar.
Don't forget to update this after changing the settings (after bug 1395792) - perhaps we should put this setGlobal in onResume or similar?
tracking-fennec: ? → +
Iteration: --- → 1.30
Priority: -- → P1
Reporter | ||
Comment 6•7 years ago
|
||
From liuche: we record when the preference changes.
---
This will let us know *how often* people toggle these preferences, but will not let us attribute the current preference state to a UI click.
From Grisha: if [the customizations are] used enough, without segmenting A-S dashboards become potentially very misleading
---
So if this doesn't land, we can at least see how important it is that this does land. :)
Reporter | ||
Comment 7•7 years ago
|
||
[eng triage recommendation] P1: Chenxia feels this is easy to fix.
Assignee | ||
Comment 8•7 years ago
|
||
Updating the bug to make it more clear that this is to help us segment usage based on what is actually enabled (e.g., # of highlight clicks/total clicks of people who have highlights enabled).
Summary: Add telemetry for Activity Stream user customization (e.g. disable Pocket panel) → Include Activity Stream user customizations in AS ping
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → liuche
Comment hidden (mozreview-request) |
Comment 10•7 years ago
|
||
mozreview-review |
Comment on attachment 8910957 [details]
Bug 1401404 - Add telemetry for AS content prefs.
https://reviewboard.mozilla.org/r/182414/#review187742
Category 2 data. datareview+
Attachment #8910957 -
Flags: review?(francois) → review+
Reporter | ||
Comment 11•7 years ago
|
||
mozreview-review |
Comment on attachment 8910957 [details]
Bug 1401404 - Add telemetry for AS content prefs.
https://reviewboard.mozilla.org/r/182414/#review187750
I think the bit-packing is not quite right, unless you can explain to me otherwise. :) However, I think it'd be best to be consistent with desktop.
::: mobile/android/base/java/org/mozilla/gecko/activitystream/ActivityStreamTelemetry.java:64
(Diff revision 1)
> }
>
> /**
> + * AS_USER_PREFERENCES
> + *
> + * NB: Additional pref values to be bit-packed should be unique prime numbers.
Why do these need to be prime numbers? I'm not sure this is correct.
A conventional way to define bit-packing is with bit shift operators:
```
final int showSearch = 1 << 0; // 0001
final int showTopSites = 1 << 1; // 0010
...
```
e.g. in your example, the bits for 2 (Pocket), 0010, conflict for those in 3 (Visited), 0011 so it'd be impossible to distinguish pocket enabled/disabled when visited is enabled.
Caveat: Java ints are signed so you'll have to make sure these values are actually 1, 2, and 4 (I think the signed bit is the first bit, so I think it's fine). Alternatively, just define them as 1, 2, and 4. :)
::: mobile/android/base/java/org/mozilla/gecko/activitystream/ActivityStreamTelemetry.java:66
(Diff revision 1)
> /**
> + * AS_USER_PREFERENCES
> + *
> + * NB: Additional pref values to be bit-packed should be unique prime numbers.
> + **/
> + private final static int POCKET_ENABLED_VALUE = 2;
Can we make these flags consistent with desktop? i.e.
```
showSearch | 1 | | showTopSites | 2 | | showTopStories | 4 |
```
This should make analysis easier because we can use the same-ish code.
from https://github.com/mozilla/activity-stream/blob/master/docs/v2-system-addon/data_dictionary.md
::: mobile/android/base/java/org/mozilla/gecko/activitystream/ActivityStreamTelemetry.java:111
(Diff revision 1)
>
> public static Builder builder() {
> return new Builder();
> }
>
> +
nit: ws
::: mobile/android/docs/activitystreamtelemetry.rst:132
(Diff revision 1)
>
> Full Examples
> =============
> Following examples of events are here to provide a better feel for the overall shape of telemetry data being recorded.
>
> -1) User with an active Firefox Account clicked on a menu item for a third highlight ("visited"):
> +1) User with an active Firefox Account clicked on a menu item for a third highlight ("visited") and has preffed on AS top stories, bookmarks, and visited:
nit: `prefed`? I just figure since preference has one f, but I'm not sure. :)
Attachment #8910957 -
Flags: review?(michael.l.comella) → review-
Comment hidden (mozreview-request) |
Reporter | ||
Comment 13•7 years ago
|
||
mozreview-review |
Comment on attachment 8910957 [details]
Bug 1401404 - Add telemetry for AS content prefs.
https://reviewboard.mozilla.org/r/182414/#review187760
lgtm, thanks for the quick turn around! :)
::: mobile/android/base/java/org/mozilla/gecko/activitystream/ActivityStreamTelemetry.java:65
(Diff revision 2)
>
> /**
> + * AS_USER_PREFERENCES
> + *
> + * NB: Additional pref values should be (unique) powers of 2
> + * We skip 1 and 2 to be consistent with Desktop, because those prefs are not used in Firefox for Android.
Oh good call – I actually didn't notice that the prefs we use are different from those in desktop.
::: mobile/android/base/java/org/mozilla/gecko/activitystream/ActivityStreamTelemetry.java:78
(Diff revision 2)
> + *
> + * @param sharedPreferences SharedPreferences of this profile
> + * @return bit-packed value of the user's AS preferences, which is the sum of the values of the enabled preferences.
> + */
> + public static int getASUserPreferencesValue(final SharedPreferences sharedPreferences, final Resources res) {
> + int bitPackedPrefValue = 0;
Here's a wonky thought: we could start at 2 because that's the desktop preference and our top sites are always enabled. :)
I don't think we should though because that creates assumptions in the code that'd be easy to mess up in future iterations.
Attachment #8910957 -
Flags: review?(michael.l.comella) → review+
Comment 14•7 years ago
|
||
Pushed by michael.l.comella@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/9909c8392ccf
Add telemetry for AS content prefs. r=francois,mcomella
Assignee | ||
Comment 15•7 years ago
|
||
Comment on attachment 8910957 [details]
Bug 1401404 - Add telemetry for AS content prefs.
Approval Request Comment
[Feature/Bug causing the regression]: Missing telemetry
[User impact if declined]: Won't have telemetry about the pref state on activity stream
[Is this code covered by automated tests?]: no
[Has the fix been verified in Nightly?]: local builds
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: no, adding telemetry
[Why is the change risky/not risky?]: Only adding calls to telemetry
[String changes made/needed]:
Attachment #8910957 -
Flags: approval-mozilla-beta?
Comment 16•7 years ago
|
||
Comment on attachment 8910957 [details]
Bug 1401404 - Add telemetry for AS content prefs.
More telemetry, taking it.
Should be in 57b3.
Attachment #8910957 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 17•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox58:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 58
Comment 18•7 years ago
|
||
bugherder uplift |
status-firefox57:
--- → fixed
Updated•7 years ago
|
status-firefox55:
--- → unaffected
status-firefox56:
--- → unaffected
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•