XFN Delusions of Grandeur
by Jennifer Golbeck
I have several posts in mind about XFN the XHTML Friends Network.
I am a Semantic Web person, and partial to FOAF (mentioned in earlier posts of mine) , but unlike many RDF and OWL aficionados, I am very much in favor of microformats, folksonomies, and the like. I think they have potential to allow us to do powerful things.
XFN, however, seems questionably useful to me.
According to their website :
XFNTM (XHTML Friends Network) is a simple way to represent human relationships using hyperlinks. In recent years, blogs and blogrolls have become the fastest growing area of the Web. XFN enables web authors to indicate their relationship(s) to the people in their blogrolls simply by adding a 'rel' attribute to their <a href> tags, e.g.:
<a href="http://jeff.example.org" rel="friend met">
They go on to detail what kind of information can go in the "rel" attribute. I will eventually write another post to discuss that, but for now I want to stick to the core idea: build a social network by putting a bit of metadata on a link.
The problem with this is that we are annotating URLs of webpages, not people. This annotation above reads to me as "http://jeff.example.org is a friend and someone I met", not "The person described at http://jeff.example.org is a friend and someone I met". How do we actually know who the person is that is described on the webpage? Short answer: we don't. This format is only allowing us to annotate links between web pages, not links between people. It may be a socially knowledgeable network of webpages, but it is not a social network.
Perhaps that is ok if the end consumer of this information is human, he or she can figure out that the person who owns one page knows/is friends with/has met the person who owns the linked page. If that were the intent, I may look more favorably on XFN. However, their website claims it as something that can be machine processed and aggregated. The site talks extensively about the potential for extracting social networks from XFN, but contains no concrete details about how we actually identify who the people are.
A section of their website is called "Delusions of Grandeur" and I think it is exactly that. For example, one item on this list reads
2. Commercial services like Amazon, which currently ask users to manually register all their friends in order to make "wish list" and other information sharing simpler, may find it easier simply to crawl XFN relationships on the open Internet. This would allow a user to enter the URL of their site, and let the service programmatically analyze XFN relationships to build a list of friends.
I do not see how Amazon, or any service, could build a list of friends from XFN data. Sure, they could find a link that was marked with XFN. But that link does not point to a person; it points to a website. So Amazon may know that I have met the person who owns a particular website, but there is no way of knowing who that person is. The data that can be extracted is worthless to Amazon for their purposes.
There are places where quick and easy annotation is good, but for machine processing of information that will be used in applications, XFN is just not going to cut it for representing social networks. RDF and OWL may be more than a basic user can handle on their own, but to achieve certain goals, something much more structured than XFN is necessary. This is where FOAF has its place.
A matter of context
It is true that XFN identifies web sites rather than individuals, however FOAF does little better. It identifies email addresses (or the md5 hash of them) rather than individuals. Because humans do not have identifiers we need to have a system of assining them. On the web we have email addresses and web pages. A few years ago using a web page would have locked out a much greater percentage of the web's population than today. Perhaps web pages are becoming a viable identifier.
XFN Delusions of Grandeur
FOAF does not annotate email addresses - they email instances of the foaf:Person class. In part, what you say is true. Applications that read FOAF generally use email address or mbox_sha1sum, to merge the same person annotated in several places.
The only way I see XFN being remotely useful is if it's used with OpenID and the URLs annotated are tagged with OpenID, LID, or something similar. Then people can at least log in with the the annotated URL.