1. A method for controlling presentation of a mobile application on a mobile device, the method comprising: receiving, by an application server, a request from the mobile device to present the mobile application; identifying a user profile for a user of the mobile device, the user profile comprising a current application state of the mobile application; selecting an application version from a set of application versions based on an application of a set of rules to the current application state; and sending a response to the mobile device, the response indicating to the mobile device to present the selected application version of the mobile application to the user.