Just to close the loop on this, I went ahead and updated the wiki
pages at [1] and [2] to reflect that some parts of the process are
more optional than they originally seemed. I also tried to generally
make the documentation simpler to follow and less
redundant/contradictory. Finally, I filed bug 1271440 for the missing
piece to allow developers to self-sign their experiment addons.

Hopefully these changes will make it easier to build and deploy
experiments in the future.

Cheers,
kats

On Wed, Apr 20, 2016 at 3:31 PM, Jared Hirsch <6...@mozilla.com> wrote:
> 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

Reply via email to