1. An interface device comprising: one or more communication units including one or more communication ports for communicating with one or more types of data devices and one or more remote servers, each of the one or more types of data devices being adapted to produce specialized data, and the one or more remote servers being adapted to store a plurality of computer programs; and at least one computer processor for executing: a first software module for processing type data received by the communication unit from a data device separate from the interface device in order to identify which of the one or more types of data devices corresponds to the separate data device; and a second software module for executing one of the computer programs, which is downloaded from the one or more remote servers via the communication unit, the executed computer program being chosen based on the identification of the type of data device corresponding to the separate data device; and an output device, wherein: each stored computer program is compatible with at least one of the one or more types of data devices, each stored computer program being adapted to output the specialized data of a compatible type of data device when executed by the second software module, the executed computer program being compatible with the identified type corresponding to the separate data device, at least one of the one or more communication ports receives specialized data from the separate data device, and the computer program executed by the second software module causes the output device to output the specialized data received from the separate data device.