1. A method for exchanging data between a sending device and a receiving device, each device including a processor coupled to a digital data store, the method comprising: the sending and receiving devices maintaining respective dictionaries in their respective digital data stores, each dictionary containing multiple data objects each cross-referenced to a different dictionary index code, where the data objects include data objects having one of the following types: a binary graphics file, or a binary executable program; in response to the sending device receiving multiple data objects for transmittal to the receiving device, the sending device: searching for each of the received data objects in the dictionary contained in the sending device's store; for each data object present in the dictionary, obtaining a representative index code cross-referenced to the data object in the dictionary; the sending device composing a message for transmittal to the receiving device, the message including multiple subparts each subpart corresponding to a different one of the received data objects, each subpart comprising: if the corresponding data object is not present in the dictionary, the content of the data object; and if the corresponding data object is present in the dictionary, the index code cross-referenced to the data object; where the composed message further includes one or more flags distinguishing between index codes and non-dictionary data objects in the message; the sending device transmitting the composed message to the receiving device; and the receiving device receiving the transmitted message, and in response the receiving device performing operations to process the the message comprising: reviewing the flags in the received message to identify subparts of the message as index codes or non-dictionary data objects; for each subpart identified as an index code, cross-referencing the index code in the dictionary contained in the receiving device's store to obtain the cross-referenced data object, and for each obtained data object that is a binary graphics file, operating the receiving device's processor to display an image represented by said binary graphics file; for each obtained data object that is a binary executable program, operating the receiving device's processor to execute said program; and for each subpart identified as a non-dictionary data object, providing an output of that data object.