Recently Facebook announced a new social plugin called Registration. Registration allows web sites to integrate a sign up form via an iframe or fbml that is hosted by Facebook.
I am working on a project that requires registration and we have decided to try this out so a lot of what you see in this post is first-hand experience of how it works.
This form can be customised to include bespoke fields that you may want to collect. By default it does not ask for a password for example, but that is easily added. Similarly, if you wanted to add in check boxes, free text boxes, options etc they are all simple additions.
Check out the Custom Fields example on the Facebook Registration page. When a user arrives at the registration form and are logged into Facebook, any compatible fields are pre-filled in therefore reducing the need to fill out copious amounts of data about themselves. This will help to reduce the barrier to entry for many users who are often put off by registration forms.
If a user doesn’t want to pre-populate the form with their Facebook data, they can remove this from the form by clicking on the [x] next to their name and photo on the form.
So what happens to the user’s data?
If a user is logged into Facebook and is filling out the form, any extra data that is compatible with Facebook is added to their Facebook profile. In the Custom Fields example on the Facebook Registration page, if you click on the text box for Current Location, a pre-ticked check box appears which says ‘Save this to my Facebook Profile’.
As a site owner, you can disable this for any custom fields that you add to the form by adding in the no-submit function to the integration.
If a user does not have a Facebook account, they are not automatically signed up.
Submitting the form
When a user submits the form, you can do some form validation before Facebook processed the form and returns the user data to you as json – a lightweight text-based open standard designed for human-readable data interchange (Wikipedia). The registration plugin can also do this over SSL which we would recommend as best practice for security reasons.
There are some issues currently with the validation – namely that if a form fails validation it can sometimes not run the validation a second time. I’m sure that there are ways around this – by doing your checks server side – which we are still investigating.
Once you have the data returned to you as json, the website needs to process that data and store it.
You may think that the pre-filling of personal data would be the killer app for this product. Whilst it is a pretty important feature, my personal favourite feature is it shows any of your friends that have already registered on the site – giving users social proof that the site is worth registering for and that they are not doing this blindly. Giving further incentive to users to register.
Nope! Once you have the data stored in your database the web site still needs to handle things like logging in, profile pages,editing of profiles, forgot passwords etc.
The Facebook Registration plugin is definitely a step in the right direction for Facebook. For them, it allows further integration of their platform into external websites as well as gathering further incremental information about their users.
For the websites, it takes out a big chunk of development that would be required to create a new registration system. It also reduces barriers to entry by having the form pre-filled in most cases so therefore converting non-registered users to registered users should be easier.
It will be interesting to see where Facebook goes with this. Whether they will extend the Facebook Connect product to help with editing locally stored profile information and profile pages.
I do think that this is one of the bets plugins that Facebook has released and its still early days.
I’ll post updates as and when I have them.