A computer-implemented method of enabling controlled distribution of software updates affecting an application installed on a plurality of terminal devices of a wireless network, the method performed at an application development environment 'ADE' running on a computing device connected to a data network for communicating with an application gateway mediating the data network and the wireless network, wherein said software updates are to be distributed to said plurality of wireless devices in the wireless network through the application gateway, the method comprising steps of: defining, in accordance with a version schema, a version number for the application comprising a respective field associated with each one of a plurality of aspects of the application, wherein the version schema comprises at least one "Features" field corresponding to functional features of the application and at least one "Data" field corresponding to data components of the application; defining an initial value of each field when an initial application load is released; and for each successive software update affecting the application: determining each aspect of the application affected by the software update; and incrementing a value of the respective field associated with each aspect of the application affected by the software update, wherein the numerical value of the "Features" field is incremented if the software update adds any one or more of new data components, new messages, and new application logic to the application, or changes existing logic that are compatible with the previous versions, wherein the numerical value of the "Data" field is incremented if the software update modifies any existing data components of the application, and wherein incrementing the "Data" field indicates that the software update is not compatible with the previous versions of the application, such that the version number is indicative of a compatibility of the software update with previous versions of the application; the method further comprising: notifying from the application development environment the updated version number to the application gateway. defining, in accordance with a version schema, a version number for the application comprising a respective field associated with each one of a plurality of aspects of the application, wherein the version schema comprises at least one "Features" field corresponding to functional features of the application and at least one "Data" field corresponding to data components of the application; defining an initial value of each field when an initial application load is released; and for each successive software update affecting the application: determining each aspect of the application affected by the software update; and incrementing a value of the respective field associated with each aspect of the application affected by the software update, wherein the numerical value of the "Features" field is incremented if the software update adds any one or more of new data components, new messages, and new application logic to the application, or changes existing logic that are compatible with the previous versions, wherein the numerical value of the "Data" field is incremented if the software update modifies any existing data components of the application, and wherein incrementing the "Data" field indicates that the software update is not compatible with the previous versions of the application, such that the version number is indicative of a compatibility of the software update with previous versions of the application; determining each aspect of the application affected by the software update; and incrementing a value of the respective field associated with each aspect of the application affected by the software update, wherein the numerical value of the "Features" field is incremented if the software update adds any one or more of new data components, new messages, and new application logic to the application, or changes existing logic that are compatible with the previous versions, wherein the numerical value of the "Data" field is incremented if the software update modifies any existing data components of the application, and wherein incrementing the "Data" field indicates that the software update is not compatible with the previous versions of the application, such that the version number is indicative of a compatibility of the software update with previous versions of the application;