Multiple contacts with shared information

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
E-mail: [email protected]

Jane Doe
123 Main Street, Anytown USA
Home: 555-555-1111
Work: 555-555-4444
Mobile: 555-555-5555
E-mail: [email protected]

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.


Solution 1:

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.

Solution 2:

As said before, a CRM or customer relationship management software should do the job. These are also available as a service (SaaS), such as Salesforce.com 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.