1. A method for generating an application, comprising: recording an interaction with a first application for capturing a functionality of the first application; recording an interaction with a second application for capturing a functionality of the second application; generating a pattern based on the recorded interactions; and generating new application based on the pattern, wherein the interactions recorded in the pattern are repeated upon replay of the pattern for providing the functionalities ties of the first and second applications.