A method of scheduling a data transmission over a wireless network connection in a communications network, said data transmission being required for completion of one or more predetermined tasks by an application (12a,b,c) hosted on a communications device in said communications network, the method comprising for each task: determining one or more conditions required for said data transmission to enable said application to complete said task; determining one or more network conditions required for said wireless network connection to support said data transmission and enable said application to complete said task; and scheduling said data transmission, characterised by: predicting when said one or more network conditions in said communications network will meet the requirements imposed by the one or more conditions for said data transmission to complete said task by: retrieving stored data indicating timing information for said one or more network conditions for an available network connection; and processing said timing information to predict when said one or more network conditions for said network connection required to complete said task match said task completion conditions; and scheduling said data transmission in accordance with the predicted one or more network conditions, wherein said prediction of said one or more network conditions is automatically performed when an application is configured to perform a task requiring repeated data transmission. determining one or more conditions required for said data transmission to enable said application to complete said task; determining one or more network conditions required for said wireless network connection to support said data transmission and enable said application to complete said task; and scheduling said data transmission, characterised by: predicting when said one or more network conditions in said communications network will meet the requirements imposed by the one or more conditions for said data transmission to complete said task by: retrieving stored data indicating timing information for said one or more network conditions for an available network connection; and processing said timing information to predict when said one or more network conditions for said network connection required to complete said task match said task completion conditions; and scheduling said data transmission in accordance with the predicted one or more network conditions, wherein said prediction of said one or more network conditions is automatically performed when an application is configured to perform a task requiring repeated data transmission. predicting when said one or more network conditions in said communications network will meet the requirements imposed by the one or more conditions for said data transmission to complete said task by: retrieving stored data indicating timing information for said one or more network conditions for an available network connection; and processing said timing information to predict when said one or more network conditions for said network connection required to complete said task match said task completion conditions; and retrieving stored data indicating timing information for said one or more network conditions for an available network connection; and processing said timing information to predict when said one or more network conditions for said network connection required to complete said task match said task completion conditions; and scheduling said data transmission in accordance with the predicted one or more network conditions, wherein said prediction of said one or more network conditions is automatically performed when an application is configured to perform a task requiring repeated data transmission.