One of the things I really dislike in life is duplication; duplication of data and duplication of effort. I find that it usually pays off in the long run to automate a task rather than justifying not to because the task is so simple/small. I’ve been known to utter the phrase “but what if there where one thousand of them” to coworkers more times than I am willing to admit. Recently I have been frustrated by the Mac Address Book application because is requires me to duplicate both data and effort to organize my contacts the way I would like.
Many contacts in my address book share some common data with other contacts. For example a husband and wife share a common home telephone number, home address, anniversary, email, etc. Whereas a group of roommates may share a home phone number and address. Each person requires a separate entry in my address book because they have sufficient amount of information that is different (cell phone, work phone, personal email, work email, work address, birthday, etc.). This causes a problem of data duplication. If I want each member of a relationship to contain the common information I must manually duplicate the information in each entry. Of course, if they move or change their phone number I must be diligent to update the entry for each member of the relationship.
Furthermore, it comes in handy to have an entry for the group (which I call a composite entry) as well has an entry for each individual. The composite entry is used when printing address labels for letters, invitations, etc. It also gives me a place to store information such as children names and birthdays (they usually belong to the couple – not the individuals).
My Current Solution
To reduce my frustration I have been following these simple rules:
- Create an entry for each individual
- Create a composite entry for the group.
- Store all person information in the individual’s entry.
- Store all shared common information in the composite entry.
Following these rules keeps me from duplicating any information manually (and protects me from stale information if something changes and I don’t remember to update all the different places the information is stored). However, this solution is definitely not perfect. The biggest problem is that the shared common information is only one place – in the composite entry. If I want to find the home address of a friend of mine, Mr. Smith, who is married I must look it up in the Mr. and Mrs. Smith entry (not the Mr. Smith entry.) Also this technique only works if I follow the rules I defined earlier.
My Ideal Solution
Ideally, I should be able to go into the Address Book application, select any number of entries and then create a composite entry based on that selection. This would be similar to the current “group” feature of Address Book with the added ability to assign the common information to the composite group. After the composite entry is setup I should be able to Add/Remove members and edit the current members. The common information, of course, should be displayed in the composite entry as well as each of the individual member entries. If I edit the common information in an individual memeber entry it should remind me that this will affect each member of the composite. At that point I should have the option of updating the composite entry with the changes or removing the edited entry from the composite. Of course, I can live with slight variations to this behavior.
My options are:
- Continue using my rules and move on
- Wait for Apple (or someone else) to fix this
- Fix this myself
I think at this point I will do so more research. I would hate to fix this problem myself only to find out someone else already has a perfectly good solution (see the intro paragraph). I will also research how I might write a program to interface with Address Book to add my desired features. In the meantime if Apple (or someone else) comes out with a solution I will glady use it.