Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Background: I currently have several hundred contacts, synchronized between a Microsoft Exchange server and several mobile devices. I also save exported copies of the contacts in .vcf format.

(The mobile devices I'm currently using are a Symbian phone, a WP7 phone, a Nokia N900, and an iPad.)

Is there a good way (application, file format, whatever) to maintain contacts with shared information?

A very common scenario is that I have contacts for two or more people who live in the same house, for example:

John Doe
123 Main Street, Anytown USA
Home: 555-555-1111
Work: 555-555-2222
Mobile: 555-555-3333

Jane Doe
123 Main Street, Anytown USA
Home: 555-555-1111
Work: 555-555-4444
Mobile: 555-555-5555

As you can see, both contacts have the same home address and phone number, but distinct names and work and mobile phone numbers. (Other information might also be either shared or distinct.)

The applications and file formats I'm familiar with don't seem to have a good way to deal with this. If I use a single "John & Jane Doe" contact for both, it's difficult to distinguish the distinct information (if I want to call Jane's mobile phone rather than John's). If I use a separate contact for each, I have to remember to update both of them (or all of them for N > 2) when they move or change their home phone number.

An ideal solution would let me create a record containing information for their household, and have each of their contact records contain a reference to the household record, so that when I view John's contact record I see both shared and distinct information.

Is there anything out there that has good support this kind of thing? (I would think there would be, since it's a very common scenario.)

(I suppose I could roll my own system that generates merged .vcf files from some extended format, but that wouldn't play well with synchronizing across multiple devices.)

Update :

At the time I asked this, I was keeping my contacts in a Microsoft Exchange server and syncing to various mobile devices. I'm now keeping them in my gmail account, but still using Exchange ActiveSync (more details), so in effect the situation hasn't changed much.

share|improve this question

Most contact tools handle Companies in the way that you are asking, i.e. Companies have shared details and users can be attached to companies. This usually works in CRMs, thus you could achieve what you want by defining each household as a company "Home Does", and in the contact details attach the company to them. You can then search for a company and find all relevant contacts for that group.

However, most contact databases on phones are flat databases and don't allow relationships/hierarchy. Usually you have to use links (such as a company field or a spouse field) to open another contact containing the shared details. Hope this helps.

share|improve this answer

As said before, a CRM or customer relationship management software should do the job. These are also available as a service (SaaS), such as or Microsoft CRM. Cloud-based CRMs essentially let you access the database that sits in the cloud from various devices, including handhelds, smart phones, etc. If you have a commercial application, this might be the way to go.

share|improve this answer

I am afraid that what you are trying to do would disable you from editing the contacts in the devices. The addressbooks in normal end-user programs like thunderbird, android etc do not allow to edit/change such links between contacts that are based only on address. Android for example can create links between contacts if you have the same in facebook and in your google account, but then one of them will disappear and the other will least the details. It assumes that it is the same person, not two people with the same phone number.

If that is no issue to you, you can, as you mentioned, create a backend editor that links all the data as you like in a database and then create files to export them to let's say google and from there to all the other devices you have.

Otherwise you can also think about setting up a LDAP directory in which you can pretty much define your own rules. There are LDAP lookup plugins for almost any device. However, also here, editing contents from the device becomes tricky.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .