Sunday, November 14, 2010

Social Media API'S, Architecting and Building Applications

This is a soft technical discussion of coding for social media. Some technical knowledge is helpful.

Social media has taken off and is here to stay. Preparing contextual material for the social media channels has been discussed in tremendous detail with innumerable books highlighting this aspect. However, creating new capabilities and leveraging social media in newer ways often requires creative use of the technology. This almost always translates to creating a new application. Most companies would react negatively to the thought of creating a new application having had poor experiences in the past. With a solid plan and incremental or evolutionary development and patience the process can be much more palatable. This begins with the understanding of the technology.

Twitter, Google, LinkedIn, Facebook as well as other social media instruments typically have a way to connect to their service. This connection is known as an Application Programming Interface, an API.  Through this interface, application specific data is passed bi-directionally in most cases through a standard variable that  passes the data.  Most instruments prefer that the application does not embed into their site. That means they want the application to run on a separate server somewhere else on the planet. Site information is passed to the remote server via the API regardless of geographical location. What this means for the business seeking to leverage social media is that they can have complete control of their application and connect it to multiple social media instruments as long as they meet the connection agreements.

Both the social media instrument and the remote application have API's that must match up. With multiple instruments in use, the connection is not always clean. Therefore, the remote application should make use of a Gateway for each instrument connected. This Gateway maps the instrument specific API's to your application specific API's.  

Most API's require authentication. Some social media instruments allow sending a simple username and password with each request. More advanced methods are now in use by most social media instruments. Twitter  uses an OAuth method which is similar to a valet key that limits access. Facebook uses a handshake approach and has two elements to authentication; a connection and the state of being logged in. The Facebook authentication is the most complex aspect of interfacing. The differences in authentication between social media instruments is also another reason to use a Gateway specific for that instrument. 

By properly architecting social media interfaces, companies can combine social media in unique ways to create niche markets, skirt around fierce competition, or otherwise reach their audience in meaningful ways. Project managers running these projects should look to combine Software Development Lifecycle (SDLC) and spiral waterfall models to achieve incremental progress.  Obviously, the project manager would want to prioritize connections and seek the greatest returns early. 

No comments:

Post a Comment