My inner geek rejoices with the fact that Microformats have finally got a little more buzz lately! One particular Microformat I’ve been using is XFN (Xhtml Friends Network), aka the Relationships Microformats. This particular Microformat allows me to easily state the sort of relation I have with other people and for instance the blogs I link to.

Yesterday I was discussing with a colleague about whether she should or shouldn’t use them on her upcoming service and although to me the question had a dead simple question, convincing her and others wasn’t as simple as I expected!

People expect us to always have some sort of golden rules, some well defined goals or at least some clear advantages for spending development time/effort in implementing something we’re suggesting. I confess in this case we don’t have them, for for the sake of innovation I really recommend on jump into the unknown sometimes, just for the fun of it.

From our conversation I managed to sort out some key ideas on why we should all start using XFN on every service that can use it:

    As a user I clear understand that some people are more important to me than others, accept it, it seems to me and although I don’t call everyone friend, I call them all contacts, some of the are actually my friends and family, so some type of differentiation is necessary!

    If you think that you might use Microformats like XFN on your service, start using them from day 1! That’s the only way to ensure that you start collecting that extra information from the very begging and your users will start using them on every relation that they define on your service.

    This is actually a key factor, all social networks start with high rate of new profiles creation and with them a lot of social relations are created too, having XFN introduce later in this process means that your users will have to endure in a redefine process for every relation they already had on the system, and to me, quite few of your users will actually do it, leaving you with in a mix state of information, some of they have XFN info other don’t.

    That’s the case with information, traditionally the more information you have, the better! With XFN in particular, the managers of that information will have a better understanding of the types of relationships that are sprouting on their services, allowing them to gather a clear typification of their user base, their interests and the type of relations they’re creating on the service: Who are they inviting, friends? Colleagues? Family? With little effort, this extra information, allow to envision new features where you should really invest some development time in!

    To me is relatively simple, even if at the very beginning this extra information is pretty much useless, I really believe that sooner rather than later we’ll all greet ourselves by having it rather than not. As in so many other situations, when we collect information that by itself doesn’t represent or add any value, in the end we always seem to come up with new and interesting ways of using it.


    One of the reasons presented during the conversation for not using XFN was that from the User point of view you could get the same experience by allowing them to create and use different user groups.

    Well thats just WRONG!

    Sure, groups allow you to separate your friends, but if you allow your users to create user-defined groups, you have no way of actually knowing what type of people he/she is collecting in a particular group. By sticking with the XFN closed attributes you know that the users that used them, although randomly they’ll use it in the same sense and situation!

Those were the main results from our quick conversation! Now that I’ve written them, they seem pretty common sense, but they really weren’t when we started.

We surely missed some other reasons for using XFN, does anyone has other “motivation” factors for using them?