A computer-implemented method comprising: by a computing system comprising one or more user devices, one or more external systems, a social networking system 630, and a network, connecting to a server associated with an application in response to access of a stub application associated with the application, the stub application installed on a mobile device; sending, by the computing system, device information associated with the mobile device to a universal stub application server module of the server, the universal stub application server module including an application version determination module and an application version parameter module, the device information including information relating to one or more of: a memory, a processor, a display, a storage, a network connection, a language, a geographical region, a model, and a manufacturer; specifying and managing, by the application version parameter module, parameters for different versions of a plurality of versions of the application, each version of the application having one or more of said parameters associated with it, the parameters relating to one or more of: a memory, a processor, a display, a storage, a network connection, a language, a geographical region, a model, and a manufacturer; comparing, by the application version determination module, the device information with the parameters associated with the plurality of versions of the application; determining, by the application version determination module, based on the comparison, a version of the plurality of versions of the application to install on the mobile device; and obtaining, by the computing system, the version of the plurality of versions of the application to install on the mobile device from the server. by a computing system comprising one or more user devices, one or more external systems, a social networking system 630, and a network, connecting to a server associated with an application in response to access of a stub application associated with the application, the stub application installed on a mobile device; sending, by the computing system, device information associated with the mobile device to a universal stub application server module of the server, the universal stub application server module including an application version determination module and an application version parameter module, the device information including information relating to one or more of: a memory, a processor, a display, a storage, a network connection, a language, a geographical region, a model, and a manufacturer; specifying and managing, by the application version parameter module, parameters for different versions of a plurality of versions of the application, each version of the application having one or more of said parameters associated with it, the parameters relating to one or more of: a memory, a processor, a display, a storage, a network connection, a language, a geographical region, a model, and a manufacturer; comparing, by the application version determination module, the device information with the parameters associated with the plurality of versions of the application; determining, by the application version determination module, based on the comparison, a version of the plurality of versions of the application to install on the mobile device; and obtaining, by the computing system, the version of the plurality of versions of the application to install on the mobile device from the server.