Wednesday, June 04, 2008

Open Social: Google's social networking API

Facebook recently released an API allowing developers to access the data they hold about their social network. One of my main concerns was developing for a closed system. It would appear that others thought likewise as Google are releasing a new API called Open Social. Applications developed to use Open Social will gain access to a similar set of data that Facebook provides, namely:
  • Profile Information (Name, education, etc.)
  • Friends Information (The "Social Graph")
  • Activities performed (A feed of information, e.g, "Keith joined the .Net Group")

Yet the application will work on any site that supports Open Social (potentially this could include Facebook). Currently the list includes; MySpace, Plaxo, LinkedIn, Bebo and Salesforce.com to name a few. We all have identities on many different sites but with a standard API for personal data all systems would be able to share that information. Take for example a small CRM for communicating with customers, let's call it Inboxy and a fictional customer, Niyati. Inboxy could be extended to consume and release data using Open Social, effectively turning it in to a mini social network. Niyati could then allow Inboxy to access her social data. Inboxy will then have access to all Niyati's data and be able to contribute to it. Here are a few scenarios to consider:
  • Niyati changes her date of birth on MySpace. Via the Activities feed Inboxy will know this has happened and be able to act on it.
  • I develop a pluggable application showing the place and date that Niyati will be studying a course. With Open Social this could appear on MySpace or Bebo without modification.
  • When Niyati has confirmed her attendance, Inboxy adds a message to her Activities feed which would be seen by all her friends on a variety of networks, e.g. "Niyati is off to San Diego on 13th February"

These are rough ideas of what maybe possible and we won't know until The API is launched [http://code.google.com/apis/opensocial]. This must also be balanced with issues of; data protection, would it be legal to expose customers data in such a way and application overhead, how much work would be involved in creating and maintaining such systems.