Apple uses XML for new presentation format, but shuns SVG
15:50, 10 Jan 2003 UTC | Uche Ogbuji

Tim Bray pointed to an example of the XML vocabulary for Apple's new presentation program, Keynote. He also noted that "it includes a fairly complete vector-graphics facility." This led to discussion of why Apple chose not to use SVG for vector graphics.

Antoine Quint, SVG columnist on was the first to question Apple's decision-making.

Although I am by nature an Apple enthusiast (and already ordered Keynote) I must say I am a little puzzled by what I see from the XML grammar used by Keynote.

As you noticed, it includes quite a lot of vector graphics information, which I must note differs from SVG. What I wonder is why did they have to use a different grammar. From what I understood from Steve's keynote, Keynote leverages Quartz2D (OS X's fantastic drawing/imaging API). If you ever took a close look at Quartz2D you'll notice that feature-wise it is pretty much closely matches the graphics capabilities, main differences are compositing model (Quartz2D seems to only support SRC_OVER - don't quote me on that though, some experts from the SVG WG could offer more details) and maybe some filters. The bottom-line is that Apple could very much have built Quartz2D on top of SVG rather than PDF. It is also worth noticing that Apple took part in SVG 1.0.


Other dodgy things I've seen is APXL constantly avoiding leveraging CSS. Not only are there no CSS properties but rather (arguably regrettable in SVG too) presentation attributes and even elements, but also APXL fails to leverage CSS types such as RGB colors. Another weird thing is the failure to use reusable definitions for things like gradients.


It seems to me that there are no graphics features in Keynote that are not available in SVG. Actually, there are similarities in the way that graphics data are expressed in APXL but I fail to see any SVG leveraging. I think this is quite dissappointing design from Apple and a bit of a dirty XML serialization to me. XML is great for defining open and interoperable grammars, but what's the point of re-inventing the wheel here?

Jon Ferraiolo offered some points in possible defense of Apple:

While obviously I'm a proponent of SVG, when I looked at the Keynote XML grammar I saw lots of higher-level application-specific things (e.g., master pages, current UI state) that are not defined in SVG, which is a lower-level presentation grammar. I would think that expressing files in terms of Keynote XML promote lossless reimport into Keynote authoring and might provide leverage in terms of enhanced presentation due to lossless expression of information.

In terms of SVG, what would be good would be if we could achieve sufficient flexibility with the Rendering Arbitrary XML feature which is being considered for [SVG 1.2] such that KeynoteXML could be rendered by any SVG 1.2-compliant viewer. Then maybe Apple would create KeynoteXML files which included the necessary Render Arbitrary XML extra stuff to allow viewing on SVG-enabled systems also. (Although maybe they think driving people towards lock-in to their platform is the key issue.)

On a side note, Tim Bray mused:

Also note that all the content is in CDATA sections. Hmm. I wonder what happens if I have "]]>" in one of my slides...

Related article: OpenOffice: the XML format for the masses

| See all 5 comments

Newest comments

Or maybe it was an oversight. (Nathan - 15:39, 20 Feb 2003)
Simplest solution is sometimes the most obvious.
Adobe Illustrator is able to save and reopen SVGs and yet retains Illustrator-specific metadata usin ...
One thing you forgot to mention is that OSX uses for object descriptions. This will allow an out ...
Has anyone tried writing XSLT that turns Apple's format into SVG? (or some subset...)
xmlhack: developer news from the XML community

Front page | Search | Find XML jobs

Related categories