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