Lessons Learned From Recreating the Google Friend Connect Widget With Facebook Connect

-AllFacebook Communities-Last week I wrote about how Facebook’s policy for widget developers was a little too restrictive. The reason was that I was ultimately prevented from making it simple for site owners to quickly implement a Facebook version of MyBlogLog. I still believe that Facebook’s policy is overly restrictive and new practices will need to be developed for Facebook Connect to proliferate. Just take a look at some of the tweets below found when searching for “Facebook Connect” on Twitter and you’ll see a few reasons Facebook Connect doesn’t already have widespread adoption.

Fortunately for me I have 8 years of self-taught web development experience under my belt. It was my job for the most part until I launched this blog last May. That’s why when I saw Facebook Connect launch for the masses, I figured that it was about time to dive in and try out some code. As many other developers are experiencing, Facebook Connect isn’t easy to implement the first time around. Once you start playing with it though you quickly begin to understand what’s going on.

-Facebook Connect Tweets Screenshot-

As a test to learn how to program with Facebook Connect I decided to recreate the Google Friend Connect widget that has now been widely distributed across hundreds of blogs. I’ve developed it as a WordPress plugin and will redistribute it in the coming days. I’ve built it on top of Adam Hupp‘s Facebook Connect plugin that was released last week. This in itself became complicated very quickly.

A Global Facebook Connect Instance is Useful

If you want to start building multiple plugins that are based on Facebook Connect, it can become pretty complicated real quick, especially on WordPress. As you start reusing a lot of the same functions, other plugins end up with overlapping Facebook instances and you can quickly have conflicts. In the process I’ve been realizing that with PHP you can quickly write more code than is necessary as you try to come up with logic to determine if other instances already exist.

That’s why anybody that plans on making Facebook Connect an integral part of their site should seriously consider having a separate Facebook Connect interface. One method would be to create an XML-RPC server that handles all of your server’s Facebook requests. If there are multiple applications though you’ll have to work with the logic to comply with Facebook’s terms of service.

This is for a much larger environment though. The average implementation of Facebook Connect doesn’t need a separate interface.

Blogs Only Need Basic Community Features

It’s easy to want to overuse the features provided by Facebook Connect. Want an instant community for your site? Well start programming! It’s useful to have a basic community that links your readers together but how robust should that community be? That’s something which has yet to be determined but I’m sure we’ll begin seeing many community features built into sites.

We’ve seen how popular the Sociable plugin has become thanks to the community features that have been built into it. With the launch of Google Friend Connect and Facebook Connect, the demand for blog community products has just surged significantly. While many thing commenting is enough of a community, Forrester’s social technographics profiles reveal that the majority of internet users are not actually active participants.

Adding Basic Community Features is Critical

The vast majority of visitors to this site don’t comment on a single post. If you are one of them then please change your attitude 😉 Seriously though, since I launched the AllFacebook community widget over the weekend, I’ve immediately been granted access to the identities of many people that I never knew were reading my site before. It also only takes users one click to join the community, essentially an elimination of the barriers to entry. Had I asked a user to fill out an email form to register how many of them do you think would have done that?

I’d also guess that curiosity about Facebook Connect is also one of the primary drivers behind many of these users’ decision to join the community. Either way, providing a simple way for users to join without posting a comment increases the appearance of other visitors that previously were invisible. Every serious site owner should definitely implement community features if they want to increase their knowledge about their readers.

I have many other lessons learned that I’ll share at some point but for now, I’d rather hear what your experience has been. Do you think more robust community features are necessary for blogs? What benefits are you finding from implementing Facebook Connect on your site? What challenges are you finding? Is implementing the service worth the headache?