Social networks have a rather annoying habit of trying to refactor every little concept to make themselves “unique”. Scraps become wall posts, wall posts become tweets. Your contacts alternate between friends, followers, buddies, pals, chums the list is endless.
Each social network does things its own way, which makes creating a social application which works across services especially difficult. Each service has a different API for performing the same task, and getting the same data. Now there is a solution to this mess, with the new Adobe Social Service.
The new service is implemented in your application using a very light library, a mere download of 4kb, which is a includes a single file with a single ActionScript 3 class. Adobe has partnered with Gigya - which is a social media authentication and distribution platform - to provide the service itself.
The service provides an abstraction layer which provides a unified simple API for connecting to any kind of service.
The service uses an asynchronous model, where you post request for actions or user data, and pass a reference to a callback function. When the response from the social service is received the callback function is executed with the returned data.
The service offers an online dashboard where you can connect it to various online services using the API keys you get from each, and then instead of connecting to each service separately, you can connect to only the Adobe Social service server, and use its API to connect to and work with all networks.
Posting updates to Twitter, or Facebook, MySpace can all be done via the same API, as long as you permit the service to do so during configuration. As all networks provide a lot of the same data, all if it is easily accessible in the same format using Social.
Besides using it for writing application for social networks, you can also use the application to support logging in through these networks. Registered users of your website can associate their Social Networking accounts and can subsequently log into your website using those accounts.
New registrations on your website can also be simplified, as you can directly use the details of any user logged into supported networks, and use it to pre-populate or simplify the registration form. The Social API supports binding a users social networking ID with their id on your website, allowing you to integrate Social into your existing user management system.
You can also use Social as a stand-alone authentication system, even if your website does not have a user management system. For a website where there is no need for user registration or login, Social can be used for some measure of authorization. For example, user authentication might be required while posting comments - to ensure that there is no spam - without requiring that the user register on the website. Here adding a user management system to register on your website as well is less desirable since it would requite users to sign up for yet another service and that too for the mere purpose of posting comments.
The Social service currently supports Facebook, Twitter, Yahoo, Google, and AOL, and will support more networks in the future. Since the functionality is routed through the service, you can rest assured that your application will continue working even if the network’s API changes, and it will be quite a simple matter to add support for additional networks as they are supported by the service.
In the beta period, the Social library and service are available for free, however Adobe plans to charge for the service once it becomes available. Head over to Social’s page on the Adobe Labs Website to read about and download Social.