XRI, OpenID, FOAF, XFN and Open Social Networks

Today, I stumbled upon QDOS’ FOAF Search Tool and spent a bit of time exploring FOAF and related technologies. I’ve been interested in these technologies for quite a while and always enjoy checking back to see what has been going on.

It seems like the best starting point is XRI. XRI, or the Extensible Resource Identifier is sort of like taking web addresses, sometimes referred to as Uniform Resource Locators, or URLs and taking them to a higher level of abstraction. It seems as if there is some religious war between people who like XRIs and people who like URIs which are another abstraction of URLs. I don’t understand the dogma, so I won’t attempt to explain it here. Instead, I’ll simply note that I use a couple XRIs and like the way they fit into my view about open social networks.

Typically, an XRI starts with an equal sign for an individual, and I’ve registered the XRI =aldon.hynes as an XRI address for myself. If you click on the link you’ll see that it takes you to http://xri.net/=aldon.hynes which redircts to http://2idi.com/contact/=aldon.hynes

http://xri.net redirects to whomever a person is using as their i-broker, which resolves an i-name. http://2idi.net is the i-broker that resolves my =aldon.hynes i-name. An XRI that starts with an at sign is for a corporation. Since people’s identity on microblogging sites like Twitter are often abbreviated as starting with an at sign, there is some potential for confusion. However, this also provides an interesting opportunity. I’ve registered @ahynes1. In this case it redirects to a different i-broker, http://1id.com. Using 1id, I’ve set up the XRI @ahynes1/twitter to resolve to my twitter account and the XRI @ahynes1/identica to resolve to my identi.ca account. Unfortunately, due to the religious wars, XRI isn’t used much accept by geeks like me.

Now, on to the next part, OpenID. OpenID provides secure single sign-on for sites that support OpenID. Version 1 of OpenID used the URLs of websites that would do the authentication. So, I can authenticate on sites that support OpenID by entering my OpenID from other services that support OpenID. So, for sites like Livejournal, Wordpress, and Vox, you can enter the URL of your blog on these sites. Other sites like Technorati, AOL, Yahoo, Google, and Microsoft support, or are starting to support OpenID, but figuring out what your OpenID on these sites are can be a little confusing. For example, my OpenID on AOL is openid.aol.com/ahynes1 and on technorati it’s technorati.com/people/technorati/ahynes1.

Now, you can modify any website to delegate OpenID authentication to another site, so currently, my website delegates to my 2idi openid account, which leads me to my next point about OpenID. Version 2 supports XRIs, so sites that support version 2 of OpenID allow me to log in with =aldon.hynes or @ahynes1 The microblogging site identi.ca supports OpenID Version 2, so I can login Identica as @ahynes1 which matches my name in identi.ca

With sites like Identi.ca and many others, you flag people as your friends, or people that you follow. This is where FOAF fits in. FOAF, or Friend Of A Friend, is a format to provide information about yourself and your friends. Typically, you identify yourself in FOAF in terms of a special encoding of your email address. The problem is that more and more people have multiple email addresses. How do you link email addresses, websites, including those used for OpenID authentication and those that are parts of various social networks, as well Instant Messenger IDs and so on into one coherent identity. To me, this takes me back to my XRIs, but as noted, XRIs are still not widely used.

To make things worse, just as every service is creating its own OpenID authentication sites, I’ve got dozens, more and more of them are creating their own FOAF files. My FOAF files can be found on identi.ca, MyBlogLog, Ecademy, Tribe, LiveJournal, FriendFeed, Pownce, Vox, and other smaller websites, and probably a few others I don’t even know about. How do we link all of this together?

My recollection was that you could set up your own FOAF document that would point to all the FOAF documents which also describe you. Unfortunately, I can’t remember, nor can I seem to find, the syntax to do this.

Another way to tie things together is with XFN, the XHTML Friends Network. XFN is very easy to get going with. Just add the rel attribute to a link. The value for “rel” should be something like “me”, “friend”, “acquaintance” and so on. I’ve had XFN running for a while here. For XFN, you can search sites using RubHub, although I had never indexed Orient Lodge there, so it may not show up yet. One site that does seem to link this all together nicely is Sindice, the Semantic Web Index.

Where does this leave all of this? It looks like tools to link together and traverse open social networks still needs a bit of work, but it is slowly coming together.