1. A method, at a network element, for providing applications to a device having one of a plurality of device types, the method comprising: maintaining a plurality of user interface formatting specifications for an application; receiving a request for the application from the device, the request including an identifier associated with the device, the identifier identifying at least one of screen size and screen resolution; correlating one or more device display characteristics associated with the identifier with one of the plurality of user interface formatting specifications for the application, said correlating comprising: finding user interface formatting specifications which are compatible with a maximum number of said one or more device display characteristics; and determining a priority between user interface formatting specifications which are compatible with the identifier, the priority of each user interface formatting specification being pre-assigned; configuring the application with the one of the plurality of user interface formatting specifications, the configuring comprising combining the one of the plurality of user interface formatting specifications with an executable code portion for installation on the device; and sending the configured application to the device; wherein the executable code portion is identical for each of the plurality of user interface formatting specifications.