Making Your Internet Portal Social: The What & How

Date:   Thursday , November 05, 2009

With the phenomenal growth of Facebook and Twitter in the recent past, making the Internet based applications and products more ‘social’ has become the buzzword of the day. Does integrating your product with classical UGC (User Generated Content) tools like bulletin boards, groups, photos, ratings, and reviews means that your product is ‘social’? Is creating a Twitter or Facebook account for your product good enough? How much money and development resources do you need to spend? Before answering, let’s understand the ‘social features’ that rare relevant for an Internet product.

In fact, forget Internet for a moment and talk about the neighborhood gym that offers the latest imported training equipments, fresh towels, a free sauna, and is situated two miles away from your home. Every day you go, do your bit of training and come back very satisfied. Six months down the lane, another gym offering exactly the same services opens closer to your house. Would you switch?

May be yes, but what about the following things you can do in the previous gym:

* You have access to the ‘expert’ trainer whose advice you ‘follow’? He gives consultation advice only if you are a member of that particular gym.

* You regularly meet two other blokes who work on the same training regime as yours and you ‘exchange’ tips and ‘discuss’ the effectiveness and results among yourselves.

* You love dissecting IPL matches in the after workout sauna session with two other die-hard cricket fans who have now become your ‘friends’.

* Not to mention those three nice looking single ladies who compliment you on your fitness once in a while and the ‘boost’ your ego gets every time they seek advice from you.

The gym regularly updates you about the latest fitness seminars, marathons, and personal equipment sales happening in your city.

Is it a tough decision to move out? It is; because you workout in a gym where you can get the services of a domain expert and follow him’, discuss relevant topics with people like you, be able to make friends with people who share the same passion, receive social recognition with a bunch of followers that everyone envies, and remain updated with events that matter to you. Your gym is enabled with ‘social features’. I have taken the example of a gym to illustrate two points.

First, how services that apparently have nothing to do with social networking (unlike coffee shops) can benefit from adding social features. Second, it’s easier to quickly replicate features among products and services but not the community. Building a strong community around your services should be of equal focus as of the cutting edge services or information you are providing.

I will not contaminate this article by providing statistics on ‘why and how much’ social features engage users, which is a topic in itself, but rather focus on how the industry is evolving to help individual Internet companies in adding social features to their products.

You would have by now understood the anatomy of a product that has ‘social features’. The technology ‘must have list’ will include the following:

1. UGC capability

* Platforms for users to create and participate in topic based discussions.

* Platforms to upload and share any rich media, photos, and videos.

*Moderation tool to keep the discussion and sharing contextual and adhere to legal requirements.

2. Adding deep social experience

* A scalable solution to store and group the friends list [also called social graph].

* A platform that allows users subscribe to or follow the updates from experts or other users.

* A foolproof security model to deliver such updates to intended recipients and an ability to the consumer to further filter out the noise by muting updates from certain users.

However, building a full-fledged social networking site is not the core expertise of Internet companies that provide services on a particular vertical, both from a business focus and investment standpoint. Implementing many of the above technology components, specifically the ones related to the social part, is not trivial. Additionally, creating a separate self-contained social graph for your product normally poses the challenge of high user inertia as they could be very active already on other available networks like those at Yahoo!, Google, and Facebook. The good news is that there is an industry trend among the social networking companies to have others use their services and leverage their social graph.

Trends in the Past Few Years

Opening up services for third party developers is the ‘mantra’ among companies in the social space. Also, there is an impressive list of open source projects that address each of the ‘social features’ separately.

First, open source platforms like Blogger, Typepad, and PHPBB allowed you to create your own blogging and bulletin board services. Then arrived common formats and protocols in this space like ATOM (adopted by Blogger API) and Trackback so that blogs or discussions posted in one place could be read by other readers elsewhere.

In the next wave, products like YouTube and Flickr opened up their services (upload, play videos, photo slideshow, and so on) through APIs and embedded players. They are pretty handy to add and share rich media content.

You do not Need to Build Your Own Social Graph

Recently Orkut, Facebook, and Twitter allowed brands and products set up their home pages. This is targeted to let third party developers tap into the huge user base these sites have and spread awareness about their own product or brand. Products that require building ‘followers or fans’ based community and broadcasting updates to a set of ‘followers or fans’ adopted this method of engaging their users.

The Problem of User Experience

However, applications that are written and hosted inside Facebook, Orkut, and Twitter have some significant limitations.

* First, the reach is limited to the user base these sites have.

* Secondly, such applications are commonly run on the service provider’s machines. Hence, users do not spend time on your site; neither can you provide seamless experience for users when they switch from your site to those applications (easily).

An Interim Solution and Tapping into More Social Graphs

Very recently, Yahoo!, Google, Facebook, and some others launched social APIs that third party developers can use in their applications. These APIs let users retrieve and modify their friends list, manage updates, and exchange messages among themselves. Nowadays almost all big initiatives lend their support for OpenSocial that standardizes on the Social API definition. They also support OAuth (open Authentication) to check the login credentials of users who access the Social APIs. A common API means that you have less to learn to build for multiple websites. So, if it is important for you to keep the users on your site, you should use these social APIs. The user experience is a lot better as they do not have to leave your site, and you have increased page views and average time spent by users. However, this approach alleviates only the second limitation, while the first one remains.

Vision for the Future

Integrating with too many different services and APIs from different companies can complicate the user experience. Just think about the pain a user has to go through to enter his product specific login credentials several times when he wants to see his friends list in Facebook or Yahoo! or Orkut, upload photo in Flickr, or see a friend’s private video shared through YouTube.

Thus, the final frontier is to provide Internet users with really seamless access to all their friends, photos, UGC, and updates; no matter whether they have a Google, Yahoo!, Facebook, Twitter, or any other account. It will be possible if either of these two things happen: all companies adopt and respect ‘open ID’ (A single identity system that everyone will authenticate) or big companies agree to inter-op between their user ids. For example, through Facebook social APIs, a user should be able to consume, let’s say, Orkut updates. The industry is not quite there yet.

Until then, you have to choose the right set of APIs from trusted service providers and integrate your product with their services. You can, of course, build certain functionality by yourself or re-use open source products as they are appropriate for your use case.

The author is Senior Engineering Manager, Yahoo!