As Derrick Story points out, iPhoto 2 is Mostly Good News — lots of great new features — but if you read the follow-up threads you’ll notice that customers don’t feel that performance has improved. Built-in CD archiving is implemented excellently and iPhoto librarian is a life-saver, but it’s still a pain to have to maintain multiple libraries manually if your collection is larger than 1,000 or so images (i.e. amateur size).
Likewise, iMovie 3 is a great leap forward in many respects, but has a couple of media database problems of its own. It’s able to bring my photo database into the Photos view almost instantaneously, but only sees the default iPhoto database, not the one I’m currently working on (fortunately, it is possible to drag and drop from iPhoto into iMovie). The real bottleneck comes when I click the Audio button to see my iTunes database. I clocked this: 35 seconds from clicking the button to registering a 15,560-song library. That’s 35 seconds with no application feedback whatsoever - no beachball, no thermometer. The app appears totally hung as I wait and wonder whether to terminate the process. I get a similar effect when clicking the Slideshow button in iPhoto, since it has to present a track selector before it can proceed. Meanwhile, iTunes itself still struggles to keep up when deleting tracks, selecting items, bringing up the ID3 editor, etc.
To me, all of these database issues point to a similar need — find a more efficient backing store for the iApps. The more I ask around, the more it seems that XML is the smoking gun on iLife performance drags - it’s a great format for interoperability, but horribly inefficient and resource consumptive. Maybe, just maybe, it’s time to reconsider using XML for the iApps. Maybe, just maybe, Apple should consider using some of the highly efficient open source database code out there — MySQL would do nicely I’m sure.
And since the iLife apps are all so wonderfully integrated now, why not place all of my media in a single, integrated media database? Whether such a database would store media objects themselves (allowing full export to original formats of course) or just references to them (with iTunes-style non-breaking inode references) is unimportant to me. With modern Mac hardware, I should be getting modern media database performance where it counts the most — when using my Mac as the digital lifestyle hub it’s touted as.
It’s important to keep in mind that a future of media collection lies in front of us all. Most of us have been collecting digital video, MP3s and photos for a year or two. What’s your media collection going to look like in five years, or ten, or twenty? Our Macs will ship with terabyte drives at some point in the future, no doubt. How will your iApps deal with that much media? The time to plan for the inevitability of truly massive personal media collections is now. We’re already feeling the pinch.
I like to steer clear of the “armchair CEO” syndrome, where users get in the habit of telling the vendor what it “should” do, so let’s just say this is one of my top wishlist items for the future of Mac OS. Interestingly, when I mentioned iApps, performance, and XML to an Apple employee at the last MacWorld, he rolled his eyes skyward and made some vague reference to “Apple always working on interesting stuff.” Hmmm…