Thursday, October 21, 2010

Social network based authentication done right

Although there are valid privacy concerns using social networks like Facebook, and to a lessor degree Twitter (because almost all tweets are intended to be public), for most of us the value proposition of shared user identity between web sites provides advantages of consistent login/authentication without multiple accounts and also enabling web sites to potentially show you more things that are interesting based on your online behavior.

I have been an occasional Hunch.com user since they went beta. Today I was looking at their login/authentication scheme that uses either Twitter or Facebook authentication. I tried using both Twitter and Facebook for authentication and liked that Hunch recognized that my previous Hunch account, my Facebook account, and my Twitter account belonged to the same person and immediately offered to merge the accounts.

Giving a site like Hunch the ability to access some Twitter and Facebook data on users opens up even more opportunities for using machine learning to further personalize the user experience for Hunch.com.

Most of my work in the last year has been using machine learning to process some form of user data (although I also get a lot of plain Java/Ruby/Lisp development work) and understanding the behind the scenes infrastructure and techniques as well as user experience benefits has softened my previous stance against corporations collecting too much information. A few days ago when my wife and I were in Hong Kong, we were talking about the ubiquitous advertising (the night time skyline is a beautiful canvas for advertisers) and customized advertisement displays in the movie Minority Report. Custom ads that are interesting and useful are a good thing. Just be sure to understand what information you share and how it is used.

For more of a learning experience I have started doing some up-front research for adding Facebook and Twitter authentication to my cookingspace.com web site (something I wrote for my own use, but it has users). I would like to have my own "full stack" environment for collecting user preferences and using machine learning for recommendations. For customers, I tend to touch only parts of their systems so work on cookingspace.com is motivated by my desire to understand more of the entire process rather than build a popular web portal (although that would be nice also!)

No comments: