Our address books are the very core of all our interactions with other people. They serve us in two ways:
- as a directory that provides us with our contacts' contact information, such as email addresses or phone numbers, when we need it
- when we receive a call or message from a contact, it tells us who that person is
To be of most use, your address book should know all the different ways you can contact other people such as their various email addresses, phone numbers, and instant messaging names.
Your 'contacts' are your friends, family, co-workers, acquaintances, and anyone else you might exchange a message or call with. From here on out, I'm mostly going to just say 'person' or 'friends', because 'contacts' is sterile.
Role in the Unified Messaging System
One of the primary goals of the Unified Messaging System is to allow you to see all the communication you've had with a particular person. This includes emails, SMS messages, instant messenger conversations, and ideally even messages exchanged on web services like Facebook.
In order for the Unified Message System to do this, it will rely on the Address Book to know which person is behind each of those sources.
Role in Instant Messaging
The address book should also encompass all of your contact lists; namely, your "buddy lists" on various instant messaging service. That is, the things you keep about the buddies in your instant messaging buddy lists should be in your address book, including their real name and what group(s) they belong to.
Shortcomings observed in many/most/all address books I've used, and possible solutions.
Previous and Primary Contact Methods
People often change their e-mail addresses or phone numbers, making their old one obsolete. When this happens, we have two options, but both have shortcomings (using e-mail address as an example):
- Remove that friend's old email address from their list of email addresses
- However, this breaks the link that emails from that address are from this friend. That is, if we now look for all emails exchanged with Joe Smith, we won't see emails exchanged with that old email address.
- Keep the old email address along with the current ones
- However, this can be annoying when you want to send this friend a new email. When typing in "Joe Smith", you will likely be presented with all email addresses, and may not remember which work and which don't
Address books need to support an indicator for each contact method indicating whether it is still active. If it's not active, it will be used for linking messages to contacts, but not presented as a contact method for new conversations.
Further, it would be nice to be able to designate a contact method as the primary (preferred) one among others of the same type.
Since 'primary' and 'active' are mutually exclusive, each contact method should be one of: 'primary', 'inactive', or neither. Only one address/number per type should be 'primary'
My friend Joe Smith has these contact methods:
- When I'm at home (logged into my personal email account) and want to send an email to Joe, the Primary _Home_ email address (email@example.com) will be the first address suggested.
- When I'm at work and I want to send a work-related email to Joe, the Primary _Work_ email address (firstname.lastname@example.org) will be the first address suggested.
- If there isn't a Primary _work_ address while using my work account, any active work address will be used, and there are no work addresses, any active email address will be used (with a preference for the one marked Primary)
- By retaining the inactive email address 'email@example.com' in my address book, when I search for emails from Joe Smith, messages he sent when he worked at Example Corp will be returned in the search.