Wednesday, September 26, 2007

Synchronous Communication + Profiles + ?

The last few months I've been working on a Facebook application that brings together some ideas that seem under-developed on the web. The idea combines synchronous communication with Facebook (or MySpace) profiles, a people matching algorithm, and a variable fourth element. The fourth element defines the "for what" interaction between the people.

One example of this idea is a "web presence" application that works with a browser plugin. The plugin detects the URL you're browsing at any given time, and it finds other people who are browsing that same URL. It then creates a toolbar on one side of your browser and shows you the profile pictures and names of other people browsing the same URL. If there are many users on the same URL, it employs a matching algorithm to show only those who have similar interests. Where does it get the pictures, names and interests? The Facebook API.

So if you're single and watching a video on YouTube, you might see a cute woman's picture come up on the toolbar, you click her image, send her an IM and/or the IM client will setup a 1-1 audio and video link between the two of you so you can talk about the video. Much like meeting someone at a party. The matching algorithm ensures that you only meet people in your geography, age, and interest group. On a more serious note, maybe you're reading your favorite programmer's blog, and you see the name of another programmer reading the same blog post about Rails fragment caching techniques. You click on his image an initiate a conversation about solving similar problems on your respective projects.

There are several sites and plugins that do part of what I just described. Weblin and Peeko Chat do some of what I just described, but don't integrate the essential element of existing Facebook profiles. These are key for two reasons - first Facebook provides a potentially viral distribution mechanism, and second the application is just anonymous chat without it, which just not interesting. On the other hand, most of the IM clients like MSN Messenger and Skype enable synchronous communication but you can only talk to people whose screen names you know, not strangers who share the same interests. These clients also have a laborious contact -add procedure, so are not good for spontaneous conversations with people you don't know.

Social networking sites are growing like weeds around us, but few leverage real time two way interaction - sites like facebook, digg, youtube are all about asynchronous exchange of information. Asynchronous interaction is somewhat of a legacy of inadequate technology - we humans tend to prefer real time interaction and real time gratification, so its safe to predict that the general concept will see adoption. One example is sites like who are making online dating a real time application.

Given that the backend infrastructure for live 1-1 video, audio, and chat is non-trivial and applicable to many types of sites, this also means that offering a turnkey backend infrastructure as a service might be a good idea.

Anyone interested?

No comments: