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 a new application based on the pattern, wherein the interactions recorded in the pattern are repeated upon replay of the pattern for providing the functionalities of the first and second applications.