Michael Bauser Is Losing His Mind
I have to up very late, and very, very bored before I bother to check the "headlines" at Blogdex and Popdex, but I was up very late one night last week, so I did. It was mostly the same-old same old (a lot of New York Times, the obligatory Andrew Sullivan, and too much Movable Type), but The XHTML Friends Network was just too precocious a name to ignore. I figured I should check that one out.
So I clicked the link and read the page. Then I put my fist through the computer monitor.
Well, not really (can't afford to replace a monitor right now), but I damn well felt like punching something. The XHTML Friends Network (XFN) is a new schema for using HTML link relationships to define the relationships between human beings. That, in itself, doesn't sound like an unforgivable sin, implementation of the idea suffers from three flaws: it's collides with other namespaces, it distorts the meaning of link relationships, and its designers are unable to see beyond their own enthnocentrism. It that last one that makes me furious, and it's the one that's going to limit XFN's potential as an international standard.
I've always been a fan of labeling link relationships in HTML; my very first home page included link elements listing various structural relationships back when Lynx was the only browser that used them. All of my websites since then have included relationship markup in the link and a elements. In fact, one of the reasons I roll my own blogging software is to manage link relationships in the markup -- every page of this blog has at least five relationship-marked a elements and at least four relationship-marked link elements. Link relationships are part of my personal internet agenda -- I even wrote a tutorial about the link element and cataloged the known relationships. I know how link relationships work, and I don't like seeing the screwed up.
The first two problems with XFN are relatively minor, so let's get them out of the way.
First, the namespace problems: Three of the XFN-defined relationships -- parent, child, sibling -- have been proposed before (with different meanings), in an expired draft by Murray Maloney and Liam Quinn. Maloney and Quinn used these realtionships not as biological relationships, but structural relationships, according to their use in common hypertext theories.
Admittedly, the Maloney/Quinn paper never reached official draft status, and probably isn't implemented by many people, but it lets me emphasize a potentional problem: the words "parent", "child", and "sibling" already have meaning in the vocabulary of hypertext, and using them with a different meaning in hypertext is a little wierd. It's not weird enough to break the web, though, so I won't dwell on that.
Second, distorting the meaning of link relationships: There has always been some disagreement in the HTML-using world about how to use link relationships. The disagreement boils down to one question: Does a link relationship define the relationship between two documents, or the relationship between two agents (people or organizations) described by the documents. The earliest discussions of HTML relationships focused mostly on document-to-document relationships, but later discussions expanded on the idea of agent-to-agent relationships. That got too confusing, so the pendulum swung the other way, and later documents dropped most entity-to-entity relationships. In fact, the HTML 4.01 Recommendation only lists document-to-document relationships, and states that the rel attribute "describes the relationship from the current document to the anchor specified by the href attribute." See? No mention of people, organizations, or other entities.
Mapping entity-to-entity relationships with the rel attribute isn't a syntax error (HTML parsers don't care what relationships mean), but its not really the purpose of link relationships, and it's a potential distortion of the specifciation's intentions. It's also the kind of distortion of specs that impedes the use of relationships for mapping the structure of a site: Among the many hoped-for uses of link relationships is site-mapping: robots will be able to map the structures of web sites by comparing and correlating relationship markup. That task becomes more complicated if we poison the namespace with non-document relationships.
The third and final reason for disliking XFN is going to require a small digression into my secret identity as a liberal arts major (I have a degree in anthropology), so I'll summarize it first: The "family relationships" currently defined in XFN are inadequate for describing most non-Westernized family structures. The proposed extensions to XFN's family relationships could make this problem worse, because the XFN authors apparently want to build-in Western kinship terms that won't be translatable into terms non-Westerners appreciate. In fact, some of the proposed extensions aren't even translatable into certain languages.
The XFN 1.0 Profile defines four non-gendered "family" relationships -- parent, child, sibling, and spouse. These are adequate (if a little vague) for defining relationships in the immediate family, because every culture recognizes the essential nature of the three implied relationships (parent/child, sibling/sibling, spouse/spouse). Although the words used vary from langauge to language, the relationships are easily comprehended all over the world.
It's the proposed extensions to the family syntax that concern me the most. Quoting the XFN Background document:
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.
As it turns out, the XFN authors (a.k.a the GMPG) have an issue with gendered relationships, as they stated earlier in the background document:
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.
If every former anthropolgy student on the Internet isn't yelling "Bullshit!" at this point, they should be. A kin-relation's gender identiy is one of the fundamental organizing principles of kinship (family) relationships in most societies. You can't accurately map kin relationships in most societies without gender information. I'm positively aghast at the notion any thinking person would try to establish a world-wide standard without realizing that.
Terms like "cousin" and "grandparent" would work for families native to Westernized societies like the United States, becase Western societies organize kinship with what anthropologists call a bilateral kindred -- such societies define a person's "kin" as all those people related to Ego (the person at the center of the kindred) through either parent ("both sides of the family") and treat both sides of the kindred/family equally. For example, all of my mother's parents and all of my father's parents are part of my kindred, and have the same status to me -- "grandparent". The problem is that not every society is organized by kindred. Most non-Western societies are unilineal -- they trace descent through one gender of parent, and emphasize lineages (often referred to as clans by Westerners) over kindreds.
For example, my parent's siblings have produced
thirteen fifteen children so far: Autumn, D.J., Heather, Jacob, James, Jeff, Jessica, Katie, Kevin, Kristin, Matthew, Raquel, and Robbie. Here in America, my relationship to all of those people is "cousin" -- No gender or other detail is necessary to explain our relationship to another American. If we were part of a matrilineal society, however, only the seven of them who are my mother's sisters's children (Autumn, David, Jacob, Katie, Kevin, Matthew, and Raquel) count as members of my clan. The others don't count because they're either my mother's brother's children or my father's sister's children -- the shortest line of kinship includes a male parent. In some societies, I'd have little or no contact with them, because they're busy hanging out with their mothers' lineages.)
An even more radical difference: If the
fourteen of us were living in a patrilineal society, none of them are members of my lineage, because my father doesn't have any brothers, so I have no "cousins" connected to me through an unbroken line of male parents). Clearly, if I was a member of a non-Western society, a terminology system built around bilateral kindreds will never accurately describe my lineage's structure. It would cut down on how many birthday cards I mail every year. I could live with that.
(This isn't just an issue of vocabulary, because the vocabulary affects social relationships and obligations, especially with regards to "grandparents" (parent's parents), "aunts" (parent's sisters), and "uncles" (parents brothers). In unilineal societies, how I'm expected to interact with my father's brother is usually very different from how I'm expected to interact with my mother's brother.)
The differences actually become bigger as we take other relatives' genders into account. In most societies, the term used to describe "my cousin" depends on both the gender of of two or three people: my parent, the cousin's parent, and/or the cousin. In Sudanese, for example, there are eight different terms for the eight types of "first cousin" -- My mother's sister's son gets a different label than my mother's sister's daughter, which is different from the label used for my brother's sister's daughter, and so on.
Clearly, "cousin" has no useful place in a kinship terminology system intended for use on a (ahem) World Wide Web -- it's "too American". Westerners will be encoding relationships in terms that don't translate into other cultures/languages, or members of other cultures will be forced to map their relationships in a system that loses information important to them.
So, what the hell happened with XFN? Ethnocentrism happened, that's what. Ethnocentrism, according to one anthropology text is "the tendency to view the world through the narrow lens of one's own culture or social position". That's exactly what's happened with XFN -- it's developers (all three of them) live in a society where gender doesn't affect status relations between kin, so they've assumed it doesn't affect relations anywhere, and wrote it out of the system. Then they started talking about adding culture-bound categories like "cousin", which won't be usable world-wide. (That's what happens with small groups, closed devlopment processes, and a limited wordview. International organizations like the W3C may be slow, but they're never this near-sighted.)
So what's the solution? Include every known human kinship term in the XFN specification? Nope. That creates a document so large no one wants to download it, creates relationship networks that will be opaque to non-natives, and forces the XFN team to revise the spec when my screensaver finally finds the aliens.
Give up completely on mapping kinship relations on the Web? I don't want to go that far, either, because there could be some interesting possibilities for using web documents to construct kinship diagrams, but only if there's a universal grammar for describing kinship relationships.
You might be thinking "It can't be done", but the truth is that there is a cross-cultural kinship grammar available, and you've been reading about it for last six paragraphs: It's the system anthropologists have been using for decades, and it depends on the fact that any person can only have eight kinds of immediate relatives, and the eight types are mutually exclusive. The eight types are: mother, father, sister, brother, daughter, son, wife, and husband. All extended relationships can be described a chain of the basic eight relationships. For example:
My cousin Matthew? Mother's Sister's Son.
My cousin Jeff? Brother's Sister's Son.
My grandma Mary? Mother's Mother.
My sister-in-law? Brother's Wife.
My step-nephew's wife? Brother's Wife's Son's Wife.
(That last one is hypothetical but fun, because it connects two people while showing that they're not genetically related. If we were, I'd describe the target as "Brother's Son's Wife" -- putting the extra "wife" in there proves that the step-nephew isn't a blood relation of my brother, let alone me.)
Except for some weirdness created by divorces and adoptions, the anthropological kinship terms can describe any kin relation on Earth. More importantly, it renders them in a way that's relatively easy to translate. An English-speaking programmer can create a program that identifies Matthew as my "cousin", while a Hawaiian-speaker can create one that identifies him as my "Kaikua'ana". Using the basic terms gets us back to one of the goals of link relationships: labeling documents with relationships that computers can parse.
Of course, there's an issue with encoding such relationships. XFN's self-appointed nemesis, FOAF has a rule for nesting relationships, so that ideas like "Brother's Wife's Son's Wife" can be expressed in one FOAF file without scrambling the basic syntax. In XFN, its not so easy. They might be able to "chain" relationships with hyphens (so a link to from my blog to a cousin's might have rel="mother-sister-son", or they might just have to trust that every person in the world will have a blog eventually (Don't count on it -- none of my
thirteen cousins do.) and let networks map themselves naturally. I'm not going to delve too deeply into this, because I'm not impressed enough with XFN to bother rewriting it. I'm not even impressed enough to use it. (Also, it too so long to update catalog of link relationships that I'm just sick of reading their documentation.)
Posted at 11:58:28 PM EST on 24 December 2003 from Trenton, MI