Giter VIP home page Giter VIP logo

switchboard's Introduction

Switchboard - easy A/B testing for your mobile app

What it does

Switchboard is a simple way to remote control your mobile application even after you've shipped it to your users' devices.

Use Switchboard to

  • Stage-rollout new features to users
  • A/B-test user flows, messaging, colors, features, etc.
  • Add a feature flag to anything you want to remotely enable/disable

Switchboard lets you control what happens in your app. Quick, easy, useful.

Additionally, Switchboard segments your users consistently; because user segmentation is based upon a UUID that is computed once, the experience you switch on and off using Switchboard is consistent across sessions.

What it does not do (i.e. what you have to do yourself)

Switchboard does not give you analytics, nor does it automatically administer and optimize your A/B tests. It also doesn't give you nice graphs and stuff. You can get all of that by plugging an analytics package into your app which you're probably doing anyway.

Features

  • Highly scalable and incredibly lightweight
  • Consistent user segmentation based off a computed UUID
  • Define experiments for specific application versions, OS version, language settings and more
  • Comes with built-in configurations for production and staging environment
  • Preserves state when device is offline; configurations are cached on clients across sessions
  • Flexible custom parameters for experiments

What Switchboard was designed for

Switchboard was designed as a super lightweight and flexible mobile A/B testing framework.

Infrastructure

The goal was to serve millions of requests very reliablly without much infrastructure. It should easily scale horizontally to avoid overhead in maintaining it while your application scales. It is designed without a database or any other type of persistent storage that would slow it down.

User segmentation

Consistency in user segmentation is one of the most important things in A/B testing. This means that one individual user will always have a consistent experience over a long period of time.

Switchboard does consistent user segmentation based on a unique device id.

How to use it

iOS

Debug interface and extensive documentation here: Switchboard-iOS

Server

[Coming soon...]

Android

We're working on an updated Android client for Switchboard; in the meantime, here is the original client: Switchboard-Android

More information about it:

Problems & Bugs

Please report issues on each of the server or mobile repositories above.

License

Switchboard is licensed under the Apache Software License, 2.0 ("Apache 2.0")

Authors

Switchboard is brought to you by Philipp Berner and Zouhair Belkoura, founders of Keepsafe, and the rest of the Keepsafe team.

We'd love to have you contribute or join us!

Used in production for many millions of users

switchboard's People

Contributors

black-snow avatar cjbeauchamp avatar fafhrd91 avatar idleyoungman avatar iwasrobbed-ks avatar martinpeck avatar philippb avatar raulccabreu avatar zouhairb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.