Relationship Completer v1.1.0



  • Max OS X 10.3.9+

Download and Installation

dl-64.pngDownload Relationship Completer v1.1.0

  • Place the plugin in /Library/Address Book Plug-Ins/ (to make the plugin available to all users of your Mac) or in ~/Library/Address Book Plug-Ins/ (where ~ is your home directory, to make the plugin only available to you)
  • Restart Address Book if it is running.
  • Description

    This Address Book plugin was inspired by my previous rant. It is the first of hopefully many plugins and scripts to realize my vision (and make Address Book more useful).

    Let’s say you have the two Address Book entries: “John Doe” and “Jane Doe”. If John and Jane are married, you may set the appropriate “Related Name” fields in Address Book to denote this fact. To completely realize the relationship you will need to add a spouse relationship to both John and Jane’s entry – each pointing to the other. This violates my first law of data entry duplication: don’t do it.

    That’s where Relationship Completer comes in. It will add a new menu item for “Related Names” that allows you to automatically complete the relationship by creating the complementary related name entry. Now all you need to do is create one of the spouse entries and have the other one created automatically.

    Relationship Completer is smart about creating the complimentary entry:

    Original Relationship Complimentary Relationship
    spouse spouse
    father child
    mother child
    parent child
    child parent
    brother sibling

    Supported Languages

    • us.png English
    • de.png German (thanks to Dr. Uwe Werner)

    If you would like to help translate Relationship Completer to another language please leave a comment below.

    Using Relationship Completer

    1. Create original relationship. In this case that Jane Doe is the spouse of John Doe.
    2. Click (or control-click if in edit mode) on the relationship label (“spouse” in this example) and an action menu will appear. Select: Make “John Doe” spouse of “Jane Doe”
    3. Refresh “Jane Doe” and you will see the relationship is complete!


    Version 1.1.0:

    • Improved name matching algorithm
      Now supports matching names based on a single name
      Now supports matching names that contain prefixes and/or suffixes
    • Now Checks for existing relationship before adding a duplicate entry
    • Added support for Mac OS X 10.3.9+
    • Fixed various crashes and memory leaks
    • Added German translation (thanks to Dr. Uwe Werner)

    Version 1.0.0:

    • Initial Release

26 Responses to Relationship Completer v1.1.0

  1. Hey, this is great! Y’know, I would *love love love* it if you would use XFN as your source of relationship types. This way, you could build a script that sucks down relationships from a blogroll (note that XFN defines the values in the WordPress blogroll tool) with the relationships pre-populated.

    This would be extremely valuable — and your implementation looks really clean.

    What do you say?

  2. Hugh McMillan says:

    So a married couple gets linked as “spouse” and the two children, a son and daughter, are linked to the mother where she is the “parent” on each child and they are each a “child” on her card. They don’t show up automatically as child links on the father’s card nor do they show up as brother/sister to each other. Is this something that you suggest doing manually with all the possible relationships? It could get kind of crazy with larger families and I worry about how Sync will handle it in Leopard. I am anxiously awaiting the ability of our family address books, mother, father & son, to stay synced with each other which I understand will be allowed, finally, under Leopard.
    Thanks for RC although I am not sure I have the time necessary to make all the relationships if they are so manual.

  3. tl says:

    Chris, I like your suggestion of “sucking down” XFN relationships from a blogroll. I will definitely look into adding that feature into a future version of Relationship Completer.

  4. tl says:

    The scenario you mention is something I am working on for future versions. However, there are a lot of complications. For example, John and Jane may be married (and have a spousal relationship) but that does not mean all of Jane’s children are also John’s – i.e. they may be from a previous marriage.

    What I am thinking of doing is first make some reasonable guesses and then present the user with a dialog box where they can confirm certain relationships. The goal of course is to automate as much as possible but at the same time giving the user control and assurance that bad relationships will not be created.

  5. Neetij says:

    This is an interesting plugin. Looking forward to the next version with all sorts of automation.

    However, I came across this issue, of the absence of auto-complete. Using the John Doe/Jane Doe example…
    # I add “Jane” as spouse to “John Doe”.
    # Ctrl/Right click to ‘Make “John Doe” a spouse of “Jane Doe”.’ This search feature works well.
    # Now Jane has “John Doe” as spouse (correct), but John has “Jane” as spouse (incorrect).
    Shouldn’t it have auto completed to “Jane Doe”, as it suggested? Make sense?


  6. tl says:

    I like your idea of auto-completing the original name entered by the user. I never even thought about doing that before. I guess I assumed the user entered the name in as they wanted it to appear. Thanks for the suggestion, it should be easy for me to add this feature in the next version.

  7. Hey, love this. I actually thought about doing something similar, but never implemented it. I was going to do it in AppleScript, but this is a much cleaner solution.

    What I would like to see is that if you have a Related Name without a surname, Address Book is clever enough to figure out that perhaps it means someone with the same surname, but your plugin doesn’t realise this. It says “more than one match”, but Address Book offers to search for the person with both names.

    Otherwise, I’d love to see the improvements in automation that other commenters have noted.

  8. Jeff Byrnes says:

    Awesome plug! Thanks a bunch.

  9. Scott says:

    We have 6 iMacs at my business and we rely on Address Book. Most of our cards are business names or names of employees of those businesses, but we keep them on separate cards. Would an “employee of” relationship be of any value, do you think?

  10. I want this plugin!

    But I am very paranoid about stability. Nothing that touches my data is ever completely safe as far I’m concerned. tl, could you comment on the safety of this plugin? What’s the degree of risk? Any increased risks with Leopard that you know of?

    The last Address Book plugin I used that seemed safe immediately crashed AB and wreaked some minor havoc with my data.


  11. Rino Dattilo says:

    This is a great idea and thank you so much! TL, here is something that I would love to see but don’t know how it can happen. Today I was looking at a contact and wondering what groups I have them in. No way to tell. That would be a great tag.

    Again, thanks for blessing the Mac community.

  12. Josh H. says:

    very great plugin. I discovered that Address Book had this functionality the same time I found out about Relationship Completer. If nothing else it’s just nifty. Thanks.

    I agree with Chris Messina. You should add the functionality whereby Relationship Completer understands that if person A and person B are spouses that the child of one is the child of the other. And likewise that their children are siblings.

  13. tim bates says:

    Very nice tool! AddressBook’s plugins facility is a nice if underused opportunity – I have scripted it to guess websites from emails, and add address info from partial info.
    Couldn’t agree more about the sad lack of a relational DB in AddressBook, but it would need a clever UI to hide this from users.

    Suggestion for v1.5: Add

    (hey: go to town and use nth cousin, yth removed 🙂

  14. Krzysztof says:

    That’s a clever tool, but I would have one feature request for the future version. In Polish language female last names mostly end with the letter ‘a’ – ie. Mrs. Kowalska is spouse of Mr. Kowalski. It would be nice if your plugin could notice such name similarities.

  15. McGuAlias says:

    Cool tool, thanks! I’m looking forward to this in the future:
    Date and time stamp feature for notes in address book

  16. Caspar says:

    Thank you for this great plugin!

    One issue: I use the ab-field “Prefix” for “Mrs.”/”Mr.”, so if I auto-complete a spouse, it fills in the name AND prefix.
    That’s fine, but when I quit the editing mode, browse my addressbook and try to click on a spouse, it doesn’t find the spouse’s vCard because of the Prefix before the name.

    I wonder if there is a way to do some customization? I use the German plugin version.

    Thanks again!

  17. Stefan says:

    Love this little script. Appears to have a few glitches in Leopard though – any words of encouragement needed to get you to develop an update?



  18. […] – Relationship-Completer: Angenommen Der Vater heißt Strolchi, die Mutter Susi und das Kind “Bambi”, dann […]

  19. Caleb says:

    Cool, plug in, I’d never even known about the relationship part of the address book. This makes it much better to use. Thank you.

  20. Raj says:

    What do I do if the plug-in finds “More than one match”, how do I link to the correct match?

    The option is grayed out.

    Good plug-in otherwise.

  21. Paul says:

    Thanks so much for this tool – I’ve just installed it and am happily sorting out relationships in AddressBook. Beware of blended families when automating Chris’s solution. Many of my friends have children from earlier relationships. But I guess the scheme is still limited. Ah I see you contemplated that a year ago.

    Is there a way in AB to lookup what plugins I’ve installed? I’d like to check back for updates, but am likely to forget about it and think it is core functionality

  22. […] here, you may want to subscribe to my RSS feed. Thanks for visiting! I’ve just installed Relationship Completer on my MacBook to help organise my addressbook better. It lets me link cards using the relationships […]

  23. Nathan Nook says:

    I don’t know if this is possible, but it would be great if one could just drag a name from the contact list (left pane), into any of the name (friend, spouse, etc) boxes, without having to type it at all. I’ve always been surprised that Address Book did not do this.

  24. tpalice says:


    I found this plug-in only works with English names. Is there anyway to make it unicode compatible?

    Thank you!

  25. Great plugin. Have you thought about:

    1. Batch mode that goes through the whole address book
    2. Copying all the home items, home phone, home address, etc., over at the same time – or at least giving an option to

    Thanks for a great plugin,


  26. RaiulBaztepo says:

    Very Interesting post! Thank you for such interesting resource!
    PS: Sorry for my bad english, I’v just started to learn this language 😉
    See you!
    Your, Raiul Baztepo

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: