ALICE - Mobile Experiment Engine

The short story

Cellular networks are becoming the primary or only Internet point of access for an ever larger fraction of users. Nearly a quarter of current web traffic is mobile and recent industry studies have estimated a fourfold increase on global mobile data traffic by 2018, mainly driven by the content demands and growing number of smart phones and tablets. Measuring cellular networks is difficult since most networks operate prevent external traffic from entering, and thus measuring their networks. Measurements from mobile end-hosts is required, but suffers from severe coverage problems and inconsistency due to the spatial and temporal variations in wireless traffic.

We have developed a powerful, programmable mobile experiment engine called Alice (A Lightweight Interface for Controlled Experiments) for Android devices. Alice is designed with the following goals in mind:

Able to be easily incorprated into multiple mobile applications. The short-term usage patterns of mobile applications mean that no single mobile application will be able to satisfy long-term user recruitment needs. Alice is encapsulated as a libary, and can be added to existing applications with only a single line of Java code.

Low impact for resource constrained mobile devices. Mobile devices have many restrictions such as power and network resources. Alice is designed to minimize the power consumption of each experiment run by running many probes in parallel. In addition, Alice follows quotas for network resources in order to limit the total amout of mobile data used by an individual device.

Shared among multiple research partners. The distribution model of Alice is being packaged with multiple mobile applications. Therefore, all researchers using Alice will benefit by its proliferation. Alice allows for all instances to be shared in a common pool, and share experiments among all participating researchers.

Versatile and easy to program. Alice is designed to be powerful, flexible and easy to program. Unlike many other existing experiment engines, Alice experiments are programmed in Javascript, and allow experiments to be reactive to current conditions, as well as to chain experiment probes together.

Please visit our Technical Description for more detailed information regarding the design and implementation of Alice.

Get Alice

Please contact John Rula for information about obtaining the Alice Android library.