Are your contacts portable?

Spare Office by sidewalk_flying (Flickr)

With an increasing amount of technology to help you communicate, the job of keeping your multiple contact lists up-to-date across these devices and services has mainly fallen to you.

Contact information lurks in many places and is often locked to serve one purpose. Whether it’s contact details in your mobile phone; on the address book in your email client at work or the list of friends you’ve built up on social media.

This post introduces Portable Contacts as a solution to getting access to these distinct collections of your contacts to avoid needing to duplicate them.

Importing leads to duplication

On-line services can often encourage you to import your contacts from other services so they’re available to use with their service. Making it easy for you to import contacts seems helpful as you can start to use your contacts in new ways. At the same time duplicating your contact information in yet another place means that the maintenance task to keep everything in sync increases. Importing contacts in multiple places can lead you to experience these services as separate ‘boxes’ instead of being really interconnected on the Internet.

Portable Contacts is an open standard which has a simple goal to

“make it easier for developers to give their users a secure way to access the address books and friends lists they have built up all over the web” –

Instead of forcing you to duplicate your contact information, Portable Contacts allows you to unlock your information and share it in a controlled and secure way. If your friends and family are stored in one place and your work contacts in another, if you could access them elsewhere via Portable Contacts then you only have to make edits in one place.

A secure way to share

A service that implements Portable Contacts uses OAuth to control access to any contact information to be shared. OAuth is increasingly used in services to allow 3rd party services to interact with them. Twitter uses OAuth to give you the choice of allowing other applications to ‘tweet’ on your behalf. Sharing contacts with OAuth also stops you needing to share the security credentials to get access to your contacts. Usually websites that offer to import your contacts on your behalf will blatantly ask for your username and password details which, for the ease of use, users freely share.

Easy to consume

Portable Contacts shares information via HTTP operations and supplies the information in either JSON or XML formats to applications which want to use them. This approach is widely used in modern APIs and makes the contact data easy to consume in many programming languages.

The Portable Contacts’ wiki page shows some of the services using the open standard at the moment. Since the driving force behind Portable Contacts, Joseph Smarr, now works for Google it’s no surprise that they have continued their support for exposing Google Contacts in this way.

There are a few libraries to help developers integrate Portable Contacts in applications: a Java library called jpoco and a Ruby client too.


Another open standard, OpenSocial, is compatible with Portable Contacts. OpenSocial has been adopted by sites like LinkedIn, MySpace, orkut, and Yahoo!. As Joseph explains on the Portable Contacts website:

“The OpenSocial and Portable Contacts communities chose to wire-align our respective specs in order to maximize widespread adoption of a single API for accessing people data.” – Joseph Smarr

Portable Contacts might not be widely known yet but the opportunities to access your contact data without duplicating it is increasing.

One comment

  1. Note that even if a user gives permission to share their contact information this can have serious privacy implications for those parties whose contacts are shared, as they may not wish such sharing to occur. This should be considered by web services when requesting and using such information.

Leave a comment

Your email address will not be published. Required fields are marked *