Hi all, I wrote a telemetry experiment last year[1], and I also found the process challenging to navigate.
I found that many important details were undocumented, but were mentioned in review comments, so I added what I could to the telemetry experiment wiki page and to MDN. My experiment gathered new data, and sent it to a new, one-off server endpoint. This definitely required more discussion than the typical experiment. That said, I do think there are ways the process could be improved for all experiments. Here are a few suggestions for improving the current process: - document how to use Experiments.jsm on MDN - document the schema of the Telemetry Experiment-specific manifest.json file - write and maintain at least one up-to-date, thoroughly commented example experiment - merge (parts of) the telex QA page[2] into the main page (the link is buried in the main page) - update and possibly merge the code docs[3] into the main wiki page To expand on the last bullet point: the code docs suggest using a special python build script to assemble the final .xpi, but that's no longer accurate, as experiments now need to be signed. Further, each experiment has to be *manually* signed, because AMO signing tools will not auto-sign an add-on with the special telex emType. A bug has been filed[4] to enable auto-signing for experiments, but it hasn't moved since November. Might be worth pushing on it. Each of these missing pieces makes shipping an experiment a little bit harder than it has to be. Adding them all up, the process as a whole can seem difficult for a first-time experiment author (at least, it did for me and evidently for Kats as well). I hope these suggestions are helpful. Cheers, Jared [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1174937 [2] https://wiki.mozilla.org/QA/Telemetry [3] http://hg.mozilla.org/webtools/telemetry-experiment-server/file/tip/README.rst [4] https://bugzilla.mozilla.org/show_bug.cgi?id=1220097 On Wed, Apr 20, 2016 at 8:05 AM, Kartikaya Gupta <kgu...@mozilla.com> wrote: > On Wed, Apr 20, 2016 at 10:26 AM, Benjamin Smedberg > <benja...@smedbergs.us> wrote: > > The goal of this is for experiments to be fairly lightweight. > > > > Can you talk about where the problems were? The only signoffs that are > > currently required are code review (no surprise there) and > > acknowledgement from a release driver. > > This sounds reasonable, but the page at > https://wiki.mozilla.org/Telemetry/Experiments (taken at face value, > which is what I did as it was my first foray into this) indicates > otherwise. Perhaps most of my issues could be resolved just by > updating the documentation on that page. For example, it says "Product > approval is required to run an experiment." and is unclear about what > is "user-facing" vs not. It also says to talk to you *before* building > an experiment, which I did (bug 1251052 comment 1), only to then find > out that step was not necessary, so that was extra unnecessary > latency. The doc also says "QA should verify the experience on the > staging server", so I went through that process - it was almost no > work on my part since QA had a template for it already but it still > took nonzero time. The addon signing step is also not yet automated, > as far as I could tell, even though the bug referenced in the doc is > resolved fixed, so that adds an additional dependency and round-trip > to somebody who can sign it. > > > For pref flips in particular, we've talked about extending the > > experiment system so that you don't have to write an addon at all: > > that you can just specify pref values in the experiment manifest. That > > would require engineering work and a little bit of new signing work > > that is currently not planned; but if somebody wants to do that work, > > I would be willing to mentor. > > This sounds great, and would be really nice. If it's not a huge amount > of work I would be willing to take this on. Is there a bug on file for > it? > > > Data review is required only if an experiment collects new data. My > > goal is for this to be fast and straightforward, but IIRC it wasn't > > necessary at all for your recent experiment. There is no legal review > > required for experiments unless I raise a question during data review. > > Again, the wiki page should state this more explicitly, for the > benefit of people who are doing an experiment for the first time. > > > There is no explicit QA "approval" process required: clearly we don't > > want to ship broken code, so we should use normal good judgement about > > how to test each particular experiment, but that should not be a > > high-process thing by default. > > Ditto, wiki page should be clarified. I'm happy to go and update the > page to reflect what you've said here, provided you're willing to > review my changes to make sure I don't go overboard :) > > Cheers, > kats > > > On Tue, Apr 19, 2016 at 4:43 PM, Kartikaya Gupta <kgu...@mozilla.com> > wrote: > >> (Cross-posted to dev-platform and release-management) > >> > >> Hi all, > >> > >> Not too long ago I ran a telemetry experiment [1] to figure out how to > >> tune some of our code to get the best in-the-wild behaviour. While I > >> got the data I wanted, I found the process of getting the experiment > >> going to be very heavyweight as it involved getting all sorts of > >> approvals and reviews. Going through that process was more > >> time-consuming than I would like, and it has put me off from doing > >> further experiments of a similar nature. However, this means that the > >> decisions I make are going to be less data driven and more guesswork, > >> which is not good for obvious reasons. > >> > >> What I would like to see is a simplified process for telemetry > >> experiments on Nightly, making it easier to flip a pref on 50% of the > >> population for a week or two and get some useful data out of it. It > >> seems to me that many of the approvals (QA, RelMan, Legal, Product) > >> should not really be needed for this kind of simple temporary > >> pref-flip, assuming the necessary data collection mechanisms are > >> already in the code. Does anybody have any objections to this, or have > >> other suggestions on how to streamline this process a bit more? > >> > >> To be clear, I'm not suggesting we do away with these approvals > >> entirely, I just want to see more nuance in the process to determine > >> when they are *really* required, so that they don't slow us down > >> otherwise. > >> > >> Cheers, > >> kats > >> > >> [1] https://wiki.mozilla.org/Telemetry/Experiments > >> _______________________________________________ > >> dev-platform mailing list > >> dev-platform@lists.mozilla.org > >> https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform