XFN Background

The trick.... is to make sure that each limited mechanical part of the Web, each application, is within itself composed of simple parts that will never get too powerful.

—Tim Berners-Lee, Weaving The Web

“As simple as possible, but no more” has been our operating philosophy while putting together the XFN specification. Simplicity is not easy, and a lot of thought went into the relatively small set of values you see in this first iteration of XFN. There is a reason for everything, and with this document we hope to communicate some of the reasons why we chose the things we did.

Perhaps the strongest driving force of XFN's creation was that of simplicity. It was important to the authors that the set of values in the XFN profile be as small and simple as possible, while still permitting the description of a wide range of relationships. In some cases, this meant that if a proposed value's utility was in question, it was dropped from the profile. While this may reduce the range of relationships that can be described using XFN, the authors would far rather start with a small set of values and add to it later than define a hugely complex set of values, most of which will rarely or never be used. XFN is a simple part that will never get too powerful.

Another of the design principles driving XFN is decentralization, just like the Web itself. By placing the responsibility for adding XFN information to authors, the work of building up XFN data and keeping it current is distributed. This also means that authors have power over their XFN information, which in a centralized model would not be the case.

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. The relationships between people, however, are much easier to characterize. Since the Web provides mechanical links (that is, a way to jump from one place to another), and many of those links point from one person's site to another's, it made sense to find a way to utilize those pre-existing links. XFN does make the assumption that the online node to which an XFN-enhanced link points represents a single person. This is almost always the case for a weblog, but may also be true of an entire Web site.

Why did we choose to add these values to XHTML rather than come up with a new XML-based syntax? For one thing, creating an XML-based syntax has been done, and we saw no reason to tread where others have already been. Just as important was our desire to build upon the existing infrastructure of the Web. As Tim Berners-Lee wrote, "the Web would come as a set of ideas that could be adopted individually in combination with existing or future parts."[1] The idea behind XFN was to add a new idea that easily interoperated with an existing (and enormous) part of the Web. We chose to utilize an XHTML attribute, rel, that already existed and which was defined to describe relationships. We have simply extended this to describe human relationships, as opposed to document relationships. Thanks to its being based on XHTML, XFN is easy to hand-author, and is both machine- and human-readable. By building on XHTML, we avoid the need to create a whole new language just to enrich the links that already exist.

Friendship

To sum the breadth and subtlety of human friendship with three values may seem presumptuous, but the goal of simplicity drove this choice. Rather than try to cover all possible values straight out of the gate, we decided to pick three common levels of familiarity.

Friend is in many ways the most difficult value to describe. Aristotle said that "Wishing to be friends is quick work, but friendship is a slow ripening fruit. Just as fruits may ripen at different times, the line between acquaintance and friend will vary from person to person. Joe might consider someone a friend after one good conversation or shared experience, while Grace may feel that the classification of "friend" should be reserved for someone with whom she converses daily and has established a great degree of trust.

Acquaintance implies a mutual familiarity and an individual's definition is not likely to vary significantly from person to person, therefore it suggests symmetry but doesn't possess it by definition. friend should be stronger in implied symmetry. Because of aforementioned variances, it is more likely that there will be disparities (or mis-matches) with the friend value than most others. You should not be offended if someone doesn't reciprocate a friend value, because even though you may feel the same about your relationship with each other, you may just have different ideas of what a friendship entails. Or they may just have forgotten.

Contact simply refers to someone with whom you can get in touch, because you have their contact information. This value could be very useful in online address books, or in professional networks where the intent is to determine who can get in touch with whom. This is a new value in XFN 1.1 and represents an even less familiar relationship than "acquaintance". And for something lighter still, try met.

While more values may be introduced in the future, the authors feel that these values are sufficient for the current version of XFN. The problem with values such as "close-friend," which we considered, is that they open the door to a great many variations on the same theme. This runs counter to the wish to keep XFN simple.

Physical

Met is most likely the value easiest to claim. It is very straight-forward; either you have met someone in person (or IRL as we sometimes say) or you haven't. met can indeed exist independently of every other value, including, though not likely, spouse. This value (and indeed the genesis of XFN) was inspired by a comment made by John Halcyon Styn during the SxSW 2003 session "Beyond the Blog."

Although the possibility of other physical relationship terms led to a great deal of humor among the authors, met seems sufficient for the initial release.

Professional

After the familial, romantic, and friendship relationship types were created, it became apparent that some values were needed to describe relationships that may exist outside of the personal sphere. One of the most common environments in which relationships form is work. These relationships may include a friendship component, or may not.

Co-worker describes a person who shares an employer with you. This could be a member of your office team, your division, or simply works for the same company. It can also describe your manager, your subordinates, the CEO, and anyone else at your workplace. Note also that this value is not geographically limited, so a co-worker can be someone who is located in a different city or country.

Colleague refer to a person who you regard as a peer; that is, someone who you feel is on your level and has skills and interests similar to your own. A colleague does not have to be a co-worker, although of course can be. For example: two doctors and a lawyer are members of a quilting circle. While they all share an interest in quilting, only the two doctors are colleagues, whereas the lawyer is colleague to neither of them (and vice versa).

Some other obvious choices for this section would have been "supervisor" and "subordinate." These seemed too detailed to fit in with the drive for simplicity, and are effectively covered by the value co-worker. Representation of such work relationships may appear in a future version of XFN.

Geographical

There are much more exact methods of describing your location (and your location relative to others) using methods such as GeoURL, and we do not seek to replace them. The geographical values of XFN are descriptive of the relationship itself. For this reason there are only two possible values, co-resident and neighbor, which are mutually exclusive.

Co-resident is pretty specific insofar that it dictates that you share a street address with the person you're referring to. This is broad enough to allow for co-residents with the same apartment building and such, yet still specific enough to suggest the relationship is effected by the close proximity. Co-resident is symmetric.

Neighbor is much broader, and deliberately so. Different people may have different definitions of what "neighbor" might mean to them, and they are all valid. Some might consider neighbor in the very strict sense of being someone you live next door to, others might take a more Mr. Rogers approach to the concept of neighbor and extend it further, though to fit with XFN it should still have definite geographical connotations. Due to possible various personal interpretations of this value, it is not necessarily symmetric, though it certainly may be.

There was some discussion of values such as "countryman" or a way to represent that another person lives in the same city. These were ultimately left out because they did not seem to represent useful information.

Family

The most common relationship types are, of course, familial. A great deal of discussion centered on the degree to which family relationships should be described. In the end, the goal of simplicity won out over the desire to create a detailed list. Thus XFN contains three family-relationship values.

Child means that the person to who you are linking is someone you parented. Note that this does not require that you actually be the biological parent of the child; adoptive children also qualify.

Parent is the inverse of child, and refers to a person who parented you, whether biological or adoptive.

Sibling refers to a person with whom you share a parent. Brothers, sisters, half-brothers, and half-sisters are all examples of siblings.

Spouse refers to a person to whom you feel yourself to be married, whether legally or not. The use of spouse should be symmetric. A spouse could also be considered a romantic value, however, we concluded that a major difference between spouse and the other romantic values is that a spouse is considered to be part of a family, whereas this is not typically true for the other romantic values. Also, though typically a 1:1 relationship, some localities, cultures (and subcultures) permit and encourage one to many spousal relationships. We leave such complexities up to individual choice and judgment.

Kin is a generic term that describes any relative of yours. This could be a 'blood relation' or someone to whom you are related by marriage.

Obviously a great many more values could have been included, but we discovered some interesting barriers. For example, "aunt" and "uncle" are gender-specific, and we could find no gender-neutral words for "sibling of a parent" in the English language. Without those terms, including the gender-neutral "cousin" made little or no sense. We considered adding "grandparent," but in the end dropped the term because it seemed unlikely to be used in the near future. It may appear in future versions of XFN.

Romantic

It can be argued that the most interesting relationships are those involving romance, and XFN could not be complete without romantic descriptors. Indeed, this section has the most values of any part of XFN, and caused the most debate among the authors.

Muse describes a person who inspires you in some way. This may not be a strictly romantic or erotic type of inspiration, but might also be used to describe a person who has provided you with professional inspiration. The value landed in the romantic section because inspiration is a romantic concept in the general sense (rather than a rational concept).

Crush refers to a person to whom you are attracted, perhaps even strongly, but who might not express the same feeling in return, or even know that you exist. Crushes are also usually secret, which makes their inclusion in XFN (a public data set) somewhat interesting. We expect that the use of crush in XFN will be in a teasing manner, as between two friends who like to flirt but do not actually date.

Date is used to refer to a person you are dating; that is, whom you see on a regular basis. This usually means that you specially arrange times and places to see the other person, such as going out to dinner and a movie, or going to see the orchestra together. What distinguishes this from ordinary friendship is that there is a romantic component involved. We do not take a position on exclusivity here: a single person can mark any number of others as being a date. Whether or not they should is up to the people involved.

Sweetheart describes a person with whom you are intimate, whether physically or emotionally, and to whom you are committed to some degree. As with date, there is no requirement that sweetheart apply to a single person, although it is typical that a person will have only one romantic sweetheart at a time. This value was the best gender-neutral term we could find to represent the more common terms "girlfriend" and "boyfriend," which it is meant to represent, as well as informal terms like "snookums", "honey", "pumpkin", and "sweetie-pie".

There were a whole pile of love, romance, and sexually oriented terms we considered and discarded. Some were rejected on the grounds they were unnecessary—for example, polyamorous individuals can indicate their other partners using values already defined (having two links marked sweetheart or spouse, for example). Others were left out because they did not fit with the desire to keep XFN simple. The current set seems to us to accurately capture a sufficiently detailed range of romantic feelings without becoming overwhelming.

A special note is merited for the omission of a term to describe a person to whom one is engaged. The terms "fiancé" and "fianceé" are gender-specific, which was a problem. We also decided that describing engagement should be left out since it is intended as a transitional state of affairs, as a prelude to marriage (and thus the value spouse, which is a less intentionally temporary relationship).

Identity

Me is used to indicate that the link points to a site for which you are responsible. This is useful when pointing to various profiles on social-networking sites, for example, or when pointing between two different blogs run by the same person. Note that use of this value is exclusive of all other XFN values; thus, you cannot declare rel="me co-resident" even though it is to be hoped that you are in fact co-resident with yourself.

Deliberate limitations

As explained in many categories above, many choices of relationship terms were omitted, typically for simplicity. There are a few general reasons why certain values and even sets of values were left out.

Gender neutrality (and avoiding other personal attributes)

Values like brother and sister were omitted for the gender-neutral sibling deliberately to keep gender-implying information out of XFN. The reasons are important, if a bit subtle.

When you annotate a hyperlink to someone with rel='friend' for example, you are saying that you are a friend to that person. Whether or not you consider yourself to be a friend of someone else is something under your control, something which you yourself are the authority over, and thus it makes sense that you be able to specify it. In addition, you are describing precisely the relationship between you two from your perspective, and nothing more. You are not describing anything about the other person, such as their race, age, preferences, or gender for that matter. While some or most of these attributes may be persistent, and thus you may be able to condfidently say what they are, the problem with saying so is that you are not the authority over another person's attributes. Only the person themselves can authoritatively describe such attributes about themselves. And certainly it does not make any sense to mix such attributes with your description of your relationship with them.

Perhaps someone else will invent a markup language or some other mechanism to describe attributes about a person, and then people could use that to describe themselves. That's not the purpose of XFN and outside it's focus, so we leave that problem to other solutions.

Positive or neutral relationships only

Negative relationship terms have been omitted from XFN by design. The authors think that such values would not serve a positive ends and thus made the deliberate decision to leave them out. Such terms (we won't even bother naming them here) while mildly entertaining in a dark humor sort of way, only serve to propagate negativity.

The authors do not deny that such negative relationships exist in the real world today. Of course they exist. However, we see no need nor benefit to standardizing such relationships and capturing them in a form which would spread on the Web. There is enough hatred in the world. We should work to eliminate hatred, not to spread it.

And we do realize that by creating XFN and the mechanisms it uses (XMDP), we have opened a Pandora's box, and have made it easier for those that would create and propagate negative relationships. We can only hope that our positive creation wins out over any such negative creations.

Out of time

With XFN itself there is no way to indicate that you used to be friends with someone, or that someone is your ex-crush etc. XFN values are by implication present tense.

We have chosen to omit any temporal component for the sake of simplicity.

That being said, it is possible to mix XFN with a time based format to capture the temporal (and even ephemeral) nature of many relationships. Blogs by their very nature are a time based format. It is possible to use XFN values to refer to people linked to within a blog post. It could then be presumed that those relationships were as defined as of the timestamp of that blog post. Later blog posts could mention the same people with different XFN values. By viewing a set or series of blog posts and watching the XFN values on the interpersonal links change, one could easily derive implied temporal information about the nature of the relationships. Note that the lack of a rel attribute on an interpersonal link should not be taken to mean anything in terms of the nature or change(s) thereof a relationship.

Exception. Clearly the value met has temporal implications, and yet, is such a useful value that we made an exception and included it anyway. To that extent, met can be considered a description of your relationship with someone which is still presently true, in that you have physically met, and that you always will have physically met. The same could be said about other physical relationships, e.g. shook-hands, hugged, kissed etc. and thus the door is left slightly open to such possibilities for future versions of XFN.

XFN [GMPG]