A Cautionary Tale About Contacts and Backups

On episode 306 of Mac Power Users, David and Katie talked about contacts on OS X and iOS, including a discussion of Interact, which sounds pretty much like the app that Apple should have built for contacts on iOS. They also mentioned Contacts Cleaner which I consider an indispensable tool for managing contacts on OS X.

However, there are a few details about backing up and restoring contacts that I wanted to add. And by “details” I mean “war stories” and by “war stories” I mean “let me tell you how I got these scars.”

First off, David talked about how much he has gotten into using Groups in Contacts. I love Groups too, but this is where I pull up my sleeve and show you the first scar. Here are your two export options for backing up contacts on OS X:

How many virtual landmines do you suppose might be hidden behind these two options? I’m not sure, but I can count four:

“Export vCard…” will only export the selected contacts in the Contacts.app. That could be a good thing or bad thing, depending on what you are expecting, but it’s definitely worth noting.

“Contacts Archive…” will always export all of your contacts (to a “package file” which will end in “.abbu”) which you might think is great, except…

If you try to open an “.abbu” package in the OS X Contacts app, it will ask you if you want to replace your current contacts database with contents of “.abbu”. Let me repeat that for clarity: when importing a dot-abbu package, there is no option to merge with your existing data.

The good news is if you have a vCard backup, you can merge that with your current, existing contacts, however, vCards have no concept of contact “Groups”.

So if you want to backup your contacts and keep the group information, then you need to export as “Contacts Archive” and get a dot-abbu backup, but you can only use that to replace your entire contacts database, which means that you will lose any information you have added since you exported the dot-abbu file.

Imagine it is Tuesday morning and you realize that you no longer have contact information for someone that you really need to get in touch with. You know the information was in your contacts information a week or so ago, but it’s not there now. However, in the meantime, you have updated and added several people’s contact information and added them to the appropriate groups. What do you do then?

You might think it’s fairly easy: “OK, I’ll just export my current information to a Contacts Archive, restore the old archive, pull out the contact information I need, and then restore my current Contacts Archive.”

Let me encourage you to not to do that, even though it sounds completely logical. Here’s why: when I tried to do exactly that in my version of 10.11.3, what happened was fairly shocking. After confirming that yes, I did want to replace my current contacts with the .abbu file, all of my current contacts were deleted, but nothing new was imported.

Why? I have absolutely no idea, but I have tried it multiple times, I’ve even rebooted my Mac, and no matter what I do, Contacts.app just refuses to import my .abbu file. All it will do is delete my existing contacts database.

I created an entirely new user account and tried to open various .abbu archives, and none of them worked. I copied it to another Mac and tried to open it there: same result. Is that a problem with OS X 10.11.3? Just me? No idea! But, considering that I have not had any problems with my contacts and the export process appeared to work fine there was literally no way for me to realize this was a problem until I tried it. Maybe I’m the only one on the planet who will run into this bug…but I doubt it.

It gets worse.

You may know that I have a bit of a reputation as a backups fanatic. For example, my MacBook gets backed up to my MacMiniColo and my Synology using Arq. It also gets backed up to CrashPlan. I have a SuperDuper clone that updates every week-day when I plug into my OWC USB-C Dock, and another one that I update weekly and keep with me in my laptop bag. Oh, and I also have a Time Capsule at home.

Keen observers may have reacted to that last one with an “Aha!” because Time Machine is designed to work with Contacts, so I could just go “back in time” using Time Machine and restore my missing contact that way. You might even be tempted to cheer: “Hooray for total buy-in on Apple’s ecosystem!”

Except…this:

Yup. That’s right. My Time Capsule archive for my Contacts database is completely empty all the way back to August when I first set it up. Why? ¯\_(ツ)_/¯ It just didn’t work. But hey, at least it never crashed, right?

Forewarned is Forearmed

The point of telling you this story is not to scare you or jump on the “let’s talk about how Apple isn’t as good as Apple used to be” bandwagon. The point is this: be careful if you are relying on “Groups” info from OS X. It isn’t a standard like vCards are, and restoring “.abbu” packages (assuming it works) will wipe out your existing contacts database. If you do have to (try to) restore an “.abbu” package, I recommend doing it on a separate user account and then export the contact(s) that you need into vCards, and then import those vCards into your current database.

I will show you a still more excellent way.

My Contacts Backup Pro is a $2 app for iOS that you should buy right now if you care about your contacts. (Well, you can finish reading this article first, but then go and get it.)

A few years ago I bought a bunch of the various “Backup your contacts!” apps that were available on the iOS App Store. I deleted all of them except “MCBackupPro” (as it’s named when you install it). Here’s a list of things you can do:

Backup your contacts to vCard or CSV

Send yourself the backup via email or upload it directly to Dropbox

Get a weekly or monthly reminder to backup your contacts

Export all of your contacts as A) one vCard or B) a .zip file where each contact is saved as a separate vCard

That “B” option (which is called “Multiple VCF” in the app) is super useful for the situation where you need to go back and retrieve one contact after it was either deleted or changed. If you have a folder full of individual vCard files, you can use Quick Look to glance at the information from the Finder. Open the vCard file and you can import it into Contacts, and it will be added to your contacts, or update an existing card.1

Your contacts database is probably one of your most important pieces of information on your Mac. How good is your most recent backup? Well, let me put it this way: despite having six different backups of my Mac, the one that worked for me the one that isn’t fully automated (I get a weekly reminder to run the backup but then I have to launch the app to do it myself) and wasn’t even on the Mac. So maybe today is a good day to check your backups (you do have backups, right?) and ask yourself “What would I do if I suddenly realized that someone really important was missing from my contacts list?”

For anyone who prefers OS X to iOS: I’m sorry to say that, as far as I am aware, there are no Mac apps available which will give you one vCard per contact. I guess this is one of those times that the “I don’t need a Mac!” weirdos people are right when they say that there are some things you can do on iOS that you can’t do on a Mac. If there is a way to do this on OS X, please let me know and I’ll gladly update the article! ↩