Losing contact

Today, a coworker and I were asked by a client to recommend an electrical engineer. We decided to give the client a few names so she could interview them herself and choose the best fit. We both knew a guy in Colorado that we had worked with several years ago, but neither of us could remember his name. I knew he was in my Contacts, but finding him there turned out to be more difficult than I expected.

I knew he was near Denver, but I didn’t know the name of the town. The problem with searching for the state is that I enter them using the two-letter abbreviations the USPS wants. I started collecting contact information back when I actually sent a lot of mail through the postal service, that’s the form I got into the habit of using. Unfortunately, entering CO in the Contacts search field was pretty much useless. Anyone with a co (upper case, lower case, or mixed) anywhere in their name, company name, or address showed up in the results—that was over half of my contacts.

I had thought I could filter the results the same way you can filter search results in iTunes by artist, album, or song.

iTunes search filter

But no. The search field in Contacts doesn’t have a little dropdown menu like that, so searches go across all fields.

I asked for help on Twitter, and Alex Chan gave me the best answer almost immediately:

@drdrang Use a Smart Group?
Alex Chan (@alexwlchan) Sep 2 2014 2:01 PM

I made a new Smart Group called “Colorado” defined this way

Colorado Smart Group

and quickly had a list of just a dozen or so people. I picked out the EE’s name in the list, and the problem was solved.

I can’t say, though, that I was happy with the solution. To me, Groups—smart or otherwise—are more like permanent lists; it doesn’t seem right to make one and then delete it a few seconds later. Apple’s description of Smart Groups in the Contacts Help gives only one example, and it matches my thinking that groups are not intended for one-time use:

A Smart Group is created automatically based on criteria you specify. For example, create a group that contains members of your swim club by creating a Smart Group for contacts with “swim” in the notes field. Every time you enter “swim” in a notes field, the contact is added to the Smart Group. Smart Groups can include contacts from any account.

There’s nothing in the Help about using a Smart Group as an enhanced form of Find. That’s a clever workaround for functionality that ought to be directly available. It’s great that Contacts can search across all the fields at once, and it’s certainly best that that’s the default behavior, but what kind of database doesn’t allow searching that’s restricted to a single field?

My particular problem today could be considered atypical—old man searching for a contact whose name he can’t remember—but I’ve wanted single-field searches before. If I want to find a client whose last name is Madison, I don’t want to cull through people with offices on Madison Street or in Madison, Wisconsin. But that’s what I’ve done. Now that I see Smart Groups as an extension of the Find command, I’ll have a better way to search. Still, this sort of thing ought to be directly available and not tucked away inside another component of the program.

There are other address book programs I could try; none fit my immediate needs. I know Gabe Weatherhead used to recommend Cobook as a sort of pro-level Contacts, but that was before it was acquired by FullContact. I don’t want my address book off in yet another company’s hands—that’s why I won’t use Google Contacts. BusyContacts looks interesting. It seems to have the same relationship to Contacts that BusyCal has to Calendar). But it’s not available yet, and the screenshots show a single search field that makes me suspicious.

Maybe I’ll just muddle through with Contacts and Alex’s trick. Most of the time I really can remember the contact’s name, and in those cases I don’t even touch Contacts. LaunchBar gives me all the information with just a couple of keystrokes.

LaunchBar contact

Update 9/3/14
Overnight, David Cross sent me this solution:

@drdrang Stupid Chinese firewall. I hate being late to the party.

In spotlight, “state:co” worked for me.

David Cross (@roguemonk) Sep 3 2014 12:29 AM

I would never have thought of entering “state:co” into the Spotlight search field, but when I did all of my Colorado contacts appeared in the results menu below it. Easy to scan and easy to go right to the contact I was looking for. And nothing to delete when I’m done.

One caveat: if there are many results, the Spotlight menu won’t show them all, so you can’t trust this solution to be comprehensive if it gives you a long menu.

Perhaps the oddest thing about this search technique is that it gives the single-field results I was looking for but does so from outside the Contacts app.