Many Windows developers feel they can do things better than Microsoft’s built-in applications, so they often build their own databases for managing contacts and other data. But this means that end users are often left struggling to manage contacts in numerous applications at once.
Apple’s efforts to avoid duplication – and an application culture that values building on top of Apple’s utilities rather than duplicating them – has brought the single-source-of-the-truth ideal closer to reality on Mac OS X.
Even if you use another application to edit your photos, for example, odds are that you’re storing them inside Mac OS X’s iPhoto application. Most third-party applications are designed on the assumption that your photos live in iPhoto, and they use the Mac’s built-in application programming interfaces (APIs) to interact with the iPhoto library.
These interfaces allow other applications to easily access your audio, photo, and video files without building their own indexes. They’re also used by the core media browser, which provides access to audio, movie and photo files from nearly any application’s Open files dialogue.
To see how this works, hit c-O (for ‘Open’) in your text editor, then scroll down to the bottom of the left-hand sidebar to the Media category.
Score one for consistency. Mac OS X has taken a similar approach with Address Book, its centralised contacts repository, and iCal, its built-in scheduling application. Each has its own features and their data is available to other applications for integration with built-in applications such as Mail; they’re also the single source of the truth when syncing with an iPhone, and when using MobileMe to sync your data between many computers.
In other words, no matter what productivity application you’re using, you want to make sure there’s a master copy of your calendar and contacts in these two applications. This will also help when using applications like Skype, which can import your Address Book contacts into your Skype address book.
If you’d prefer to manage your contacts in a third-party application like Entourage, the built-in Sync Services allows applications to link to Address Book and iCal so that changes are automatically synchronised in both directions. This lets you use your app of choice while maintaining that critical master copy – which Sync Services calls a ‘truth database’.
Sync Services usually stays out of the way and only notifies you if there’s a problem – such as if a record has been changed in more than one place, and it needs confirmation which application has the correct version. You’ll also get an alarm if an update will change a certain percentage of your contacts; set this threshold using the built-in iSync (in the Applications folder), also used for syncing data to and from a broad range of smartphones, PDAs, and the like.
Another built-in Apple service is Keychain, a system-wide password manager that can store passwords for websites, FTP servers, network shares, and more; encryption keys; digital certificates; and secure notes. Passwords are secured using Triple-DES encryption.
Mac OS X will tell you when an application is trying to access an entry in your Keychain; this usually happens when you’ve set up a new mail account, for example. If you’re changing an application’s configuration, this is usually fine – but if you’re not doing anything special, stop to consider for a moment what application is requesting access.
You can manage entries in your Keychain using the Keychain Access application (in Applications > Utilities), which stores your details in the ‘login’ keychain and also manages dozens of digital certificates used by different parts of the operating system. You can also use Keychain Access to ‘lock’ a keychain to prevent access to it, should you need to do so.
In larger companies, Keychain Access can also be used to search directory services for email certificates.
This article originally appeared in the March issue of Australian Macworld magazine.