A method for programming a transdermal delivery device arranged to deliver a composition to a user, comprising the steps of receiving at least one variable parameter regarding a transdermal delivery method, utilising an algorithm to derive at least one control instruction for a transdermal delivery device utilising the at least one variable parameter, and providing the at least one instruction to the transdermal delivery device to effect the transdermal delivery method.