A device for generating a graphic user interface, GUI, for controlling a plurality of external devices (2000, 2100, 2200), the device comprising: a communication interface configured to communicate with the plurality of external devices and download a plurality of control applications to control the plurality of external devices; and a processor, wherein the processor is configured to: determine, for each downloaded control application, whether the downloaded control application will interact with an integrated control application; generate, for a first control application which is determined to not interact with the integrated control application, a first object to execute the first control application; determine, for a second control application which is determined to interact with the integrated control application, a function to be controlled in an external device associated with the second control application; generate a second object to control the determined function; and add the first object and the second object to the GUI for controlling the plurality of external devices, the device further comprising: a display configured to display the GUI for controlling the plurality of external devices when the integrated control application is executed. a communication interface configured to communicate with the plurality of external devices and download a plurality of control applications to control the plurality of external devices; and a processor, wherein the processor is configured to: determine, for each downloaded control application, whether the downloaded control application will interact with an integrated control application; generate, for a first control application which is determined to not interact with the integrated control application, a first object to execute the first control application; determine, for a second control application which is determined to interact with the integrated control application, a function to be controlled in an external device associated with the second control application; generate a second object to control the determined function; and add the first object and the second object to the GUI for controlling the plurality of external devices, the device further comprising: a display configured to display the GUI for controlling the plurality of external devices when the integrated control application is executed. determine, for each downloaded control application, whether the downloaded control application will interact with an integrated control application; generate, for a first control application which is determined to not interact with the integrated control application, a first object to execute the first control application; determine, for a second control application which is determined to interact with the integrated control application, a function to be controlled in an external device associated with the second control application; generate a second object to control the determined function; and add the first object and the second object to the GUI for controlling the plurality of external devices, the device further comprising: a display configured to display the GUI for controlling the plurality of external devices when the integrated control application is executed.