4 ms·
classic problem. xmpp was designed for this, but we've found it non-trivial (not rocket science either, but non-trivial) to setup/use. ejabberd is solid once it
by jvaleski 18y ago
classic problem. xmpp was designed for this, but we've found it non-trivial (not rocket science either, but non-trivial) to setup/use. ejabberd is solid once it's up and running, but it's a black box once it's going (with exception of some logging).
IM is one of those things that once you start, you'll be endlessly piling on features. sure you can bootstrap IM with what you've got, but think about adding presence, file transfer, status/away messages, rostering, roster add/remove permissions/confirmation/approval.
I helped define the product spec for me.dium's sidebar and associated IM client/roster. massive time-sink, but, IM was core to the experience.
challenge is everyone's expectations around IM these days are defined by Adium, and AOL IM clients, and those are very feature rich products that have taken years to build/get right. that's what you're up against if you start building your own. xmpp tries to bridge that gap.
I'd make very sure you want to walk down this path at all. After doing that, if the answer is yes, then I think you should leverage xmpp and bit the bullets that it winds up firing at you; rather those then reinventing the wheel. you might want to look at openfire as well, and cisco/jabber.com can sell you hardened clustering solutions if/when you need them.
I'm now at http://gnipcentral.com http://gnipcentral.com and we do xmpp for message routing (not IM). we've been using ejabberd for awhile (in a very limited manner).
haven't looked at meebo's community IM thing, but that sounds like it might be spot on.
- metajack 18y agoSpeaking of Adium, they will bend over backwards to support a proprietary chat system from a huge site like Facebook, but they are not going to add support for arbitrary startup's creations. Using XMPP allows your users flexibility in how they access your service. If Adium is how they choose to stay connected, then great. Sites like Identi.ca have XMPP interfaces for precisely this reason, and it didn't take long for Twhirl and others to add support for Identi.ca since it was well documented (via XMPP standard) and easy to do.