There is substantial interest in using SOAP (Simple Object Access Protocol) in distributed applications' inter-process communications due to its promise of universal interoperability. The utility of SOAP is limited, however, by its inefficient implementation, which represents all invocation parameters in XML, for instance. This paper aims to make SOAP useful for high end or resource-constrained applications. The basic idea is to replace SOAP's XML/Ascii-based parameter representations with binary ones. Using SOAP's WSDL parameter descriptions, XML-based parameters are automatically represented as corresponding structured binary data, which are then used in all client-server communications. Data is up- or down-translated to/from XML form only if and when needed by end points. The resulting SOAP-bin communication protocol exhibits substantially improved performance compared to regular SOAP communications, particularly when used in the internal communications occurring across cooperating client/servers or servers. Gains are particularly evident when the same types of parameters are exchanged repeatedly, examples including transactional applications, remote graphics and visualization, distributed scientific codes. A further improvement to SOAP-bin, termed SOAP-binQ, addresses highly resource-constrained, time-dependent applications like distributed media codes, where scarce communication bandwidth, for example, may prevent end users from interacting in real-time. SOAP-binQ offers additional quality management functions that permit SOAP to reduce parameter sizes dynamically, as and when needed. The methods used in size reduction are provided by end users and/or by applications, thereby enabling domain-specific tradeoffs in quality vs. performance, for example. An adaptive use of SOAP-binQ's quality management techniques presented in this paper significantly reduces the jitter experienced in two sample applications: remote sensing and remote visualization.