Efficient interchange of XML documents is an important issue for Nokia. Nokia handsets exchange XML-formatted content over the air for many purposes, such as wireless web browsing and multi-media messaging, and Nokia is committed to XML as a common message interchange format. Nokia is also committed to web services as a basis for mobile services provided by operators and other service providers, and Nokia is currently exploring implementation of web services from handsets.
There are a number of proposals for more efficient binary XML document interchange formats and SOAP encodings, and Nokia is itself actively engaged in research on this topic. However, Nokia believes that no single XML interchange technology is suitable for all purposes and that it is still too early to commit to any standard for a general-purpose binary interchange format. Instead, this paper outlines some basic principles that we believe must be applied to the issue of binary XML interchange standardization.
Nokia believes that XML document interchange technologies must be based on open standards. Also, while handsets (and hence over-the-air protocols) are at the core of Nokia’s business, Nokia strongly supports application protocols that provide end-to-end interoperability and that do not specifically distinguish handsets and wireless networks. Nokia’s view of application protocols can be summarized by saying that they ought be wireless-aware but not wireless-specific. Wireless-specific elements are a necessary part of the mobile terminal protocol stack, but they should be confined to the lower levels of the protocol infrastructure and not visible at the application protocol level. We believe that mobile terminals are most valuable to consumers, service providers, and developers when they are simply another application platform, as little different from other platforms as possible. Hence, Nokia is likely to support new binary formats for general-purpose improvement of XML interchange if they have a benefit for wireless, but probably will not support specifically wireless mechanisms at the application level.
In terms of standardization, this means that we believe that fora such as the W3C--which are not specifically wireless-oriented--are probably the right place for such standards efforts. Wireless-specific fora, such as the OMA should follow the lead of such organizations and reference their specifications rather than embarking on wireless-specific standards. This is the best way to ensure end-to-end interoperability between the wireless and wired worlds.
Nokia has extensive experience with binary XML represenation and, more generally, efforts to make XML document interchange more efficient. This includes work on WBXML, SVG, and general research on XML processing on mobile devices and transmission over wireless links.
Nokia has done several imlementations of WBXML to support WAP in both handsets and gateways. Nokia has also participated in development of WBXML encodings for several XML markup languages. The general conclusion is that, while WBXML can provide reasonable compression for some documents, it is not an effecitve general XML compression mechanism since it requires pre-defined token dictionaries for each markup type. WBXML also fails to handle namespaces, which is a critical issue for many applications such as web services. Hence WBXML has not been sufficiently extensible to meet the requirements of new markup languages and new uses, such as SOAP.
On the other hand, WBXML parsing on mobile devices can be quite compact and highly efficient compared with general-purpose XML parsing. Hence WBXML seems quite suitable for the original use case: support for WAP on limited capacity devices.
Nokia has worked on compression of SVG for mobile services and terminals since 2001. Our SVG compression experience shows that there is no single efficient compression method suitable for all mobile SVG content. At first we worked on defining an XML schema-based typed binary format called CVG  (Compressed Vector Graphics). CVG performs two-to-four times better than general-purpose compression (such as GZIP) for small (less than 30K) SVG content. In addition it is decoded and parsed much faster than text based SVG files or GZIP.
CVG originally targeted very limited mobile terminals and SMS messages. However, as mobile terminals for SVG have become more powerful, multimedia (MMS) messages have been targeted, and requirements have changed. SVG file sizes have increased (to ~100K), and GZIP performs equally or even better than typed binary formats for large SVG files. Other requirements such as progressive downloading have also become more important than efficient compression. Recently we have submitted a proposal to 3GPP-Release 6 that addresses the new use cases and requirements by supporting GZIP compression.
Nokia has done extensive internal research on XML document interchange efficiency using mobile devices and wireless links. (See, for example, .) In general this work has focused on two broad areas where improved XML interchange efficiency is likely to be of most benefit to Nokia:
Some general conclusions have been:
Nokia’s experience with this issue has led us to believe that there is no "one-size-fits-all" approach to improving XML efficiency. For larger documents, general-purpose compression mechanisms--such as GZIP--can usefully improve the efficiency with which documents are transmitted via wireless links. However, the benefit is lost for very small documents. For multi-media documents the benefits of compression may also be limited because much of the content is multi-media elements such as images, which are already compressed.
In the case of documents intended for rendering and display to human users (e.g. XHTML, WML, SMIL, etc.), XML-specific compression schemes (such as WBXML) offer limted benefit compared to general-purpose compression since the compressible XML overhead relative to document content is usually small. (And, of course, for such documents any compression scheme loses one of the benefits that is often claimed for XML text representation: human readability.) At the same time, local processing (parsing and rendering of documents) on low-powered devices is often a very large contributor to user-perceived latency, which in many cases swamps the latency due to the wireless link. General-purpose binary compression is likely to add further processing time, although this may not be significant in the total perceived latency. On the other hand, XML-specific compression can actually reduce local processing significantly.
For documents based on schemas for data interchange (e.g. SOAP) there may be greater benefits to XML-specific binary formats. SOAP is a verbose protocol and can be highly inefficient when the data exchanged is small. When the schema is well known at each end, it can make sense to transmit only a serialization of the data rather than the XML infoset (as done by RPC mechanisms that pre-date SOAP.) Presumably, such binary serialization is outside the scope of XML infoset serialization, although from an application point of view (e.g. WSDL compiler) this can still be made to appear as standard web services.
These observations lead to a series of high-level guidelines and requirements for efficient XML document interchange:
Selim Balcisoy, Art Barstow, Greg Carpenter, Tolga Capin, Guido Grassel, Marta Karczewicz, Steve Lewontin, Kimmo Raatikainin, Franklin Reynolds, Tao Wu
Editor: Steve Lewontin