OpenFriends. Life beyond the fishbowl.

Introduction

OpenFriends is an open-source API that allows you to frictionlessly share, sync and organize contact data across multiple websites.

OpenFriends is about more than just your contacts – it's about a distributed social layer for the web. Add your friends once, and take them with you, everywhere you go.

Ever since Friendster, MySpace and Facebook made social networking accessible to the mainstream, most web applications have offered a certain degree of social functionality - however, these tools require knowledge of a users' social graph in order to provide any real value - and without that data, those tools are rendered essentially useless. Today, there is no simple way to share a list of friends with a new application. Instead, you must upload your contacts from Gmail, Yahoo and Hotmail separately, or you must recreate your existing relationships on each new site, waiting hopefully for the trickle of early adopters to become a stream of your friends. For most of us, this constant duplication of effort results in social networking fatigue and has turned the experience of signing up for a new service into a constant déjà-vu of finding and friending. The resultant fatigue not only raises the barrier to entry for new applications, but also diminishes their utility to the people who actually use them.

OpenFriends can change all that. By leveraging the power of a unified social layer – OpenFriends providers will return control over the social graph to the people to whom it matters most – us.

Current Solutions and Limitations

While various solutions to this problem currently exist, none of the players offer an end-to-end solution for both users and developers:

microformats

Advantages: Microformats offer the convenience of a set of simple, open data formats built upon existing and widely adopted standards.

Compromises: The philosophy behind microformats is sound – but the individual implementations vary widely. Each provider exposes only the relational data it deems relevant, and as the profile and the list of contacts are made publicly accessible via the web, the security and privacy of your data are compromised. In the end, your XFN profile shows only a list of related usernames from within one website only - which is usually not enough information to recreate your network of friends somewhere else.

Facebook Connect

Advantages: Users can "connect" their Facebook identity to any third party site that supports the Facebook platform.

Compromises: Facebook still owns all of your data and you only have access as long as Facebook allows you to. There are also specific limitations on how you can access that data, and the TOS limits what you are allowed to do with that data outside of the Facebook platform.

OpenSocial and FriendConnect

Advantages: OpenSocial allows sites to perform operations on a set of users without actually knowing anything about those users outside of the most basic of information (like their username).

Compromise: OpenSocial is based on the premise that applications should not be trusted with user data. All functionality processing is done outside of the application itself with JavaScript. Building social networking functionalities entirely in JavaScript is more of a science project than a real implementation. An applications that actually knows about its users and their relationships will be able to provide many more levels of usability.

FOAF

Advantages: FOAF provides an ontology for describing people and their relationships to computers.

Compromise: Once you create your FOAF profile you can't really do anything with it. Again, the user relies on the application to empower them to leverage their social graph.

What is OpenFriends?

OpenFriends is a working implementation that aims to alleviate the pain associated with re-adding your existing relationships to every new site you visit, and the frustration of trying to keep your contacts and relationship data up-to-date across all of your social applications.

OpenFriends breaks down the walls between websites by allowing them to plug a simple API which outlines a simple open-source standardized format to import and export contacts, send messages across domains, and keep contacts in sync across sites. Once contacts are in each site they can send notifications to OpenFriends that contain action information that may be meant for other sites. In this way, multiple sites can leverage relationship data even outside of their own domain.

For demo see the screencast.

Who built OpenFriends

A bunch of web geeks that know the world needs a better solution and are sick of seeing new sites that may be great, but don't have a realistic way to attract a new user-base.

The initial developmen of OpenFriends was hatched in the Citrusbyte Labs - the same company that brought you Poolpartyrb.