A communication device is provided that is controlled through the use of small programs or applets that are executed by a processor within the device. The applets are encoded as a sequence of instructions chosen from a general purpose, machine independent instruction set, such as Java bytecodes. These applets may be interpreted by software, or directly executed by the processor of the communication device. The applets may be loaded into the device from a local host computer or may be downloaded from a remote device or computer. Applets provide a convenient, hardware independent means for maintaining up to date communications protocols and for updating the device with new features and capabilities. Downloading applets from a remote device may, for example, provide automatic encryption capabilities on a session unique basis, or provide for automatic virus detection, thereby providing enhanced security in data communications. A direct connection between the communication device and the host computer's video subsystem provides accelerated video access for applets executing on the device.