Open
Bug 1306125
Opened 9 years ago
Updated 3 years ago
[telemetry-experiment] layout.show_previous_page on beta channel for non-10s users
Categories
(Core :: Layout, defect, P3)
Core
Layout
Tracking
()
NEW
People
(Reporter: Harald, Unassigned)
References
(Depends on 1 open bug)
Details
User Story
Follow up trial for layout.show_previous_page on beta. Problem: layout.show_previous_page changes the perceived page load. While the browser currently keeps the old inactive page around, the pref will cause drawing the page background when available. This might generally be perceived as faster loading, as it shortens the wait from interaction to visual feedback but might cause visual glitches, layout jitter and additional reflows/styling. Questions: - Will layout.show_previous_page regress page load performance significantly? - Will the change annoy users (lower engagement) or delight (higher engagement)? - What is the combined impact of layout.show_previous_page and nglayout.paint.delay? - Will slight perceived performance improvements a measurable effect on new engagement metrics? Independent Variables: - layout.show_previous_page: on, off (default) - nglayout.paint.delay: 0, 250 (default) Depended Variables: - Page load metrics: SIMPLE_MEASURES_FIRSTPAINT, FX_PAGE_LOAD, HTTP_PAGE_COMPLETE_* - Phase 1 User engagement metrics (bug 1252625) Population: Users on beta channel without e10s Sampling: - 50% random sample from eligible population (no e10s on or nglayout.initialpaint.delay on a non-default value) - Randomly assigned to - Control: Defaults - Test 1: layout.show_previous_page off - Test 2: nglayout.initialpaint.delay 0 - Test 3: layout.show_previous_page off && nglayout.initialpaint.delay 0 Duration: 2 weeks Risks: - Sample size too small as a lot of users already have e10s - Mitigation: Increase sample size - Non-e10s users have more variance with add-ons, older machines and older OSs - Mitigation: Limit to modern OSs - To understand impact of paint delay we might need to have a 3rd group
Attachments
(1 file, 2 obsolete files)
|
5.26 KB,
patch
|
Felipe
:
review+
|
Details | Diff | Splinter Review |
Follow up trial for layout.show_previous_page on beta.
Problem: layout.show_previous_page changes the perceived page load. While the browser currently keeps the old inactive page around, the pref will cause drawing the page background when available. This might generally be perceived as faster loading, as it shortens the wait from interaction to visual feedback but might cause visual glitches, layout jitter and additional reflows/styling.
Questions:
- Will layout.show_previous_page regress page load performance significantly?
- Will the change annoy users and cause lower engagement?
- What is the combined impact of layout.show_previous_page and nglayout.paint.delay
Independent Variables:
- layout.show_previous_page: on, off (default)
- nglayout.paint.delay: 0, 250 (default)
Depended Variables:
- Page load metrics: SIMPLE_MEASURES_FIRSTPAINT, FX_PAGE_LOAD, tbd
- Phase 1 User engagement metrics (bug 1252625)
Population: Users on beta channel without e10s
Sampling:
- 50% random sample from population
- Randomly assigned to
- Control: Defaults
- Test 1: layout.show_previous_page on
- Test 2: layout.show_previous_page on && nglayout.paint.delay 0
Risks:
- Sample size too small as a lot of users have e10s
- 3rd test group might be needed to separate impact of the 2 prefs
| Reporter | ||
Updated•9 years ago
|
Summary: Experiment layout.show_previous_page on beta channel for non-10s users → [telemetry-experiment] layout.show_previous_page on beta channel for non-10s users
| Reporter | ||
Updated•9 years ago
|
User Story: (updated)
| Reporter | ||
Updated•9 years ago
|
User Story: (updated)
| Reporter | ||
Updated•9 years ago
|
User Story: (updated)
| Reporter | ||
Updated•9 years ago
|
User Story: (updated)
Flags: needinfo?(benjamin)
Comment 1•9 years ago
|
||
Harald what info do you need from me?
Flags: needinfo?(benjamin) → needinfo?(hkirschner)
| Reporter | ||
Comment 2•9 years ago
|
||
I hoped for some review of the experimental design. Some people have looked at it so far and I iterated on the User Story; so I think we got the details down.
I'll work on the addon next so there is actual code to review.
Flags: needinfo?(hkirschner)
Comment 3•9 years ago
|
||
Hey Harald! I was wondering what mechanism we use to get results back. Is it going to be a survey or something different? That should probably be included here :)
Flags: needinfo?(hkirschner)
Comment 4•9 years ago
|
||
Hi Philipp,
the study will run on Telemetry Experiments, aka Telex, as included in the title ;)
This is a specific feature in our Telemetry system that allows Firefox to automatically download and run specially-designed restartless addons based on certain conditions. More info here: https://wiki.mozilla.org/Telemetry/Experiments
Right now, there is an additional proposal under discussion to build a similar tool based on SHIELD that will allow for follow-up surveys.
Helps?
Flags: needinfo?(hkirschner) → needinfo?(philipp)
Comment 5•9 years ago
|
||
Yes, thanks!
My question was mostly about how we will know that the performance is perceived as higher by users after the experiment.
Between your answer here and our conversations in Berlin that has been cleared up :)
If I understood you correctly, we will watch engagement metrics and verify their validity with a parallel SHIELD study.
Flags: needinfo?(philipp)
| Reporter | ||
Comment 6•9 years ago
|
||
Attachment #8800758 -
Flags: review?(felipc)
Comment 7•9 years ago
|
||
Comment on attachment 8800758 [details] [diff] [review]
bug-1306125-experiment.patch
Review of attachment 8800758 [details] [diff] [review]:
-----------------------------------------------------------------
::: experiments/show_previous_page-beta/bootstrap.js
@@ +41,5 @@
> +
> + let defaultPrefs = new Preferences({defaultBranch: true});
> + switch (branch) {
> + case "control":
> + case "disqualified-e10s":
"disqualified-e10s" case can be removed
::: experiments/show_previous_page-beta/install.rdf
@@ +10,5 @@
> + <!-- Firefox -->
> + <em:targetApplication>
> + <Description>
> + <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
> + <em:minVersion>50.0b6</em:minVersion>
You should use 50.0 for minVersion and 50.* for maxVersion
::: experiments/show_previous_page-beta/manifest.json
@@ +6,5 @@
> + "info" : "<p><a href=\"https://bugzilla.mozilla.org/show_bug.cgi?id=1306125\">Related bug</a></p>",
> + "manifest" : {
> + "id" : "show_previous_page-beta@experiments.mozilla.org",
> + "startTime" : 1476378149,
> + "endTime" : 1476379421,
endTime needs to be updated with a correct value
@@ +7,5 @@
> + "manifest" : {
> + "id" : "show_previous_page-beta@experiments.mozilla.org",
> + "startTime" : 1476378149,
> + "endTime" : 1476379421,
> + "maxActiveSeconds" : 1209600,
is 2 weeks the expected length of this experiment?
Attachment #8800758 -
Flags: review?(felipc) → feedback+
| Reporter | ||
Comment 8•9 years ago
|
||
> endTime needs to be updated with a correct value
I assume this is just startTime + maxActiveSeconds in this case?
> is 2 weeks the expected length of this experiment?
Yes, as planned in the initial description.
Flags: needinfo?(felipc)
| Reporter | ||
Comment 9•9 years ago
|
||
Attachment #8800758 -
Attachment is obsolete: true
Attachment #8800857 -
Flags: review?(felipc)
Comment 10•9 years ago
|
||
I believe you posted the same patch as before
(In reply to Harald Kirschner :digitarald from comment #8)
> > endTime needs to be updated with a correct value
>
> I assume this is just startTime + maxActiveSeconds in this case?
Yeah, but you can keep startTime in the past and have endTime be a bit more forward than (startTime + maxActiveSeconds) to account for the time until we actually release it.
endTime is a hard deadline, but for each user the experiment will run until either endTime or (startTime + maxActiveSeconds), whichever comes first
Flags: needinfo?(felipc)
Comment 11•9 years ago
|
||
I mean the actual start time on their machine, not the specified one. In simpler words: it will run for 14 days after installed, or stop earlier if it reaches endTime.
| Reporter | ||
Comment 12•9 years ago
|
||
> I mean the actual start time on their machine, not the specified one. In simpler words: it will run for 14 days after installed, or stop earlier if it reaches endTime.
Ok, that's how I understood it, which is why I added "in this case" as some experiments could be time limited.
Comment 13•9 years ago
|
||
Comment on attachment 8800857 [details] [diff] [review]
bug-1306125-experiment-r2.patch
> I believe you posted the same patch as before
Not sure if you noticed this in the last comment, so clearing the r? to make it clear. The patch r2 is identical to the first version :)
Attachment #8800857 -
Flags: review?(felipc)
| Reporter | ||
Comment 14•9 years ago
|
||
Attached correct r2
Attachment #8800857 -
Attachment is obsolete: true
Flags: needinfo?(felipc)
Updated•9 years ago
|
Flags: needinfo?(felipc)
Attachment #8800904 -
Flags: review+
| Reporter | ||
Comment 15•9 years ago
|
||
Dominik, if you have no concerns with the current experiment setup, please send an intent to ship email to release-drivers, so we can kick this off Tuesday next week (I am off tomorrow and we need Monday to create the XPIs).
Flags: needinfo?(dstrohmeier)
Comment 16•9 years ago
|
||
Intend to ship sent to release-drivers.
Let's make sure next week that also our experiment tracking is in place by Monday EOD.
Flags: needinfo?(dstrohmeier)
| Reporter | ||
Comment 17•9 years ago
|
||
Mike, there was a concern on release-drivers on possible impact on crashes. Just want to make sure before I reply if there is any risk for crashes due to the pref change?
Flags: needinfo?(mconley)
| Reporter | ||
Updated•9 years ago
|
User Story: (updated)
Comment 18•9 years ago
|
||
(In reply to Harald Kirschner :digitarald from comment #17)
> Mike, there was a concern on release-drivers on possible impact on crashes.
> Just want to make sure before I reply if there is any risk for crashes due
> to the pref change?
I can't think of one - though let's double check with tn, who reviewed the patch that added the pref (bug 1297996).
tn - I assume there's no added crash risk here, right? I mean, software is complicated, but we're about equally safe with this pref in either state, right?
Flags: needinfo?(mconley) → needinfo?(tnikkel)
Comment 19•9 years ago
|
||
Hmm, if I were making this change on nightly for all users I would want it to ride to trains to get an answer to such a question. But we aren't doing that.
Flags: needinfo?(tnikkel)
Comment 20•9 years ago
|
||
(In reply to Harald Kirschner :digitarald from comment #17)
> Mike, there was a concern on release-drivers on possible impact on crashes.
> Just want to make sure before I reply if there is any risk for crashes due
> to the pref change?
I have to agree with tn. We uplifted this patch to beta, but really have no idea what impact it will have to stability out in the wild, since we've never turned it on out there. From inspection, I can't see where things would go wrong, but software is complicated.
Would it be possible to measure the stability with a smaller cohort on beta (or perhaps a pre-release channel) to measure any impact to stability?
Flags: needinfo?(hkirschner)
Harald and I discussed it this morning as well. We agree that the best next steps is to re-target this to Beta51. You could also turn this on in Aurora51 now so it gets a bit more testing on that channel during the next 3 weeks before Merge day.
| Reporter | ||
Comment 22•9 years ago
|
||
Filed bug 1311448 for the Aurora tests to keep this bug for beta.
Flags: needinfo?(hkirschner)
Updated•8 years ago
|
Priority: -- → P3
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•