1. A method for providing computer application support comprising: in a computing device with a network interface: determining a set of installed applications on a source computer using a software manager module executing on one or more source computers, wherein each of the set of installed applications is configured to perform a corresponding specific task among a plurality of specific tasks; generating a set of usage information for the set of installed applications on the source computer by monitoring operating system activities of the source computer; deriving a set of analysis results from the set of usage information using a software analysis module executing on the computing device, wherein the set of analysis results comprises a respective usage pattern of the each of the set of installed applications; generating, for each of the plurality of specific tasks, a list of applications based on the respective usage pattern; and transmitting the list of applications from the set of analysis results to a destination computer via the network interface.