# XFN and ...

XFN complements and interoperates with a plethora of services and technologies. This document explains how to use XFN with these services and technologies. In addition, guidelines and suggestions are provided for developers wishing to aggregate and merge explicit XFN relationships and implicit XFN relationships determined from centralized social networking sites.

## Services

### Blogging related

blo.gs
WordPress
  Blo.gs and WordPress both have built-in support for XFN. Simply use their XFN creator interface to edit your relationships.
Blogrolling.com
  If you keep your blogroll with blogrolling.com, you can edit your link and paste `rel=""` or `rel="met"` etc., into the "Extra Link Attributes" field. From then on, every page which includes or displays your blogroll is XFN Friendly.
... other blogging related services
  submit additional blogging related services and suggestions for how to use them to create XFN Friendly hyperlinks.

### Centralized social networking web sites

In the past few years, quite a few "social networking" websites have emerged, which have many aspects in common. Each prvoides a web page (typically called a "profile" page) which represents a particular person and a hyperlinked list of their contacts or friends. When contacts and friends are added, they are in turn automatically encouraged to join the site and further its growth.

After two or three of these sites were launched, even their most eager users began to complain about having to re-enter their information over and over. In addition to the inefficiency of data re-entry (which some are attempting to alleviate with import/export functionality), there is the problem of synchronization across all these different sites — when you change some information about yourself or add a friend on one site, it becomes quite a hassle to update all the other sites. Finally, perhaps the biggest problem with such centralized social networking sites is that they are all islands unto themselves. There is no way to make an explicit (and for that matter, with proper authority) statement that a specific page on each of these sites actually represents the same person.

#### Identity consolidation with the XFN `rel="me"` value

XFN presents a simple and easy solution for this identity consolidation problem, with the new "`me`" value in XFN 1.1.

Use XFN rel="me" to unify your home page or blog and all your social networking site profiles into a consolidated identity.

A user with an XFN Friendly blog, blogroll, or web site, can use that site as a nexus for linking together all these otherwise disparate and isolated social networking sites, by linking from those sites to their blog, and then linking from their blog to their particular page(s) on each such centralized social networking site.

Since such sites typically do not allow editing the "rel" attribute of a user's pages, this usage introduces a special case for handling the "me" value. For sites that allow you to enter a URL or home page or blog URL as part of a person's profile page, the "me" relationship can be confirmed with a bidrectional link, where the link to those domains has a `rel="me"` attribute, even though the link from those centralized social networking domains does not have a `rel="me"` attribute.

This works because the ability to create each of those links, and thus point those pages at each other, demonstrates that the same person has control over them, and thus can declare that those pages represent the same person.

Here are brief instructions for editing your profile page on a few of these sites accordingly:

Orkut
  1. Go to your Orkut Profile.
  2. Click the Edit link next to the text "general - ".
  3. Scroll down to the "web page:" field, and enter your home page or blog URL.
  4. Click the "update" button at the bottom of the page.
Ryze
  Enter your home page into the "Personal Home Page:" field and your blog URL into the "Blog Home Page:" field.
Tribe
  Enter your home page into the "Personal website" field when editing your personal profile.
Friendster
  There doesn't appear to be any explicit way to indicate a home page or blog URL in a Friendster profile page. Therefore there doesn't seem to be a way to confirm a `rel="me"` relationship to a Friendster profile. Perhaps we could adopt the "Affiliations: " field as a defacto place for storing a plain text home page or blog URL?
Linkedin
  There doesn't appear to be any explicit way to indicate a home page or blog URL in a Linkedin profile page. Therefore there doesn't seem to be a way to confirm a `rel="me"` relationship to a Linkedin profile. Perhaps we could adopt the "Interests: " field as a defacto place for storing a plain text home page or blog URL?
... other social networking sites
  suggest additional social networking sites which allow placement of a personal URL on the user's page, but disallow any other user from placing URLs on the user's page.

#### Translation of centralized social networking sites' relationships into XFN

Although perhaps originally intended as closed and/or proprietary systems, it is possible to spider the various centralized social networking sites' lists of links to people, and infer XFN relationships between them based upon the specific site. In some cases site-specific relationship details can be used to infer more specific XFN relationships.

Note: these suggestions are provided for the purpose of discussion, and anybody actually developing such spidering tools should read, respect, and comply with the terms of service of the site(s) their tools intend to spider.

Here is a list of centralized social networking sites, along with suggestions for how their implied relationship lists could be interpreted in terms of XFN.

Orkut
  Use the hyperlink following the text "webpage:" on a profile page as an implied `rel="me"` XFN relationship.
  On the orkut - friends page, check the "haven't met" and "acquaintance" (in addition to "friend", "good friend", and "best friend") checkboxes in order to view all "orkut friends". Associate the following Orkut relationship terms immediately preceding `Profile.aspx?uid` URLs, and translate according to this table:

  Orkut relationship | equivalent XFN value
  --- | ---
  haven't met | contact
  acquaintance | acquaintance
  friend | friend
  good friend
  best friend

Friendster
Tribe
Ryze
  Treat Friendster's my friends, Tribe friends, and Ryze friends as all having XFN relationship `rel="acquaintance"`, since none of them has never attempted to distinguish friends vs. acquaintances. Their effective "Are you my friend yes or no?" protocol has encouraged a lower barrier/critera for "Friendster friends" (aka "friendsters"), thus it makes sense for their notion of "friend" to be interpreted more as "aquaintance".
Linkedin
  Treat Linkedin Address book connections as XFN `rel="contact"`. Testimonials by current co-workers imply an XFN `rel="co-worker"` relationship as well.
... other social networking sites
  submit additional social networking sites and suggestions for how to translate their implicit or explicit relationships.

## Technologies

vCard
  What is a good way to use XFN and vCard? See hCard, in particular the hCard and XFN examples.
RDF
  It should be possible to construct an RDF Schema for XFN 1.1 that normatively references the XFN 1.1 profile
FOAF
  Comparing, contrasting, and combining XFN and FOAF.
... other technologies
  submit additional technologies that you think could benefit from XFN support.

And [XFN] [GMPG]