In the past, on the internet there were many annoying things. Pop up windows and ads were among them. However, recently I've resolved these issues in my own setup so I only have to deal with them when I have to be away from home. As a result, I've had time to find other annoying things on the internet - like the annoyance of filling out the same profile information on every website on the planet. I have accounts on so many sites that I can't even count anymore, and every time it's the same information: Name, email address, AIM, Yahoo, MSN, ICQ, Jabber, Address, Dog's name as a child. All these fields need to get filled out every time I go create an account at a new site. Now, this doesn't seem like the most effective use of the web. This information is out there! I store it in a machine readable format - yet machines aren't reading it. What's the point of keeping and maintaining an up-to-date FOAF file, if no one but me gets to look at it? This kind of thinking is what led a bunch of social software developers - people who run sites like Tribe, Ecadamy, PeopleAggregator - together. These people saw FOAF as a way to change this. By taking advantage of the formats already available, these sites can build on a strong, open source base of FOAF, and create distributed profiles from it. No longer do I have to type in all my messaging names at every site I sign up on. Simply drop in a FOAF URL, and let the backend take care of the rest. Eventually, you may not even need to do that - simply sign in as firstname.lastname@example.org, and let authentication between the servers do the rest. It may sound like something that won't ever really happen, but it's happening now, even here on LiveJournal. LiveJournal has a need for this kind of thing as much as anyone else. Imagine no longer needing to fill out all your information every time you want to create an account at another site like DeadJournal or Blurty. Simply drop in your FOAF URL - already provided by LiveJournal - and your information will be filled out for you. I don't know about you, but that sounds cool to me.
Now take that idea a step farther. LiveJournal has friends lists - which FOAF provides. By using these lists, when you sign up at DeadJournal.com, DeadJournal may be able to go through and tell you who matches your data - offering you, from the get-go, a pre-built form of your Friends List at the new site. Never perfect - obviously, not everyone at the old site will neccesarily have an account on the new site, so you can't match everyone. However, such a tool may have the ability to email users and ask them to join their site, as do tools like Orkut now.
However neat distributed profiles and logins are, however, they aren't really a fun toy. Sure, it saves me some effort - and I like the idea, trust me - but it's not something that will really have a measurable affect on my daily life. FOAF is designed to describe relationships, so we should use it for that. One major thing that we use relationship for is to determine how well we know someone. A friend of my friend is most likely my friend. A friend of a friend of a friend may also be my friend. These may be people I communicate with on a regular basis. If I communicate with them online - via a mailing list, perhaps, or via email in general. One of the major problems with email today is spam - how to deal with it, and how to prioritize your email. If you think that you communicate mostly with people among people you know, then you may be able to use FOAF to help you sort your mail. Since FOAF typically includes a "sha1sum" of your email address - something that is unique to your email, but can't be used to find out what your email address is - you can build a database of who the people you know are. You can then use this information to do something to your emails to indicate who they are from. For example, I built a list of all my friends and their friends, along with an email address. Then, every time an email comes in, I check to see if it's from one of them. If it is, then I add something telling my email client to show me who it's from. If it's, for example, from "jessical", a level 1 friend, then I may want to highlight that, or give it priority. If it's from "allex", I may just want to flag it, but not treat it as important - allex is only a level 3 friend. In this way, I can prioritize my mail - people who I know are more important to deal with, while people who I don't know can typically wait. I have some simple example code of how this might work at http://foaf.crschmidt.net : the mbox-protector script builds a flat text database of users in you friends web, while the mailchecker checks an email coming in on STDIN for a match.
FOAF is a useful protocol for both profile data - useful for transferring between sites - and for relationships - building a web of who you know. This is just part of the reason why I took the time to add FOAF support to LiveJournal. As limited as it may be, it's still powerful enough to build these tools, and more powerful tools on the web to make your life easier are always a good thing.