If you’ve hit the magic Time Machine icon while in iPhoto, Mail, or Address Book you’ll have noticed that those apps show their own interfaces while in Time Machine itself. In other apps, either nothing will happen or (more likely) you’ll see the current Finder window.
As the image above shows, this isn’t impossible for non-Apple apps to do.
The source code is, needless to say, Leopard-only, and the Time Machine helper class uses ObjC 2.0 features such as properties and @optional protocol specifications.
The archive above contains the project, based upon Jon ‘Wolf’ Rentzsch’s CoreData tutorial. This was done purely as a time-saving measure, since this tutorial resulted in a small app with a single data store containing a bunch of separate data objects.
Yeah, okay, I was just too lazy to write my own.
The archive also contains a PDF version of a talk I gave on this subject for the Toronto CocoaHeads group. This PDF is available separately here. At some point I might actually make a screencast out of this. I have all the tools available, having bought them a year ago and then had no opportunity to use them; now it’s just a matter of finding the time (it’s a lot quicker to throw up the code & post here, after all).
The code is available on github.