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 XML.com 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
|