contacts considered crappy

Why is contact management implemented so poorly in every software package I’ve ever encountered? It’s almost as bad as the all-time worst application, voicemail. Outlook, Gmail, KDE Kontact, MS Entourage, Mozilla Thunderbird; they’ve all been carefully pessimised to incorporate every possible pain in the arse. For a start, file formats and vendor lock-in. There is a perfectly good, easy to parse, free standard accepted the world over: the vCard.

But still, so often, it doesn’t bloody work. Most Microsoft products will only import them one at a time from individual files, which is useless if you have any number of contacts. I recently finished digitising and re-checking a huge pile of business cards accumulated from my journo days, and I finished up with 348 contacts classified as “business”. Now, Kontact will happily export them as a vCard file of version 2.1 or 3.0; but Nokia devices will only read the first contact.

And the killer detail? They store the contacts files as a multi-contact vCard! But this is an implementation detail. I have never seen any contacts app that doesn’t have a horribly ugly user interface, that doesn’t organise your contacts in hierarchical directories – because people are always part of zero or one groups, right? – and that doesn’t imagine that friends are alphabetical.

Social network sites are no solution. I hate them with a passion. They are closed-minded data sinks, whose business model is either “spam the buggers with ads” or “sell the company and all the data to someone who will spam the buggers with ads”. And I have yet to see one that doesn’t have most of the antifeatures I just described. And I want one copy of the data to be on my local machine, thank you.

Now, I think part of the problem is that all the applications I named are either e-mail clients or they incorporate an e-mail client. Perhaps we ought to disassociate the ideas of “contacts” and “e-mail”? Perhaps a contacts app should handle all the possible means of communicating with the contacts?

And too many of them confuse the task of searching through the contacts with displaying the details of each one. Search is good, but why is there no visual interface for contacts? Can’t we display them in a way that lets you see relationships between them? This relates to the organisation issue; I don’t want to select categories, I’d rather give a list of tags, or perhaps have both groups and tagging, or maybe tags and related names, and let the groups emerge.

That implies that the backend will have to be a database, rather than a flat file or a directory of vCards. SQLite would do perfectly well (Apple uses it for your messages in I’m aware that KDE is working on a common database backend (Akonadi) for these things, but at the moment it’s a waste of space, and the related project Nepomuk has the dread word “semantic” in it (i.e. a lot of stuff which we’re not really able to define in a meaningful fashion let alone implement).

The UI? I like the idea of plotting the contacts by their similarity or difference, maybe on a half sphere centred on the user, so their relationships become apparent. In KDE you could make this a .part for Kontact, so you could flip between the detail view and the graphical overview.


  1. Ned Baldessin

    Have you looked into Apple’s Address ?
    – vCard, with single or multiple contacts? check.
    – multiple groups? check.
    – independent from email app? check.

    Ok so it doesn’t have the UI you’re describing.
    I also use the Plaxo plugin, so I get updates pushed to me directly by the contacts who also use Plaxo, that’s cool.

  2. Amen. Somewhere on my site I have a PIM wish list that I wrote about 10 years ago; I’ve seen very little of it implemented. For example: Intelligently handling families, who share an address and a home phone but have different cell phones and email addresses.

  3. I’m working on a contact management app that might be up your alley. If you get a chance to check out BatchBook (, we’d love to hear your feedback.


  4. I’m working on a contact management app that might be up your alley. If you get a chance to check out BatchBook ( ), we’d love to hear your feedback.


  5. I’m not sure if you’re referring to desktop clients only (this seems to be the case) but there are plenty of web based solutions to your problem – for instance, dashboard(, which is what I work on and other applications like highrise( and soocial(

  6. It’s worth pointing out that Apple’s Address Book is supported by Thunderbird 3.

    Lighten up.

  7. The horribly ugly UIs are what keep me from using most contact management software. That and the lack of contacts. Sometimes it pays to be a hermit.

  8. I’d really like to see a standard for publishing/subscribing contact feeds, similar to calendar feeds. This is the problem that I run into. Even if I successfully import contacts for a group or organization such as a company or church (which import is way too painful anyway), what happens when that list changes?

  9. yorksranter

    Reggie is right; this would be a great use for XMPP, for example, which already has a spec for carrying iCal events in stanzas, or RSS with enclosures would do. If that existed, it would have saved me weeks of work checking the current status of all those cards. You could implement it quite simply by including a field for an Updates URI in the vCard; in fact, you could save passing the whole vCard (or physical business card) if you specified that the client application checks the URI, and either updates the local record if different, or creates it if it doesn’t already exist.

    In SQL: IF EXISTS UPDATE contacts WHERE uri=”” SET (fieldnames, data) ELSE INSERT INTO contacts contact(fieldnames, data);

    It would also be a simple way of synchronising between devices; if you could put a list of URIs somewhere persistent, your mobile device could simply do a look up in order to sync its local contacts file with the details held on your PC, or the company CRM system, or the terrorist cell’s membership data, or whatever.

    Other considerations; you could use OAuth to restrict access to your contact details to people you want to see them (there is OAuth support in XMPP somewhere). Be nice to provide for a NO CHANGE response as well, to save too many GETs from mobile devices.

  10. F.

    Check this test of several online contact managers.

    Relenta and batchblue used with mailchimp for mailing are worth checking it out.

    I would like them to improve the personnalized mailing capabilities.

  1. 1 Top Posts «

    […] contacts considered crappy Why is contact management implemented so poorly in every software package I’ve ever encountered? It’s […] […]

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: