Skip to content
This repository
branch: master

Jun 13, 2013

  1. Howard Abrams

    Upgraded the default hash algorithm

    After extensive tests, it is clear that the simplistic hashing
    algorithm is better in most cases. The Murmur Hash 3 creates a
    better distribution with more than 2 test groups, but this new
    simplistic hash should be sufficient as a base case.
    authored June 12, 2013

May 05, 2013

  1. Howard Abrams

    Pass the "id" to the callbacks.

    When we call the callback, we now pass it both the user's ID (key) as
    well as the group number. The key is either the "key" named parameter,
    the generated value from `getId()`, or the first non-function value
    passed into the labrats()` function.

Apr 21, 2013

  1. Howard Abrams

    Updated with better visual examples.

    authored April 21, 2013
  2. Howard Abrams

    Changed parameter from 'numGroups' to 'groups'.

    authored April 21, 2013

Apr 12, 2013

  1. Howard Abrams

    Accept `hash` function as a named parameter

    A hash function can be given as a parameter in order to specify how
    key values (as strings) are converted into numbers (than can then be
    divided into the different test buckets). This overrides the global
    configuration setting.
    authored April 11, 2013

Apr 11, 2013

  1. Howard Abrams

    Update the text description for the slice feature.

    authored April 10, 2013
  2. Howard Abrams

    Add ability to slice test pool into discreet pools.

    If you don't want users to be involved with more than one test group,
    then you can takes a pool (specified by the 'name' parameter) into a
    number of slices. Each slice can have one or more groups.
    authored April 10, 2013
  3. Howard Abrams

    Reordered the visual examples and demonstrations into single directory.

    authored April 10, 2013

Apr 08, 2013

  1. Howard Abrams

    Merge pull request #1 from nopolabs/master

    fixed missing quotes after flashy-blue
    authored April 08, 2013

Apr 07, 2013

  1. Howard Abrams

    Expanded on the key distribution with diagrams

    Using the "multigroup" example, I explain how the distribution is
    likely to overlap and put some people into multiple tests. While
    I think this is a "good thing", it may not be what some people
    want.
    authored April 07, 2013
  2. Howard Abrams

    Minor grammatical and formatting doc changes.

    authored April 06, 2013
  3. Howard Abrams

    Expanded the API documentation

    The comments from the plugin source code are now more clear, and are
    written to the end of the README file to make it easier to render on
    Github.
    authored April 06, 2013

Apr 06, 2013

  1. Howard Abrams

    Created a re-distribution test example.

    What if you are running concurrent tests? How many people will
    end up being a test subject for more than one experiment?
    This example attempts to show this sort of re-distribution.
    
    We take 1,000 generated GUIDs and put them in two separate tests and
    visually display the results.
    authored April 06, 2013
  2. Howard Abrams

    Fixed late-night drinking bug when using control group.

    authored April 06, 2013
  3. Howard Abrams

    Add a "control group" feature

    Instead of splitting the entire population into test groups, you can
    create a testing pool of a particular size. The test groups will be
    found from user keys in this pool, and the rest may form a "control"
    group.
    
    This allows you to have a two 5% test groups with a 90% control.
    Each of these three groups can get a callback function.
    authored April 06, 2013

Apr 05, 2013

  1. Howard Abrams

    Restore numGroup setting when overridden.

    While I'm not fond of a global "number of groups" setting, if it is
    set, but overridden with a specific list of callback functions, we
    reset it back to its original value.
    authored April 05, 2013
  2. Howard Abrams

    Experiment show-casing default hashing function

    Our hashing function (that we use to split users into test buckets based
    on keys that might be similar to GUIDs) is pretty simplistic. But the
    goal of uniform distribution may or may not work well.
    
    In this experiment, we create thousands of GUIDs and use our hashing
    function as well as a Murmur Hash function and graphically show how they
    compare.
    authored April 04, 2013
  3. Howard Abrams

    Optimized the distribution of default user IDs

    If a "key" isn't specified for a user account, then we can just randomly
    assign the user account to a test bucket without resorting to hashing
    functions.
    
    However, since our default hashing function is pretty simple, we
    document ways to use other routines.
    authored April 04, 2013
  4. Howard Abrams

    Made the numGroups an optional parameter

    For the $.labrats() function, we can figure out how many possible
    groups there are based on the number of functions given, so this
    can be optional.
    
    Obviously, for the $.group() and $.isGroup() functions, that value
    must still be specified.
    authored April 04, 2013
  5. Howard Abrams

    Made the user identification key optional.

    If the user 'key' value is not specified, then a key is retrieved
    from the brower's cookie jar. If it isn't there, a unique ID is
    created (and put back into the cookie jar).
    authored April 04, 2013

Apr 04, 2013

  1. Howard Abrams

    First attempt at a plugin with fairly flexible API

    Created a $.labrats() function that can dispatch to multiple callback
    functions based on a given "key" that represents a user account.
    Exposed all of the supporting functions for fine-grain control.
    authored April 04, 2013
Something went wrong with that request. Please try again.