Subscribe to
NSLog(); Header Image

Apple Embraces the Open Format Movement

On a scale of "Evil Behavior" from 1 to 100, Microsoft may sit at about an 85. One of Microsoft's many flaws is in integrating "core" applications so tightly that it's tough for a competitor to sneak in. Their browser is so closely tied to the OS that they (wrongly) lied and said that it could not be removed (it can be removed… but not easily). They use secret APIs to give their own applications a boost over the competition, and they have actually intentionally "broken" third-party software in the past for their own advantage.

Apple's done a great job of embracing Open Source lately. KHTML and Safari are awesome, and the list of bug fixes, improvements, and advances made to KHTML and KJS is quite looooooong. Keynote, which imports and exports proprietary PowerPoint documents, saves its own document in XML. iTunes uses an XML document to store its information. Apple just introduced "iLife," which includes iPhoto 2. Currently, iPhoto uses a binary file format to store its library/album information. Who wants to bet that iPhoto 2 uses XML? I do.

iLife integrates all of its component applications nicely. But imagine if the integration was there, but Apple had a higher "Evil Behavior" ranking. Take Audion, a nice MP3 player made by the fine geeks at Panic. iTunes and Audion compete, and iTunes' main advantage is its price: free. But imagine if only iTunes playlists and so on could be used within iMovie or iPhoto. Users of either of those two apps would be forced to maintain a copy of their music in iTunes. Because synchronization between iTunes and Audion might be a pain, customers might be likely to drop Audion for the ease of use iMovie gives them with iTunes.

But this is Apple, and the iTunes library XML document ("iTunes Music Library.xml") is easily decipherable. Audion could easily write such a file to the disk, instantly achieving compatibility with their playlists and iMovie/iPhoto. Will Panic add such a feature? I don't know. But the option, and the ability, is there. Were Apple Microsoft, they'd have simply made some secret calls into some secret shared "DigitalHub.dll."

Then there's iPhoto. You can easily view iPhoto albums in iMovie, and you can synchronize slide shows in iPhoto to iTunes songs. It's great that iPhoto albums can be used in this way, but is the data necessary to do this available to others? Currently, iPhoto 1 uses a binary file format to store its Library/Album data. It was an "automaton" in the software world, relying on nothing. you could drag and drop images, but that was about the extent to which it could - or had to - share its information with other applications.

But now, I've got a pretty good idea that iPhoto 2 will introduce XML formats here. Why? They're easier to understand, decode, and work with. If two or three other Apple-developed applications want to display pictures, XML is easy for those other Apple engineers to understand. It's just a happy convenience and a pleasant side effect that this also makes it easier for other developers outside of Apple to integrate into their applications.

Let's look at other places: the Address Book in Jaguar has a binary file format (the database), but it offers up three different APIs for the various languages and frameworks. This, some may argue, is actually more elegant than forcing people to read an XML list, and serves nicely to deduct points from Apple's "Evil Behavior" rating. Sherlock? SDK available. KHTML? WebCore and JavaScriptCore are available, and should begin appearing in applications shortly. How about iSync? Hmm, still no SDK for that puppy... And I know the Microsoft people are looking for it, too. iCal? No SDK there, though the file format is open, and that's a plus. Can anyone think of any others?

I believe that Apple understands that what Microsoft did (does) was "bad." I believe that Apple understands that integration with other applications is cool, but integration with anyone's application - not just those developed at Apple - is even cooler. I believe that Apple may be one of the companies making the best - and most - use of Open Source in the computing landscape today. XML, APIs, and common and open file formats and advances (Rendezvous, which even TiVo has snapped up) all boost the Mac as a platform and enhance the computing environment on any platform.

I believe Apple "just gets it" to paraphrase my earlier post today. iTunes isn't open source, but it uses an open file format. Keynote isn't open source, but it uses an open file format. The Address Book is not open source, but its API is. iCal isn't open source, but it uses an open file format. Apple has clearly embraced the open source - and when that's not possible, the open format - movement.

3 Responses to "Apple Embraces the Open Format Movement"

  1. In the April, 2003 issue of Macworld, Matt Deatherage uses his brand new "The Big Picture" column to talk about Apple's open format movement. Deatherage...

  2. Sure Apple understands everything... I think everything they do has been considered very carefully :))

  3. [...] while Apple is a little better, they’ve still got their fair share of problems. And I’m not entirely convinced open [...]