New account, select XMPP as protocol. Username is your username (which is your slug if you have a custom url. So I'm facebook.com/daniel.jackoway, my username is daniel.jackoway). Domain is chat.facebook.com. Password is your password. Only gotcha is that you then have to go to the "Advanced" tab and uncheck "Require SSL/TLS".
account add jabber FACEBOOK_USERNAME@chat.facebook.com FACEBOOK_PASS
account list
account add 2 (or whatever number the above list shows is Facebook)
# you'll need to do a /whois on your friends and rename them:
rename u393222111 John
rename u134322433 BobThe renaming is fairly annoying, can anyone think of a way to auto-name users?
At first I didn't log out after setting my username and that made it hang. That step is important.
SPAM and abuse isn't that hard. Remove the person from your contacts. Done. They can't contact you any more. Really, it's the same as if one of your Facbeook friends was creating SPAM or abuse.
Basically, it's just "friending" people by Jabber ID rather than by Facebook user id in a "chat contact" status.
There are technical challenges to federation and it did take Google a while to implement it. However, the UI, SPAM, and authorization parts don't seem that challenging. And it would be nice if Facebook opened up a bit. And Facebook might be working on this, but I don't think it's a UI issue. In the long run, it will come down to whether Facebook wants to be closed or open and that's a policy decision.
I already noticed a trend in which a large portion of my friends will use facebook chat now and not even bother to login to MSN Messenger (which is the most popular client in my geographical area).
I reckon that because Facebook has such a large number of users already, this has the potential to kill the other IM networks. Maybe it's not so good for properly federated XMPP, though, since this also presumably means that Facebook have no real incentive to implement it.
However, facebook's xmpp implementation is even more restricted than google's so far. It's not even federated as of yet (not that facebook sees a need for their users to communicate outside of their network). Not federated means things like [twitterspy](http://dustin.github.com/twitterspy/) won't work.
They also don't pass many stanza types through. For example, I've seen complaints of people trying to send jingle IQs through in order to establish direct connections between two users. That's not there (yet?).
However, it does mean that you don't have to get a new chat client. I added another account to adium as xmpp and all's well. Just hoping people don't actually start talking to me over it.
I'll be impressed if they indicate they're working towards full server-to-server as Google has done with their XMPP implementation.
“Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." -- Jamie Zawinski
Unless your name is actually "Facebook Chat", of course.
I have friends in multiple groups.