The whole world has been giving Microsoft a hard time over their Office XML file formats; it turns out that there are far worse sinners. Apple, for one. Derek Beatty here at Sun ran across this write-up on their iWork (Keynote, Pages, and so on) file formats, which are XML-based. Item: there’s no attempt to conform to OpenDocument or any other standard. Item: they change them at will: “With the introduction of Keynote 2.x, this schema file is out of date.” Item: They don’t exactly encourage using their specs to build software: “Although the information in this technical note may appear useful, you should not rely on it for developing or modifying your own products.” And, to cap it all: “This document does not describe the complete XML schema for either Pages 1.x or Keynote 2.x. The complete XML schema for both applications is not available and will not be made public.” [Emphasis Apple’s.] Charming stuff. [Update: Apple’s Ernie Prabhakar pushes back passionately. I still don’t think anyone should store information that matters in a data format that’s not open and documented, but Ernie makes some good points.] [Update: Ooh! My own genuine Apple Leak, on how the iWork XML got that way. Read on.]
Someone who prefers to remain anonymous writes:
The XML Schema for Keynote 1.0 was not actually developed in house; rather it was designed by a set of highly knowledgeable contractors. For the second round of applications (including Keynote 2.0), the XML Schemas were brought in house to Apple and this is where the headaches started. The schema was changed on an almost daily basis, breaking builds and causing mass amounts of confusion and bitterness. Also, by bringing it in house they lost the use of all this XML expertise that they had for the first version of the file format. There was no thought to standards or conformance at all. Rather they authored the schema in an ad hoc manner to suit their in memory file structure.
To sum up: the second round of file formats were constructed by amateurs.
Sad but true.