App Performance

Tutorial: Kii ab testing tool

Tutorial: Kii ab testing tool

Part of my work while developing Bolina is to get familiar with the tools that developers on this field use. One of my tasks implied creating an iOS application to compare two HTTP libs (NSURLSession and Alamofire), so I decided to use an A/B testing tool to gather information on which one performs better.

As I explore here, I defined my research parameters (them being easy to use and easy to gather support information), made some research to see which tools could fit my goals better and ended up with three platforms I was willing to test: Optimizely, Firebase and Kii.

As I know that many of you are often in my shoes, I decided to share all the struggles I had during the process of integrating their SDK’s with my mobile app; as well all the benefits that these tools have, from my point of view. Here's my experience with Kii!

Kii (Kii Corporation) is a global company that provides mobile backend as a service (MBaaS). The Kii Cloud service allows mobile app developers to add cloud services to their apps without writing server software. I found about it during my research, and I was pleasantly surprised.

I rapidly understood that Kii was way easier to access that most common A/B testing tools. While most of the times I had to give away too many information just to start using the platform dashboard, with Kii was simple and straightforward to create an account. After doing so, I instantly had access to the dashboard. I was then able to create a new experience or App, as they call it, in three easy steps. I just had to name it, choose a server location (to identify where the audience will use the app, which in my case was irrelevant) and a platform (in my case an iOS application).


This process also creates the keys to be used by the SDK inside my iOS application. The next step is basically to create a new test and provide all information and that we want to test on the app. The Kii Cloud dashboard has the ability to create a new A/B test to add multiple conversions and also to select the percentage distribution for each variation.


The Kii team provides multiple programming guides for multiple mobile platforms to help anyone who want to use their tool. Since my app is a Swift-based application, linking the SDK was easy peasy. I just had to prepare my Podfile by adding the Kii Cloud framework and run, once more, the pod install command. The SDK usage, is very similar to the previous ones: just import it and use it.

The next step is to use an experiment in your application. Since I defined it previously, you just need to retrieve it from the Kii Cloud:

Now that the experiment has been retrieved, we can get the chosen variation and variable values (based on the experiment definition).

As I mentioned before, I've tried and integrated three different tools. Here's my overview on the three of them, here's a tutorial on how to integrate Firebase and here's everything you need to know to integrate Optimizely.