Industrial apparatus of the type used in a product packaging facility, the facility being arranged to pack one or more products into one or more packs, whereby the apparatus is arranged to perform an operation on at least one of said packs, the apparatus comprising: a device configured to perform an operation on at least some of the packs as the packs are transported past the device; a controller arranged to control the apparatus and to provide a local user interface for the apparatus, wherein the local user interface comprises a plurality of components, which comprises visible component(s) and invisible component(s); a communications link providing bi-directional communication between the controller and a remote device (5; 6); wherein the controller is configured to: receive a command from the local user interface indicating a request to initiate a remote support session; initiate the remote support session by: establishing a communications session between the controller and the remote device; generating a remote user interface; and transmitting the remote user interface from the industrial apparatus to the remote device; and receive data from the remote device in the communications session to provide remote support for the apparatus; characterized in that to generate the remote user interface the controller is configured to generate computer program code only for the visible component(s); and wherein each visible component of the plurality of components of the local user interface is adapted to generate computer program code for representing that component in the remote user interface. a device configured to perform an operation on at least some of the packs as the packs are transported past the device; a controller arranged to control the apparatus and to provide a local user interface for the apparatus, wherein the local user interface comprises a plurality of components, which comprises visible component(s) and invisible component(s); a communications link providing bi-directional communication between the controller and a remote device (5; 6); wherein the controller is configured to: receive a command from the local user interface indicating a request to initiate a remote support session; initiate the remote support session by: establishing a communications session between the controller and the remote device; generating a remote user interface; and transmitting the remote user interface from the industrial apparatus to the remote device; and receive data from the remote device in the communications session to provide remote support for the apparatus; characterized in that to generate the remote user interface the controller is configured to generate computer program code only for the visible component(s); and wherein each visible component of the plurality of components of the local user interface is adapted to generate computer program code for representing that component in the remote user interface. receive a command from the local user interface indicating a request to initiate a remote support session; initiate the remote support session by: establishing a communications session between the controller and the remote device; generating a remote user interface; and transmitting the remote user interface from the industrial apparatus to the remote device; and establishing a communications session between the controller and the remote device; generating a remote user interface; and transmitting the remote user interface from the industrial apparatus to the remote device; and receive data from the remote device in the communications session to provide remote support for the apparatus; characterized in that to generate the remote user interface the controller is configured to generate computer program code only for the visible component(s); and wherein each visible component of the plurality of components of the local user interface is adapted to generate computer program code for representing that component in the remote user interface.