Venu
Venu

Reputation: 31

Mobile A/B testing

I'm fresh out of college, working on developing Android apps for quite sometime. My boss has asked me to develop A/B testing for mobile native apps. I've been exploring the various A/B testing tools. I really like Apptimize implementation.. By inserting a small piece of code, any one can make live changes using a visual WYSIWYG editor without even updating the app or do any coding.

Here is a scenario,

I have three buttons in my app.. Once Apptimize SDK is installed in the app, it loads the app in the desktop web browser. I can change the color/text or make any other changes using WYSIWYG editor. Once the changes are done, it goes live instantly in the app as well.

I would like to clarify the following,

  1. How the UI of the app is loaded in the Desktop web browser? Do we need to parse the xml of Android to load the UI? or is there any protocol available?

  2. I guess that once the changes are done in Desktop it will be saved in server.. And when the app loads, the changes are fetched from the server through JSON format. But how the changes are applied in the app?

Since I have only one year experience in Android, it would be great if someone could throw light on this. Any tutorials to get this done would be really helpful.. or any other pointers?

P.S: I had a look at Switchboard but i'm not sure if I understood it clearly.

Upvotes: 2

Views: 289

Answers (1)

Vic Vuci
Vic Vuci

Reputation: 7051

lead Android engineer over here at Taplytics.

I've answered A/B testing questions before similar to this.

  1. How the UI of the app is loaded in the Desktop web browser? Do we need to parse the xml of Android to load the UI? or is there any protocol available?

No XML needed! There's actually quite a few ways to do this. The first, the easiest, is just send a screenshot up over a socket or any http request, like this.

The trick here would be to keep track of the X/Y coordinates of each view and send that up with the screenshot. So if you click a view on the webpage, the view at that location is known!

  1. I guess that once the changes are done in Desktop it will be saved in server.. And when the app loads, the changes are fetched from the server through JSON format. But how the changes are applied in the app?

This is pretty much asking 'how is an entire A/B testing library made', which is the basis of the entire company of Taplytics, Apptimize, and some of Mixpanel.

In which case, I've answered roughly how its all done here. If you have the View object, changing them is pretty straightforward!

Upvotes: 2

Related Questions