Johannes Ernst's Blog [XML]  [LID]

We need a simpler FOAF

The brilliance of RSS 2.0 does not lie in all the features it has, because it has very few. Instead, it lies in how many features are left out, so it could be a trivially simple format, while remaining extremely powerful. On the other hand, the RDF-based RSS 1.0 (from different authors) can do a lot more than RSS 2.0, but is much more complex to implement. Implementors are voting with their feet and have been implementing the much simpler RSS 2.0 spec at a much higher rate.

We need a version of FOAF, the social networking format, that is like RSS 2.0 is to RSS 1.0. Like RSS 1.0, FOAF today is based on RDF, and it has a zillion features that can be combined in even more ways. Not surprisingly, its real-world adoption is small as the technical machinery, and wizardry, required to make it work is too expensive. We need something much simpler, so FOAF-type information can explode like RSS has.

So here is my minimalistic proposal for a "really simple FOAF", aka rsfoaf. It only knows a few tags, and does not require RDF or any other heavy machinery. The following example says it all:

  <rsfoaf>
    <rel name="family">
      <person id="http://example.com/joe"/>
      <person id="http://fred.livejournal.com/"/>
      ...
    </rel>
    <rel name="business">
      <person id="http://mylid.net/somebody"/>
      <person id="http://www.scripting.com/"/>
      ...
    </rel>
    ...
  </rsfoaf>

When you look at this, please suppress the urge to say "but it does not do feature X...". Exactly. That's the point of rsfoaf just like it is the point of RSS 2.0.

Note it does not contain any attribute information of the referenced people, only URLs identifying them. This URLs could be LID URLs, or OpenID URLs, or simply links to a person's Geocities home page or blog. My thinking here is that expressing relationships information between people (the point of FOAF) is all that needs to be done for a really simple FOAF, because there are other established formats and protocols (e.g. VCards, LDAP, LID, ...) that can and already do do the attributes.

Could something as simple as this work? Is more required than this as the foundation? Other features could be added as extensions, just like we now have an ever-growing list of RSS Extensions...

Thoughts, anybody?

[permanent link]    Add to [del.icio.us