1. A computer-based method of building a customised software application for a specific type of Wireless Computing Device, the method comprising the computer-implemented steps of: (a) automatically determining attributes of that type of Wireless Computing Device by downloading a test application to the Wireless Computing Device that electronically investigates the capabilities and features of the Wireless Computing Device and generates a list of these attributes; (b) automatically selecting various individual Software Components from a library including many other Software Components, the selected Software Components being compatible with that type of Wireless Computing Device based on values of the attributes determined in (a), in which no individual Software Component constitutes the application, but instead many such Software Components must be selected in combination to form the complete application; (c) automatically combining the various, previously selected and compatible Software Components together to generate a new build of the application, compatible for that type of Wireless Computing Device.