BlogMatrix
 

XFN best practices

edit David P. Janes 2008-03-21 20:30 UTC add comment  ·

I woke up this morning with the intention of writing a "best practices" guide to doing microformats only to find out that Glenn Jones had beaten me (handily) to the task. In my mind this should be converted into a wiki page.

XFN encoding, extraction, and visualizations

edit David P. Janes 2008-02-22 10:11 UTC add comment  ·  ·

Brian Suda has an article on Dev.Opera about XFN - XFN encoding, extraction, and visualizations. It's a great place to start reading about XFN:

XFN stands for XHTML Friends Network[...]. It grew out of the common publishing trend of linking to other sites you enjoyed reading. On your blog, this is called a blogroll - it is common to think of people by their web sites. Their URL is a representation of that person; part of their online identity. XFN is an attempt to codify these relationships using standard HTML.

I was going to nitpick about Brian's point about tool support for XFN, but I shall get into that in upcoming posts about the social graph.

The Google Social Graph API

edit David P. Janes 2008-02-21 19:41 UTC add comment  ·  ·  ·  ·  ·

After attending SGFooCamp (photos), I've been meaning to playwith Google'snew Social Graph API a little more.

The SGAPI is a fairly simple and powerful tool:

  • it looks for data captured on the web by the Google crawler, namely:
    • XFN links (normal webpage links with rel="something" markers),
    • FOAF information, which I won't go into
  • this data defines a graph, with nodes being webpages (which are URLs, and URLs are people) and edges being relationships
  • it's not a proprietary Google data store
  • there's one RESTful GET call in the API that returns the graph given a starting URL

That sounds kind of abstract, but it's really quite simple. For example, consider all the web services you use:your blogger.com account, your flickr account, your del.icio.us account, your twitter account, and your home page. They're all"you"and should have additional information to indicate that they belong to the same person. XFN defines this asthe rel="me" relationship.

Let's look at a specific example: Mark Kuznicki'saccount. Usingthe magic of thedemo application, we can see that Mark has a number of accounts that are claiming that they're him:

Why? Because Mark entered the URL of his home page and these applications added a link marked with rel="me" on the appropriate A tag. (If you don't believe, follow thelinks and look at the source).

Now, why does it (currently -- 2008-02-20) call these "possible" connections? Simple: because Mark hasn't linked back to these sites on his home page with A linksmarked rel="me".

Why should Mark do this? Simple:

  • because if he does this he can have identity consolidation on all his public social networks, that is, by giving only his home page URL we can definitely know all the social networks that Mark belongs to (and not just claim that Mark is a member of)
  • and by knowing this, we can start exploring other (web) relationships that mark is involved in, such as rel="friend"
  • and if he starts doing this, pretty soon we have a solution to the YANS problem: when Mark joins a site, he need merely specify his home page and his friends are automatically found -- and without having to screw around with the password anti-pattern or manually re-entering all friends.