XFN Grandeur

Jennifer Goldbeck has written an post over on an Oreillynet weblog called XFN Delusions of Grandeur.

She seems to be a fan of the ideas behind XFN, but has some criticisms of the microformat. Unfortunately, I think her criticisms come from misunderstandings of XFN. These misconceptions come up often, so I’ll try to give a thorough treatment of them here.

First, she says

The problem with this is that we are annotating URLs of webpages, not people.[...]

Indeed, XFN uses URLs as a way to talk about social relationships. However, in the case of XFN, URLs are used as a proxy for people, which is a practice in common use on the web. When I talk about a friend on my blog, I will commonly link to their homepage or blog. I use their URL, then, as a proxy reference for them.

Jennifer goes on to ask:

How do we actually know who the person is that is described on the webpage? Short answer: we don’t.

We don’t. At least, XFN doesn’t tell us. This lack is intentional- the XFN background document says:

The third design principle is that XFN values should describe the nature of a link between two people, rather than the people themselves. It is our feeling that the content of one person’s site (such as a weblog) will say far more about them than any set of values could ever capture.

So, in essence, the creators of XFN (Tantek, Eric and Matt) didn’t even try to solve the problem of identifying and describing people. For them, it was more worthwhile to create a simple, useful microformat (though they weren’t called microformats yet) which solves a specific problem, rather than trying to solve several problems at once.

More from Jennifer:

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.

Says who? People already treat blogrolls (around which XFN was modeled) as a social network- people link to their friends and even treat certain relationships differently (it is common to put a “*” after people whom the author has met). XFN is merely a formalization of this emergent behavior.

More from Jennifer:

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 details about how we actually identify who the people are.

I have several responses to this bit. First, this analysis reflects one of the design principles of microformats, they they’re designed for “humans first, machines second”.

Second, why can’t URLs be used to identify people? Homepage URLs are as meaningful as email addresses (or hashes of email addresses, as I believe FOAF uses), so why can’t they be used to identify people?

Third, at the time XFN was created, there was no useful, machine-parseable, web-friendly way to encode personally identifiable information in webpages. Today, we have a useful option- hCard. An <address> with an hCard is more than enough to identify details about a webpage’s author. Of course, for people more interested in encoding things in RDF could use XFN‘s rel=”me” property to link to their FOAF file.

So, I can link to my coworker, Tantek, with rel="co-worker" and any user agent can traverse that link and use the <address class="vcard"> to contact info, which is personally identifiable.

So, yes there are illusions of grandeur, but even though XFN isn’t taking over the world, it provides a very simple, understandable way to annotate social networks. We’ll use other formats to solve other problems.

Technorati Tags:

