View Full Version : Keynote XML Format and X11
MacRumors
Feb 12, 2003, 09:25 PM
Apple posted (http://developer.apple.com/technotes/tn2002/tn2067.html) the XML File Format for Keynote.
By providing an open file format, this enables developers to create applications which can create and process Keynote files automatically.
Meanwhile, many have noted that Apple's implementation of X11 has been updated (http://www.apple.com/macosx/x11/download/) to v0.2.1.
MrMacMan
Feb 12, 2003, 09:28 PM
Sweet, even more reason to use keynote more often than not.
:D
I also read about the X11 update.
iSmell
Feb 12, 2003, 09:36 PM
Yay open standards!
X11 is cool too, but I think I'll wait until it gets a little closer to 1.0.
Xero
Feb 12, 2003, 09:46 PM
correct me if im wrong, but X11/Linux apps still have to be compiled for a mac version of linux to work under X11? i could be totally off on this. the multitude of linux versions confuses me.
keynote: again apple is spearheading the open-source movement, excellent!
MacManiac1224
Feb 12, 2003, 09:50 PM
I am pretty sure the linux/unix files do not have to be recompiled to use in the X11 implentation
Bear
Feb 12, 2003, 09:53 PM
Originally posted by Xero
correct me if im wrong, but X11/Linux apps still have to be compiled for a mac version of linux to work under X11? i could be totally off on this. the multitude of linux versions confuses me.
keynote: again apple is spearheading the open-source movement, excellent!
Some of these apps already exist. For instance, Open Office and GIMP.
However, X11 is also useful for displaying windows back from a Unix or Linux system.
Gus
Feb 12, 2003, 10:06 PM
ok, someone enlighten me as to what this news really means. I have no idea how XML would affect Keynote.
thank you.
Regards,
Gus
Nermal
Feb 12, 2003, 10:38 PM
Originally posted by Gus
ok, someone enlighten me as to what this news really means. I have no idea how XML would affect Keynote.
thank you.
Regards,
Gus
They're basically telling everyone how the Keynote format works. This will allow other programs to be able to easily read and write Keynote files, without the developers having to reverse engineer the format.
Xero
Feb 12, 2003, 10:39 PM
im guesing keynote uses a form of XML code to generate its presentations/files. open implementation of this means that anyone can easily make a keynote compatible app without paying through the nose to apple. i htink thats the jist of it
alex_ant
Feb 12, 2003, 10:40 PM
XML is a text format used to store list-type things, which can include preferences and application data (like all the time/date/description info you've got in iCal or all the information about your photos in iPhoto). The fact that Apple documents Keynote's use of this format just means that third-parties will be able to make use of Keynote's data in some way. (Rather than having a situation like .doc where only Microsoft knows the exact file format since it's such a mess.)
wrylachlan
Feb 12, 2003, 10:42 PM
Originally posted by Gus
ok, someone enlighten me as to what this news really means. I have no idea how XML would affect Keynote.
thank you.
Regards,
Gus
The example that was given at Macworld was a script that takes info from a database and automatically edits it into a Keynote file. This would allow an executive to have a beautiful presentation on his desk every morning with automatically updated sales information from the past 24 hours. Does anyone else think this is astonishingly powerful?
BigJayhawk
Feb 12, 2003, 11:18 PM
This sounds SO COOL!!! (The scripting of data into Keynote Presentations, I mean.)
Dream with me . . .
As flat screen prices come down, we report to the office and we have our own "stock ticker" type data along with info like the daily and weekly calendars, our to-do lists, phone messages, etc. "performing" in their own Keynote presentation on the wall behind the desk. As the data in our calendars, to-do lists, stock portfolios, etc. change and the pertinent data for our daily work operations are updated, the all-in-one PERSONAL KEYNOTE!
Ahhh!!!
Gus
Feb 12, 2003, 11:31 PM
Thanks to all for that very informative tutorial. NOW I understand why this was newsworthy. Good that Apple has stuck with the open source philosophy.
Regards,
Gus
shadowfax
Feb 13, 2003, 12:13 AM
Originally posted by Xero
correct me if im wrong, but X11/Linux apps still have to be compiled for a mac version of linux to work under X11? i could be totally off on this. the multitude of linux versions confuses me.
keynote: again apple is spearheading the open-source movement, excellent!
Originally posted by MacManiac1224
I am pretty sure the linux/unix files do not have to be recompiled to use in the X11 implentation
I don't think they have to be recompiled, but linux packages won't install correctly into an OS X platform. you can download tons of packages for XFree86 on Darwin from places like fink, or individual stuff from places like openOffice and macGIMP, or you can get the source and compile it yourself. but no, i am pretty sure that X86 installers won't work right in Darwin under the XFree86 server, because of different directory structures. for instance, programs don't go in /bin or whatever (i really don't presume to know much about the different linux directories), they go in /sw/bin (for fink) and are linked to /usr/X11R6 and so on. this may not be quite accurate, but it's the general idea, i am pretty sure.
i wouldn't try getting a linux mozilla package and installing it onto your computer; if it did work right, it would install the files into places that mixed it with Darwin stuff, and you would be very unhappy trying to get rid of it. and it still wouldn't look for the Xfree86 stuff in /usr/X11R6
Apple][Forever
Feb 13, 2003, 01:48 AM
And most linux binary packages are in x86 format, so they wouldn't run anyway. But I've been using X11 PB (and OroborosX before that) with linux source packages for a while and they compile fine. Sometimes you have to diddle with the makefile and change your system type to BSD but that's about it.
GeneR
Feb 13, 2003, 01:56 AM
By making Keynote open source, it looks to me as if Apple is potentially becoming the next tail that wags the dog in terms of productivity tools and standards. The reason I'm thinking this is because Keynote can grow to become a standard presentation app for developers to integrate with their own products over many platforms. A great way to take the monopoly out of MS Powerpoint!!! Now all we need is Apple to lead the way with other office apps!
As long as Apple is the originator of the code and the idea for an app they still will get the credit for innovation and vision even if thousands of volunteers throughout the world are making it possible.
Well, that's my opinion. Who really knows?
;)
robbieduncan
Feb 13, 2003, 02:56 AM
Originally posted by GeneR
By making Keynote open source, it looks to me as if Apple is potentially becoming the next tail that wags the dog in terms of productivity tools and standards. The reason I'm thinking this is because Keynote can grow to become a standard presentation app for developers to integrate with their own products over many platforms. A great way to take the monopoly out of MS Powerpoint!!! Now all we need is Apple to lead the way with other office apps!
As long as Apple is the originator of the code and the idea for an app they still will get the credit for innovation and vision even if thousands of volunteers throughout the world are making it possible.
Well, that's my opinion. Who really knows?
;)
Keynote is NOT OPEN SOURCE. This seems to be a common Mac problem (similar ot people claiming Safari is Open Source). Keynote has an open file format, but Apple are not offering the source code for download. Parts of Safaria are Open Source, but most of what makes it Safari and not Knoqueror are proprietary Apple code and not available to the general public.
That said I think this is a great move by Apple, and will shows the major differences between Apple (open and encouraging the comunity) and Microsoft (closed and anti-competitive).
jettredmont
Feb 13, 2003, 03:59 AM
Originally posted by MacManiac1224
I am pretty sure the linux/unix files do not have to be recompiled to use in the X11 implentation
Incorrect. Any x86 Linux app will need to be recompiled for OS X. Also, almost any PPC Linux app will have to be recompiled for OSX (actually for the Mach kernel instead of for the Linux kernel).
Explanation: of course, x86 and PPC processors use different, incompatible instruction sets. Machine code for the x86 processor will simply not function on a PPC processor. In addition, all but the simplest of applications will make use of shared code and kernel-supplied facilities. The ABI (binary interface) between shared libraries is different on Darwin/OSX than it is on PPC Linux systems. Thus, even though the PPC Linux code is written for the PPC processor, it is written with a binary interface to the Linux kernel, and that is incompatible with the OSX/Darwin/Mach kernel.
On the other hand, apps are not compiled against any particular instance of X11 client. One can fairly easily switch between an Apple X11 implementation and a Fink X11 implementation without having to recompile all the X11 apps.
What X11 support buys OSX is not binary compatibility with Linux. It buys simple-recompile compatibility with many (but not all) GUI-based Linux apps. The vast majority of Linux (and other Un*x systems, including Solaris) apps are written using the X11 windowing system. Many newer apps also use features from the Qt library (KDE-native and not cross-platform without a substantial licensing fee) or the GTK library (Gnome-native, and I believe this has been compiled on OSX without problem given some of the titles which are currently cross-platform like OpenOffice and Mozilla). Those which use Qt are most likely not going to be ported to OSX unless there is significant demand (note: KHTML, the basis of Safari, uses Qt, but Apple "cheated" and re-implemented the Qt calls they needed to use in pure Cocoa in the WebCore framework).
X11 allows a significant portion of apps written for Un*x to be recompiled on OS X with only minor modifications (same as modifications required to run on any other new Un*x).
Of course, Apple's X11 isn't the only implementation out there. It's just the most polished, the most native, and of course the most officially Apple-supported. That's why this X11 client app is an important project: it gives Un*x refugees an official sanctuary. On the other hand, X11 apps, by the very nature of X11, must necessarily be relatively ugly. Apple's X11 implementation hooks into Aqua and Quartz services as much as possible, making the apps a little "better" looking and performing, but still they don't quite fit into the rest of the system as true OSX apps do.
Thus, it is vital that the more "mainstream" apps pull on a Cocoa skin to replace their other-Un*x X11 skin for OSX, but little apps and in-house utilities can of course just keep X11 for ease of maintenance across platforms. And, of course, apps which require X11 peculiarities (run on one machine, display on a different one, for instance) can always stay in the confines of X11.
jettredmont
Feb 13, 2003, 04:14 AM
Originally posted by BigJayhawk
This sounds SO COOL!!! (The scripting of data into Keynote Presentations, I mean.)
Dream with me . . .
As flat screen prices come down, we report to the office and we have our own "stock ticker" type data along with info like the daily and weekly calendars, our to-do lists, phone messages, etc. "performing" in their own Keynote presentation on the wall behind the desk. As the data in our calendars, to-do lists, stock portfolios, etc. change and the pertinent data for our daily work operations are updated, the all-in-one PERSONAL KEYNOTE!
Ahhh!!!
Sounds more like the purview of a web application than Keynote.
Using macros to compile (or update) bits of Keynote presentation allows you to put the latest sales figures, for instance, into your presentation with a single click. But such updating wouldn't be done in realtime while the presentation is being viewed (the XML data would only be read when the presentation is opened, not continually scanned for changes). And it also most likely wouldn't be a kiosk-style on-demand activity either (it's good to have a human double-check the presentation of data no matter how it is put into a presentation).
But, as I've said before, you really don't need much of the DTD (XML data type definition) to make a template-based replacement proggie for Keynote. As it is XML, data-length issues can be almost entirely ignored; just make your "template" presentation with dummy data, open the source, replace the dummy data with template instructions, then write your program that reads the live data and replaces those template instructions with the read data. Any halfway-decent in-house programmer worth his salary should be able to do this, which is why using XML as the primary data storage is such a damned wonderful thing!
That having been said, documenting the format allows others to write compatible presentation programs and programs that manipulate the overall form of a presentation based on external data (for instance, if the quarterly sales numbers aren't so good, maybe throw that slide out altogether!) Open formats are great for competition, innovation, and hence for the user.
Of course, traditional companies tend towards closed formats because these are better for the format originator (see MS binary file formats for example), but moving to an open format sends a clear signal that the developer is willing to compete on features, stability, and usability rather than attempt to gain market share then rely upon file-format lock-in to keep sales alive while features, stability, and usability stagnate or decline.
Foocha
Feb 13, 2003, 09:02 AM
This is not big news - even the next version of MS Office (11) is going to have an XML document format, and let's face facts - MS are not the poster child of the open source movement ;)
It's great that Apple is publishing details of the keynote document format, since this may prove useful to some developers. However, this does not make Keynote "Open source".
I've played with a copy of Keynote for a few days now, and two things strike me:
- It has enormous potential
- It's currently useless because of all the bugs
Mr. MacPhisto
Feb 13, 2003, 09:47 AM
For a company like Apple to make a file format open code is a really big deal. Keynote is still proprietary, but the open-code on the format will make it very easy for someone to utilize information stored in Keynote. Companion apps can be made that can compile data and throw it into a Keynote format. Now we just need an open-format for an Apple Office product of some kind.
I've also been debating if Apple should sell Keynote or any other Office-type product for the PC. Although, upon reflection, it would be great if PC users become very envious of the apps that Apple develops for the Mac. I know some that see me use iLife and just drool. Imagine if Apple puts out a word processor and spreadsheet that are integrated and easy to use! Knowing Apple, they'd make it simple enough that you don't need a class or a book to figure everything out. That's really where they can gain marketshare, by creating products that actually increase productivity instead of increase frustration and by allowing some code to be open so that others can make programs that compliment their own apps. I'm just excited to see what happens when more people use Cocoa and get away from Carbon.
pdcorlis
Feb 13, 2003, 09:53 AM
I'd be more excited about this bit of news if Keynote actually ran on more of Apple's recent hardware... Hey Apple, how about taking some of that time and energy and fixing Keynote?
rmac
Feb 13, 2003, 10:02 AM
Originally posted by Foocha
This is not big news - even the next version of MS Office (11) is going to have an XML document format, and let's face facts - MS are not the poster child of the open source movement ;)
Anyone out there understand what Microsoft is using XML for? From what I've read so far, the idea seems to be to allow all of the office components (excel, word, etc.) to read, use and edit XML files. In comparison, OpenOffice is making their office document format with XML. This sounds more like what Apple just did....using an open, documented XML file format.
Here's the article I'm getting this from:
The XML Format for the Masses (http://www.xmlhack.com/read.php?item=1846)
Furthermore, from what I've read on Slashdot, even if Microsoft DID use an XML file format, people would still have to reverse engineer it unless the documentation for it was released. It would be one thing to be able to produce an app that can produce a valid document...it would be a much much harder task to make a program that could read ANY valid document thrown at it. Just because XML is "human readable" doesn't mean that you can easily figure out how to handle all instances of the file format.
wallinbl
Feb 13, 2003, 10:53 AM
Originally posted by rmac
Anyone out there understand what Microsoft is using XML for? From what I've read so far, the idea seems to be to allow all of the office components (excel, word, etc.) to read, use and edit XML files. In comparison, OpenOffice is making their office document format with XML. This sounds more like what Apple just did....using an open, documented XML file format.
XML is confusing to a lot of people. It is simply a way to mark up text. You put tags around information to signify different things. The thing with XML is that you get to make up your own tags. There is not some standardized specification of tags that you use (like HTML, but you can literally make up your own tags <ReallyBigFontSize>XX</ReallyBigFontSize>). If Microsoft doesn't tell you how to read their XML, it is just as worthless as their current binary .DOC files.
Just because something is in XML doesn't mean it is useful to anything else.
jettredmont
Feb 13, 2003, 11:48 AM
Originally posted by rmac
Anyone out there understand what Microsoft is using XML for? From what I've read so far, the idea seems to be to allow all of the office components (excel, word, etc.) to read, use and edit XML files.
That is my understanding as well. As with their HTML format "support", I believe MS's idea is to make their products able to read/write XML (utilizing some very ugly and bloated semi-proprietary blobs for formatting that they didn't want to figure out how to put into XML properly, just like with HTML), but to keep the "native" file format as the basic everything-is-preserved format.
This is markedly unlike, of course Keynote and OpenOffice, which both use XML in a quite standard and human-readable and, surprisingly from MS's FUD, non-bloated manner.
Yes, MS may "see the light" and move to an open format and open DTD (although I seriously doubt there will be version-to-version compatibility between the DTDs), but given past efforts on their part and the importance that they have placed on keeping their binary format incomprehensible and proprietary, I doubt they will.
Furthermore, from what I've read on Slashdot, even if Microsoft DID use an XML file format, people would still have to reverse engineer it unless the documentation for it was released.
Well, not to a huge extent. Yes, MS could (and probably will) use non-open kludges (like CDATA containing a binary data blob describing overall formatting) to obfuscate their file format, and if they don't do a good job in releasing and documenting the DTD then it will be very hard for someone to create a Word-compatible word processing program, for example. However, when you look at MS's stated purpose (being able to easily share bits of data between applications), and the most basic attributes of XML: you should quite easily be able to pull data out of any MS XML document, and place data into it. Formatting might take more thinking to figure out, but the data itself should be accessible given an XML parser and a 10-minute document analysis.
It would be one thing to be able to produce an app that can produce a valid document...it would be a much much harder task to make a program that could read ANY valid document thrown at it. Just because XML is "human readable" doesn't mean that you can easily figure out how to handle all instances of the file format.
Only if by "handle" you mean perfectly preserve formatting. I mean, the world has had a hard enough time trying to duplicate the formatting ideosynchracies of Internet Explorer (and even MS can't quite fully duplicate their signature bugs across multiple platforms); no matter how well documented the DTD is, nothing will display and print a Word document in quite the peculiar manner Word is bound to use. That having been said, the contents and basic formatting of a Word document should be readily accessible and, for a change, readily modifiable by external applications.
The key advantage of XML over binary data is that the overall document structure is well-defined and should not contain any data-length modification pitfalls.
jettredmont
Feb 13, 2003, 11:58 AM
Originally posted by wallinbl
XML is confusing to a lot of people. It is simply a way to mark up text. You put tags around information to signify different things. The thing with XML is that you get to make up your own tags. There is not some standardized specification of tags that you use (like HTML, but you can literally make up your own tags <ReallyBigFontSize>XX</ReallyBigFontSize>). If Microsoft doesn't tell you how to read their XML, it is just as worthless as their current binary .DOC files.
Just because something is in XML doesn't mean it is useful to anything else.
Again, this is only semi-true. If you generate a basic document that says "Header Here" in bold, 24-point type centered at the top, and "Paragraph One" in the first paragraph and "Paragraph Two" for the second paragraph and has an even-page footer with th bold, justified test "Even-Page-Footer" and an odd-page footer with the left-aligned text "Odd-Page-Footer" and the page number on the right margin, save it to XML, and it's about 90% likely that you'll be able to replace each of those elements with your own text.
Yes, MS could do nasty things to XML which break all benefits of XML (like, for instance, they could "index" the document in a CDATA blob at the top of it, or they could use cross-references to separate the text/data itself from the formatting, or they could just take the binary .doc format file, run it through a base-64 binary-to-ascii encryption alg and stuff it all in one massive CDATA blob and call that XML), but doing things ike that would (1) be utterly transparent to the industry not that that has stopped them before and (2) defeat their stated goals for using XML, which is simplified data exchange between files without loading the "host" applications into memory.
Now, that said, again, if MS doesn't see an advantage to letting just anyone on the street create a Word-compatible document or print a Word-generated document, all they have to do is poorly or not at all document the DTD and they have achieved their stated goals without advancing the industry the way an open file system would. All indications are that MS does not intend to allow competing programs to create and modify its XML format files, and so I'm not holding my breath for a well-documented DTD coming from them.
However, just by making the file format XML, the world becomes a much kinder place for the competition and for the consumer.
Foocha
Feb 13, 2003, 12:51 PM
The only reason I can see that Microsoft would select XML as the basis for their new document format is interoperability. I'm struggling to think of a cynical motive behind it (although on Microsoft's past form, I acknowledge that there may be one ;)).
Publishing details of the Keynote document format has some significance, but it is not the equivelant of Microsoft publishing details about the Office document formats - giving something away only counts if it's worth something - Office is, Keynote isn't (yet).
Let's be realistic, for something to qualify as an open standard, it has to be both open and a standard. Keynote's document format may be open, but it's not a standard. Office may qualify as a standard, but it's not open.
BTW - there would be no point in releasing Keynote for Windows since the whole premise of the application is to demonstrate the unique Quartz graphics capabilities of OS X - put plainly, Keynote could not be done in current versions of Windows. (This may be blessing for Windows users, based on current form).
wallinbl
Feb 13, 2003, 12:55 PM
The only reason I can see that Microsoft would select XML as the basis for their new document format is interoperability. I'm struggling to think of a cynical motive behind it (although on Microsoft's past form, I acknowledge that there may be one ).
The only reason that they are using XML is because XML is an enormous buzzword right now. They want to put it on their website and in their ads. They want to espouse their 'openness', even if it is utter BS. They want to dispell the idea that they are security poor and proprietary. They have been getting bad press for those two things.
It is all about manipulation, and MS is better than anyone at it.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.