1. A computer system for increasing the computational ability of a mobile device, the system comprising: one or more processors; and one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to: receive, from the mobile device, a selection of a hardware specification, wherein the selected hardware specification corresponds to a device other than the mobile device and wherein the hardware specification is selected from a plurality of hardware specifications on an interface of the mobile device; initialize one or more virtual machines corresponding to the selected hardware specification; load a backup of the mobile device onto the one or more virtual machines, the backup comprising at least one computer program and data; execute the computer program on the one or more virtual machines; and exchange information relating to the execution of the computer program on the one or more virtual machines with the mobile device, such that the execution of the computer program is simulated on the mobile device.