Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

readme

  • Loading branch information...
commit 6e347a333a822c8d7fd84694b72e3f639fef6430 1 parent affcc50
@SlexAxton SlexAxton authored
Showing with 50 additions and 15 deletions.
  1. +21 −0 LICENSE
  2. +28 −14 README.md
  3. +1 −1  admin.rb
View
21 LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2013- Stripe, Inc. (https://stripe.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
View
42 README.md
@@ -1,22 +1,21 @@
# Abba
-Abba is a simple a/b testing framework
+Abba is a simple a/b testing self-hosted framework, built to help improve your site's conversion.
-* Multi variant support
* Simple JavaScript API
+* Multi variant support
* Filter results by date and browser
-## Heroku 10 seconds setup
-
- heroku create myapp
- heroku addons:add mongohq:sandbox
- git push heroku master
- heroku open
+![Screenshot](http://stripe.github.com/abba/screenshot.png)
## A/B testing API
+First include abba.js using a script tag. The host of this url will need to point to wherever you deployed the app.
+
<script src="//localhost:4050/v1/abba.js"></script>
+Then call `Abba()`, passing in a test name and set up the control test and variants.
+
<script>
Abba('test name')
.control(function(){ /* ... */ })
@@ -24,23 +23,38 @@ Abba is a simple a/b testing framework
.start();
</script>
+The *control* is whatever you're testing against, and is usually the original page. You should only have one control (and the callback can be omitted).
+
+The *variants* are the variations on the control that you hope will improve conversion. You can specify multiple variants. They require a variant name, and a callback function.
+
+When you call `start()` Abba will randomly execute the control or variants' callbacks, and record the results server side.
+
+Once the user has successfully completed the experiment, say paid and navigated to a receipt page, you need to complete the test. You can do this by invoking `complete()`.
+
<script>
// On successful conversion
Abba('test name').complete();
</script>
-## Example test
-
-Examples are under `./public/test`.
+You can find a more complete example under `./public/test`.
-## Running locally
+## Setup
Requirements:
* Ruby 1.9.3
* Mongo
-Setup:
+The default username and password are `guard` / `llama`. Change these in `config.yml`, unless you want everybody to access your test results. SSL is required in an production environment by default.
+
+To run locally:
bundle install
- thin start
+ thin start
+
+## Heroku 10 seconds setup
+
+ heroku create myapp
+ heroku addons:add mongohq:sandbox
+ git push heroku master
+ heroku open
View
2  admin.rb
@@ -72,7 +72,7 @@ def authorized?
end
def ssl_enforce!
- unless request.secure?
+ if !request.secure? && settings.ssl
redirect "https://#{request.host}#{request.fullpath}"
end
end
Please sign in to comment.
Something went wrong with that request. Please try again.