1. A method of automatically building a customised software application for a specific type of Wireless Computing Device, the method comprising the steps of: (a) automatically determining attributes of that type of Wireless Computing Device; (b) automatically determining which Software Components from a library of Software Components are compatible with that type of Wireless Computing Device based on values of the attributes determined in (a); (c) automatically combining the compatible Software Components together to generate a customised build of the application, compatible for that type of Wireless Computing Device.