dannycoates/fxa-content-server — pull request #1 by dannycoates (2014-11-17 21:18:54+00:00)
Title: sketch of AB testing

This is a minimal client-side AB testing implementation to poke at and experiment with. I tried not to make too many decisions about what features should or shouldn't be included and focused on the mechanics of making it functional.

## Points of interest

* `AB` is a singleton initialized in `app-start.js` and required by any file that needs it
* the browser loads (from local storage) or creates a random `roll` variable for use in "anonymous" tests
* `roll` allows consistent choices between browser sessions
* experiments are delivered to the browser via the `/config` endpoint
* this was only for my convenience to minimize the diff but it *may* be a good place anyway(?)
* experiments default to `enabled` if the name isn't found in the config
* experiments only define a `name` and an `enabledPercent` for now
* results are reported to the `/metrics` endpoint
* also chosen to minimize the diff. It may or may not be where we want the data sent
* the `ab` data only includes results for experiments that were activated by an `isEnabled` check
* the results only include whether an experiment was enabled for now

So, lots of choices still to make, but this sort of does something ;)

f? @shane-tomlinson @ckarlof