3 Responses to “XFN Grandeur”

  1. Danny Ayers, Raw Blog : » XFN vs. FOAF? :

    [...] Ryan King responds with some good points and some not-so-good: One, microformats are designed for “humans first, machines second”. I’ll nitpick on this, it is a little misleading. XFN markup isn’t really any more human-friendly than FOAF’s RDF/XML, and what’s more without a machine to interpret the stuff there’s not much for the human either way. [...]

    November 3rd, 2005 at 2:33 am

  2. Etan Wexler :

    — “[...] URLs are used as a proxy for people, which is a practice in common use on the web. When I talk about a friend on my blog, I will commonly link to their homepage or blog. I use their URL, then, as a proxy reference for them.”

    The common practice is to conflate a Web document and the creator of or topic of the document, leaving it to the reader to determine when the intent is to identify the document and when the intent is to identify something else. This practice is markedly different from using documents to identify people indirectly.

    — “So, in essence, the creators of XFN (Tantek, Eric and Matt) didn’t even try to solve the problem of identifying and describing people.”

    The creators of XFN didn’t try to solve the problem of describing people, but did try to solve the problem of identifying people. The approach that XFN employs is to conflate Web documents and their creators, which approach causes problems as soon as anybody wants to identify a document and its creator separately. If the foregoing is too harsh an evaluation, an explanation of the reality of XFN is welcome.

    — “[...] it was more worthwhile to create a simple, useful microformat [...] which solves a specific problem, rather than trying to solve several problems at once.”

    That seems a fair premise. Yet the refrain that follows is just as fair: “The 50% solution has to be basically right” (Richard P. Gabriel writing in “The Rise of ‘Worse is Better’ ”, circa 1993, with interesting connections to the Ryan-King/Mark-Pilgrim view of 80/20 solutions). Is XFN basically right? If yes, is XFN still basically right when one wants to say on the Web, for example, “Joe Clark is beautiful but fawny.blog is ugly”?

    — “People already treat blogrolls as a social network [—] people link to their friends and even treat certain relationships differently (it is common to put [an asterisk] after people whom the author has met).”

    In blogrolls, people do not link to their friends, nor put an asterisk after other people. People link documents to documents, and put asterisks after names. The common conflation strikes again.

    — “[...] why can’t URLs be used to identify people?”

    Certainly URLs can identify people. Nobody has written otherwise. The URLs “http://id.ninebynine.org/people/gk” and “http://www.w3.org/People/EM/contact#me”, for example, already identify people.

    — “Homepage URLs are as meaningful as email addresses (or hashes of email addresses, as I believe FOAF uses), so why can’t they be used to identify people?”

    The URL of a home page of a person is useful in indirect identification of a person. Dan Brickley explains the case well in his article, “Identifying things in FOAF” (which explanation Danny Ayers mentions in “XFN vs. FOAF?”). Essentially, one identifies people as things that have some relationship to things that have URIs. A home page and a mailbox are equally useful in this regard. Both have URIs. A home page has at most one primary topic, such as a person. A mailbox has at most one thing, such as a person, that orignally used the mailbox without sharing the mailbox. Referring to the primary topic of a home page is trivial in FOAF, but XFN makes no distinction between a home page and its primary topic. (If XFN does distinguish a home page from its primary topic, then XFN, exactly as Jennifer Golbeck asserted, amounts to links between documents.)

    — “Third, at the time XFN was created, there was no useful, machine-parseable, web-friendly way to encode personally identifiable information in webpages. Today, we have a useful option [—] hCard. An with an hCard is more than enough to identify details about a webpage’s author.”

    The underspecification of hCard (as of 2005-11-14) and the limits of the scope of the underlying vCard specification leave outstanding the problem of identifying people in a reliably computer-savvy manner. Identifying certain details about a person may be enough to identify the person, but often is not.

    — “So, I can link to my coworker, Tantek, with rel=”co-worker” and any user agent can traverse that link and use the to contact info, which is personally identifiable.”

    As noted previously, XFN does not enable linking to people. Were there a link to a person, a user agent would not need to muddle about with hCard to identify the person. Given that the XFN link is not to a person, how would a user agent conclude that the hCard in the link’s target anchor identifies a person? How would a user agent conclude that the hCard identifies the person whom the XFN link is attempting to identify?

    November 14th, 2005 at 12:43 am

  3. Tantek :

    Etan writes:

    > (a bunch of arguments based in theory, almost completely ignoring widespread practice)

    This is a common problem, very often seen in debates between “lowercase semantic web” approaches and other approaches.

    One of the aspects of designing for “humans first” is to design alongside, and leveraging, human behaviors, whether or not those behaviors are theoretically ideal or mathematically perfect, rather than first conceiving of “platonic ideals” or “perfect forms” and then attempting to force people to alter their behavior accordingly.

    In general, the microformats approach is to eschew theoretical rathole discussions like this in favor of trying something simple based on what people do, and iterating based on real world experience.

    However, Etan specifically wrote some plainly incorrect statements which I will take the time to correct:

    The creators of XFN … did try to solve the problem of identifying people.

    The approach that XFN employs is to conflate Web documents and their creators…

    In blogrolls, people do not link to their friends, nor put an asterisk after other people.

    These are all false and essentially redundant false statements. Bloggers solved the problem of identifying people, not XFN’s creators.

    Bloggers link to people’s blogs and use people’s names for the link text, thus identifying people with and by their weblogs.

    The theoretical crowd yells out – but this is wrong!

    The practical (microformats) crowd yells back – but who cares? People are doing it and making it work! And stronger yet, if people are making it work, then perhaps the theoretical criticisms themselves are wrong, rather than the working practice.

    In particular, all XFN does is layer relationship information on top the social network that bloggers have already formed using blogrolls.

    … which approach causes problems as soon as anybody wants to identify a document and its creator separately.

    A problem in theory only. In practice, bloggers are linking to each others blogs by name and it is working just fine.

    is XFN still basically right when one wants to say on the Web, for example, “Joe Clark is beautiful but fawny.blog is ugly”?

    This is another common mistake. XFN describes relationships between people, not comments about people. See the XFN Background document discussion of Gender neutrality (and avoiding other personal attributes) for more on this.

    Etan’s entire paragraph on FOAF is based on theoretical analysis and an article with a particular theoretical model. See above about theory vs. practice.

    The underspecification of hCard (as of 2005-11-14)

    Etan’s claim of “underspecification” is unsubstantiated. Any questions about hCard should be emailed to the microformats discuss mailing list.

    … and the limits of the scope of the underlying vCard specification

    Another unsubstantiated theoretical statement about “limits”, while the reality (in practice) is that vCard is incredibly widely adopted, in terms of tools, platforms, and instances out there in everybody’s address books and mail programs.

    Perhaps this is an instance of the 80/20 rule of microformats.

    … leave outstanding the problem of identifying people in a reliably computer-savvy manner.

    Another theoretical problem. Don’t tell that to Mark Pilgrim and others who have built solutions.

    Etan concludes with questions based on false theoretical assumptions.

    I’ll be perfectly blunt about this. There are plenty of forums on the web (the internet even) for having endless theoretical rathole discussions. Microformats.org is not one of them.

    The microformats community is about getting things working using simple standards based on human behaviors and existing practice, not about wasting time writing academic papers about how things can’t possibly work.

    Thanks,

    Tantek

    November 15th, 2005 at 11:01 pm