1. A method for populating an electronic form with data, comprising: receiving an invocation of a data population command; detecting a type of a target application displaying a form to be populated in accordance with the data population command; determining whether the detected type of target application is of a type recognized by a form completion program; configuring the form completion program to use a communication technique corresponding to the type of target application upon determining that the target application is recognized; and populating the form using the configured form completion program.