Of Google Talk, Jabber/XMPP, and putting a candle in the window
The Google Blog has a quick rundown on their new Open Federation initiative for Google Talk, which -- as a user and a geek -- is starting to get me seriously excited as well as amused.
Admittedly some of the amused part comes from nugget-san having spent a bunch of time wiggling around in the service and getting it working and learning that Google Talk has apparently been queuing up all the authorization requests that users have attempted since they went live last August. Since he's posted about these types of things before, once the servers went hot he got over three dozen authorization requests from poor souls who now had no idea who he was, leading to his day being littered with random, "Hey, who are you?" messages from GTalk users.
It's also a little weird to hear an engineer nonchalantly mention "flipping the switch" on a network of that size, but not bad-weird, and I've been meaning to talk about Jabber a bit...
Years ago I used to chat via IRC and MUDs (EOTL -- w00t) and such with friends, and then chat rooms on the net were born and it became a lot easier to talk to people from wherever they were -- especially not those especially technically inclined. Then I got sucked into instant messaging, and over time started to find I was doing more and more with it, especially as spam started to make my actual inbox more of a chore. However, I kept getting annoyed as I tried to integrate it further into my workflow...
- As a user, I had to be on
xservice to talk toxperson. If I was onxservice and wanted to talk toyperson, I had to get them onto servicexor fire up serviceymyself -- assuming it was available in a decent fashion on my platform of choice. This meant I'd end up with an AIM, ICQ, Yahoo, and MSN client all running. They all sucked up their own resources, and I kept having to switch between them depending on who was talking at me, let alone screen and Dock real estate issues. - It peeved me that different services have these arbitrary limits set on how many people I can have in my list because it quickly became one of the limiting factors in actually making it a larger part of my workflow. I originally thought of maxed-out buddy lists as girls flaunting their boobies on webcams in forums, but then I started smacking the walls. I don't talk to them all every day or even every week or every month, but when I need to talk to them I need to know who's available and getting the message that my list is full means I have to decide who now won't be instantly available.
To be fair, each person in a buddy list has to be stored on the server and then manipulated for use, which was happening on the service's dime.
xkilobytes or something might not seem extreme until you start multiplying it by millions of users. As a user, the simple solution seemed to be:- If my needs are so above the moving average, let me pay something to pay make up for it.
- Allow me to foot the dime on my own. Many people on the net started out with free email accounts, and then decided they needed more than what was being offered in terms of storage or max length. Let me setup my own with a few hundred megs, so I can go away for a week and people can drop as many offline messages as they want and I can have as many people on it as I want.
Yeah, wasn't going to happen.
- It so peeved me that nothing worked quite the same from service to service, even if it can seem a little strange to be griping about competitive advantages. Yahoo had offline messaging, as did ICQ, but AIM didn't. Each had different headroom in terms of contact lists, and outside of a few all had different lexicon for emoticons. It's a small amount of headspace that has to be devoted to keeping track of it, but you still did, and it was still annoying.
- I'm so sick of saying, "I'm
won AIM andxon Yahoo andyon MSN andzon Google Talk andfon ICQ," and it's equally annoying getting all of those things from someone else.
Fairly basic stuff, and like I said, it's from a user point of view where I want messages being sent to an identity and not what particular client I happen to be logged into that's tickling the server right then and there. I'm not 5 people, I'm one person (Ok, perhaps two but that's too weird to think about this early) and as a user I want that consolidated, just as I don't want to deal with multiple address books on various computers. This isn't about what the services want, although you have to take it into account to know what has to occur to get there -- it's about what the user wants.
[1] was solved by the various ilk of multi-protocol chat clients, but that still left the rest, and when I'd mention some of this around, I got pointed towards Jabber, which is based upon XML. It didn't take long to realize that Jabber kinda blew (I'd dropped down the rabbit hole on XMPP versus SIMPLE and such at the time) because if you dropped onto the mailing lists there'd be much furor over everything except the fact that no one was using it outside of specialized areas.
Things I kept encountering while pinging around, which are worth taking with a grain of salt because they're from awhile ago and may or may not be applicable today and who knows, may have not been the whole picture back in the day:
- Someone joked to me that Jabber was a massive general purpose notification system for routing events via XML that happened to have a few bylines in the protocol that made it useful for instant messaging. It gets compared to Growl often for a reason. Whether fairly or unfairly, this rubbed a lot of people the wrong way and turned a lot of devs off of it. It can be a big thing to wrap your head around for a someone just wanting to whip up cool IM stuff.*
- There were a ton of complaints at the time that the spec was... under-specc'd and vague in areas it shouldn't have been vague in for things people really wanted to do, especially those who wanted to "bring it" when it came to competing to the existing chat services. When that happens, and people are looking at getting on board, you start to invite competition where it doesn't necessarily need to occur and lots of treading water that doesn't need to occur -- see RSS versus Atom.*
- *There's a certain pink noise that comes when you're just pinging around regarding technologies people feel strongly one way or another about, whether they've really used them or not, so take the above with a grain of salt as I was about to give up. For ever person I talked to going on about how the spec wasn't xyz, another was going on about how the whole thing was way too bloated with too much overhead and why the hell can't they just send a damn UDP packet.
- A lot of the implementations at the time kinda sucked, and maybe still have real issues -- I haven't poked in awhile. Realize that Jabber/XMPP is a protocol solution, you're free to code up your own clients and your own servers, all with varying degrees of features and bugs. At the time, they were generally short on features and long on bugs.
I had seriously un-fun experiences with the server, made better by when I was playing with ejabberd, but even there I'd find an error message in the logs and couldn't for the life of me find it within any of the docs, but at least I got it going without overt weirdness -- although seeing the passwords stored directly on the server rather than say, a hash with the cleartext transmitted over encryption from the client to authenticate against it, wigged me the hell out because there had to be a great reason for why but for the life of me it seemed insane. That left the clients, and.. it wasn't pretty.
- 95% of the current people who have heard the term Jabber in relation to instant messaging did so when they heard about GTalk or Apple adding support for it within iChat. Its public awareness was a rounding error -- I heard weird asia-specific protocols coming up more often from general users than Jabber.
Not a good situation: Few people I knew used Jabber, and if I made them aware of it and urged them to pick up a Jabber ID all the clients they'd need to use would kinda suck in comparison to the other services, let alone the features, and they would have the same problem convincing their friends. I was having to do way too much explaining on how they could actually register and get a jabber account.
It may seem like I'm bashing the state of where things were, but it wasn't so much the current state of things at the time as how little was being seen to fix them from the outside. Jabber was going to conquer the world, but it felt as though the people on the lists just sort of assumed it'd happen magically one day once people realized the greatness of it.
I encountered some lone screamers in the process of losing their voice, but the fact that no one was actually using it, let alone why and what might change that, didn't seem to be of all that much consequence.
Jabber just gave me that vibe of those Really Cool Things that are right around the corner, but end up being DOA because they never quite get the traction and eventually something comes along that rhymes with what the original Really Cool Thing and cuts off its growth path. It doesn't matter if one acorn hits the ground before the other, if the other happens to get all the sunlight and water it'll choke the first, and the reality of using it as a user, for most users, wasn't anywhere near where the hype was saying it was going to be and progress was hard to see from the outside.
Bygones, as sometimes if you build it, they do come.
Probably the biggest thing people have to wrap their heads around when it comes to Jabber (or earlier services which I'm sure inspired Jabber) versus the traditional instant messaging that we're used to is centralized versus distributed. I covered some of the basics of this (as well as things like NAT traversal) back in the "Will iChat AV stay peer-to-peer, or moving server-side" section back in iChat AV Bittage.
As a cliffnotes version, something like AIM or Yahoo or MSN is decidedly centralized. You pick a service name which is lodged in their servers, and you fire up a chat client which then communicates through them. If you read the linked entry you'll see there may be some peer-to-peer stuff going on when you hit file transfer or A/V functionality on the servers, but I don't want to confuse the issue too much -- it's centralized.
With Jabber, you start out with a JID, with the format of:
username@host/resource
This could be something akin to drunkenbatman@myjabber.net, but it could also be something akin to drunkenbatman@mac.com (both are examples only). Where it becomes distributed is that while there are... mainstay... servers you can default to login to, you could just go ahead and setup your own server with your own host outside of myjabber.net or mac.com, and if you chose, it could communicate as a node on the larger system, aka IM cloud.
Many people were already doing this with Mac OS 10.4 Server, because it came with a Jabber server and iChat in Tiger allowed one to use Jabber -- set it up, have your mates and coworkers all point it towards the server, and you had your own private IM server, but if you wanted it could join the cloud and send messages to anyone with a JID that's not cut themselves off from the cloud -- if they aren't online, it just gets stored until they are, or forwarded to where they want it to go. You may have noticed the /resource part of the JID above, which actually allows a user to setup something akin to:
drunkenbatman@myjabber.net/home
drunkenbatman@myjabber.net/bubblebath
drunkenbatman@myjabber.net/mobile
Most of the time the resource stuff would be transparent to the other user unless they specified, but with priorities it gets Uber and allows you to be logged in on the same node on the same JID. It can start to get complex, but for the most part with well-designed interfaces it's abstracted and you'll just get the functionality you want.
You may have noticed it's remarkably similar to email, but email lacks presence -- for instant messaging you don't want to just fire off messages and know they'll get to the individual at some point, you also want to know to know whether they're online right now and will get them: presence.
With the centralized services, your buddy list is stored on their servers -- for Jabber it's the same thing, except each server has its own user list, and each user has a roster. Your roster is what'd you'd consider your buddy list, and while it's accessible from other servers if you need to login to them, it's easily movable from one to the other, although you have to reauthorize your contacts -- otherwise anyone could add anyone they liked by modifying and moving their roster.
If you add someone's name to your list, a presence subscription handshake occurs. Think of this like Yahoo Messenger or MSN, where you get a notification that someone would like to add you and you can authorize or decline. If you are both on the same server, this all happens internally, however I could be on one and you could be on a more public server, and they'd connect via the cloud and do what they need to do.
Once the magic has been worked and they're in your roster, the servers automatically take care of everything for you -- when you login with your client, your server communicates to the servers it needs to through the cloud to know who is online and who isn't, and vice-versa if someone on another server has you in their roster. Again, if it's internal, it just queries itself. There are obviously pro's and con's to a centralized versus distributed approach, as there is to everything, but once it's all setup the convenience to the user is dramatic even with say, chatter.
To wrap back around to the original link, as this should now make sense, the big deal is that Google has now connected Google Talk to the cloud. But wait you say, people were already using iChat to talk to GTalk?
Well they were, but that was different, and it was long enough ago that most people forget they had to go sign up for an ID or use their current account, because not a lot of Mac users -- or anyone for that matter -- have gravitated towards Google Talk yet because it doesn't really do a whole lot the other services don't. You could use iChat or any of the multi-protocol clients that supported Jabber to connect to Google Talk, however you did so with an actual GTalk login and you had to specifically enter Google's Jabber server addresses.
Now that they've flipped the switch and connected to the cloud, you can connect to them -- and by extension their users -- from your own Jabber server. It doesn't mean it'll be perfect as not all servers support the same things, let alone client-side features, but it's a big step.
There are other aspects to Jabber/XMPP, like gateways and transports which are just as cool as what I glossed over, especially once they're abstracted from the user. If you're on something like a Jabber server and want to talk to someone on an MSN client, your problems are:
- MSN has its own chat servers, which aren't directly talking to any Jabber servers or recognizing your Jabber ID.
- Jabber talks XML, while other services use their own formats.
Transports, or gateways, take care of this by basically being conduits you can install within your server -- or tap into a publicly available one -- which tunnels the traffic where it needs to go and converts what you're sending into something the other service can understand and work with. As a good example, because iChat now talks Jabber, it's not difficult to set it up so that -- if you have an MSN account -- tunnel through a transport and use iChat to talk on MSN. It's not "native", but it works, and transports can be used for all sorts of things.
If you're behind a firewall, it can go out over HTTP and -- wait for it -- even use AJAX between the clients for chatting, so it keeps the connection open instead of polling back and forth. It's totally web 2.0, and we're very much just still scraping the protocol level. Because it's just a protocol, a specification to be implemented, you can get highly creative on the server side for how you handle things, just like different web browsers use entirely different engines to render HTML/DOM. It's not extraordinarily difficult to setup a fault-tolerant cluster of machines for your Jabber domain, so that if one goes down everything is fine.
It's just so cool, but really, it's still not worth much to a Normal.
You know an IM service sucks when websites exist to connect people who want to actually use it. iChat AV is a good example, as I remember well when the iSight first came out and all these Mac users were on the mailing lists asking if random strangers with an iSight would connect to them to actually use it.
Then -- and I swear to god -- iChat AV directory websites popped up to fill the need for Mac users who had bought one yet had no one to chat with. Sure, it kinda-sorta worked with AOL's official AIM client for awhile, but it never really worked, and it's dead for the Triton release -- and yes, there are directory websites out there for Jabber users who want to talk.
Sucks may peeve some people, but it doesn't matter if your cell phone is twice as thin as a RAZR if it only connects to other RAZR's, but you need to talk to the rest of the world. Very neat tech, but a seriously-sucky solution, as this is the old network effect in action -- the more people you can connect to with a device the more valuable it becomes. If there's a phone out there that's twice as thick as the RAZR, but connects to everything, it may be boring tech but it's a comparatively great solution.
There are actually millions of Jabber users out there, probably tens of millions now, however you rarely really encounter them in general life. If you're a corporation or an institution, and decide you want instant messaging internally, you often either have a choice of one of the Triumvirate's enterprise solutions or something akin to Jabber.
It's doing well there -- quite a bit of cash can be turned over for Jabber solutions and their support. However the key is internal solutions, as in most cases half the point is that the worker bees aren't meant to be talking outside of the network -- average people don't go home and use Jabber. Google is the current hostess with the mostess, but Google Talk hasn't exactly bumped up the Jabber protocol's share in the general populace up from a rounding error in any way.
You might be surprised at the amount of Google employees who are, or rather aren't, using it -- even for internal communication. Google employees aren't pod people that were hatched this year, and brought their own lives and contacts with them -- as a casual example, consider the freaky percentage of ex-AOL employees at Google, that they still talk to their former coworkers, that they had been using their former company's service for years, and on the whole AIM isn't generally short on features that Google Talk happens to be offering. The network effect is strong.
I wouldn't say that I've been waxing poetic in this post, but I think it'd be fair to say I was rubbing the promise shiny more than what is the current reality. This magically delicious communication epoxy doesn't necessarily have all the pieces where you'd want them to be -- it's a protocol after all.
Adoption is easily the longest-term problem for Jabber in general, but there is a hell of a lot of work to be done on all fronts. I've heard getting some of the more advanced features in Mac OS 10.4's Jabber server can be problematic to say the least, and even in things like iChat I noticed if a transport disconnects it doesn't automatically notice it -- you have to specifically disconnect and reconnect. Then there are a bunch of different flavors of Jabber servers running around with different levels of feature support, and it isn't as though Google Talk doesn't have its share of bugs.
There are a ton of things that could use work, but my goal isn't to hammer on it but rather to concrete the idea that even if everyone in the world was wanting to switch over tomorrow, they'd probably be in for a rude awakening. As would we, because we'd be the ones hearing them bitch about missing features and buggy implementations -- but these are all things that can be worked out with the sweat and sleepless nights of coders, as adoption really will be the long-term problem.
The network effect is strong, let alone plain old user inertia, which is where something has to be pretty compelling to get you to move away from what you know works and is fast becoming a commodity (except for voice over IP, but that's a whole different post). I know people that have never used anything but MSN Messenger -- it came with their computer and just about everyone they know has an MSN account. That's going to be hard for anyone to overcome, let alone millions upon millions use Yahoo or AIM exclusively because it's just what they know.
The current weird situation can't last forever, just as it didn't last forever back in the days of internet services. At some point it's just going to make fiscal sense for the more centralized IM parties to cede the lower layer and try to focus on other revenue avenues atop them. However, with the current rate of traction, it's going to be one long, slow slog towards adoption, excepting:
- Someone buys entry into the market with one of the currently larger services, and rather than settling in as the overlord, asks the others to interoperate.
- Some other catalyst is able to raise Jabber/XMPP's userbase to a critical mass, slowly putting pressure on the more centralized services to change their game and interoperate.
Someone like Apple Computer might come to mind as a catalyst, as they have a small yet sizable base they're good at leading by the horn, but it isn't as though their base isn't also affected by the network effect. Linux comes to mind, but if we're going to wait for it to get a critical mass of desktop share for it to affect the outcome we're in for way longer than I want to wait -- we've already been waiting for far, far too long.
Ah, well. Sometimes when you build it, they really do come.
So there's that.
Comments (20)
Posted by: at January 19, 2006 11:09 AM
Rosters? XMPP? Resources? It was far too technical, and you fail to say why your average user would care about these features. MSN already forwards to my RAZR.
Posted by: PHTB at January 19, 2006 11:26 AM
Give it one year, db. Once AOL and GoogleTalk bridge things will change. :-)
Posted by: Skatch at January 19, 2006 12:39 PM
Yeah, I echo PHTB's thoughts. Why did you overlook the Google/AOL deal? In my mind that is surely the catalyst which will prompt Jabber to pick up the pace of spreading. Once AOL is on board, all of a sudden Jabber will be used by at least 1/3rd of IMers. And that is the kind of market share where the network effect starts working to its advantage, and there will start to be pressure on the other IM services to interoperate.
Finally some hope in the IM world...
Posted by: TarousZars at January 19, 2006 01:36 PM
I gotta thirdly agree on the AOL Google deal. But only because Google has opened up to the rest of the cloud. If they hadn't done that the Deal would mean nothing. If Google Talk starts working with AIM then Jabber is a long way towards critical mass.
Posted by: Wevah at January 19, 2006 02:58 PM
It's public awareness => Its public awareness?
"It's" is correct here. :)
Posted by: Wevah at January 19, 2006 02:59 PM
Oh wait, no it's not. D'oh. That'll teach me to skim TFP and comment (like a smartass) before getting my coffee.
Posted by: at January 19, 2006 10:18 PM
I thought he was talking about Google and AOL with this part,
"Someone buys entry into the market with one of the currently larger services, and rather than settling in as the overlord, asks the others to interoperate."
Is there anything stopping Google and AOL from talking to each other but excluding Microsoft and Yahoo?
Posted by: Seun at January 20, 2006 02:05 AM
When you use these titles, do you think you could list where they are from at the end of the article?
Posted by: Mac-arena the Bored Zo at January 20, 2006 02:17 AM
one paragraph to correct:
You might be surprised at the amount of Google employees themselves are, or rather aren't, using it -- even for internal communication. Google employees aren't pod people that were hatched this year, and brought their own lives and contacts with them -- as a casual example, consider the freaky percentage of ex-AOL employees at Google, that they still talk to their former coworker, had they had been using that service for years and on the whole they aren't generally short on features that Google Talk happens to be offering. The network effect is strong.
- s/themselves/& who/
- s/and/they/
- s/that they still/who/
- s/coworker/&s/
- s/had they/and/
- s/that service/AIM/
- s/on the whole they aren't/know that on the whole it isn't/
that last one might be wrong, because I couldn't make too much sense of it, and basically guessed.
I know this comment sounds negative, and I hate that about it — this was a good post, except for that one paragraph. it's the whole proportion thing, I guess. 100% of this comment's content is about that paragraph, so the comment seems negative, even though it only focuses on one relatively-small part of the post.
Posted by: Mindflayer at January 20, 2006 02:56 AM
Whoa. Come on, DB, you knew I would comment. Some heads-up would have been nice.
You are correct about costs. It's non-trivial to run an IM complex, whether you are Microsoft, AOL, Yahoo! or Google. Whatever infrastructure you use, it's not cheap. That's one thing that annoys me about these sidewalk pundits - they have no experience in real costs. Maybe your blog posting will enlighten some people.
I have not tested with anyone running Triton, but I have gotten AIM and iChat to work reliably. I found some of the problem is within Windows. Aggravating to set up, but working fine now.
AOL and Google. The bridge was part of the deal. AOL has done it before with ICQ. Work was probably done with other IM complexes (see SIP).
VOIP - that's the big game now. AIM and ICQ had VOIP long, long ago, but they were not slick offerings. Now that Skype - and even newer, Gizmo - have entered the market with easy-to-use and slick-looking offerings, AOL, Microsoft, and Yahoo will have to compete. Let's assume AOL/Google will ride the XMPP rocket, and unite that with Gizmo. Not an unsafe assumption. That opens up a huge market. Now, say AOL or Microsoft snarf up a deal with ebay/Skype. Suddenly, it's a red hot game again. Instant messaging is a commodity of static social networks, just as you allude. Voice over IP - now that's a new game. I can guarantee you that Vista has the hooks. The other players need to get in the game now.
Last - advertising and costs. See 1st point - networks cost. There will be some revenue from charging customers a fee, either monthly a lá Vonage and TotalTalk, or via connection, a lá Skype. That's not where I see the lion's share of the revenue, though. It's going to be ads and directed services. This is going to be another hot fight.
That all said, the Herradura is not killing my pain. I am off to bed.
Posted by: Skatch at January 20, 2006 09:39 AM
Yes, 2-3 years is still a long way off. But it's a lot closer than never, which, as you rightly said, was where Jabber was headed before Google got in the game. Changes of this type take time. People like you and me would like them to happen within a matter of weeks, but unfortunately we have to deal with the reality that the vast majority of people don't know/care about these issues. Considering that, if the entire IM and VoIP market has converted to one big interoperable love-fest in just 2 years, I will be happy.
Posted by: Peter da Silva at January 20, 2006 11:59 AM
Speaking of IM... I don't tend to use IM, I prefer email, but I've occasionally got reason to send an IM alert out and I keep running into this...
What's the IM equivalent of «echo "Your britches are burning - $program got error $code" | Mail -s "Britches error" $administrator»? Every command line IM tool I've found so far requires having your GUI IM client open all the time and sending requests to it from a remote-control program or script. Which is really Not An Option for a server.
Posted by: Mindflayer at January 20, 2006 04:52 PM
Pete:
There are command line tools for AIM and ICQ. Well, were, until TOC got shut down. I think there are quite a few for jabber, though. I like GUI.
Posted by: Peter da Silva at January 20, 2006 05:45 PM
I like GUI too, or I wouldn't be bothering with the shortcomings of OS X, I'd stick with FreeBSD... which is more reliable, more stable, more robust, faster, cheaper, and has a cool mascot.
But There Ain't No Perfect Interface (TANPI), and trying to do everything in the GUI sucks dirty swamp water through a clogged oil filter. I've always got at least 4 Terminal windows open, and use IceCoffee to let me double-click on URLs and open them in my browser (I used to use Services for that, before Safari hijacked Open URL... thanks a lot, Steve, if I wanted Safari to be my default browser I'd make it the default browser), and do things like dragging files to Terminal from Finder to edit them in "vi" (oh, yeh, I deleted vim and put nvi back, thanks again, Steve, I've been using vi for 25 years and if I wanted vim instead I know where to get it), and... on and on and on. Command Line and GUI, two great tastes that taste great together, and OS X does that better than anything except maybe Plan 9 and... well... Plan 9 makes BeOS look like a market leader. :)
Plus, I'm not always logged in, so what do I do if I want to send an IM from a CGI?
Posted by: pat at January 22, 2006 08:07 PM
What are the details of the Google/AOL deal? I would bet that they allow connections between users of the two services, but that doesn't necessarily mean that Google will act as a gateway to AOL for other Jabber users.
I seriously doubt that will happen since it just doesn't make sense to me. If AOL wanted to allow open federation the technical hurdles would, no doubt, be minor.
It doesn't even make sense technically to think that Google would act as a gateway unless you wanted to name all your AOL contacts person @ aol dot google dot com. Except with dots. (Damn spam filters) Not pretty at all.
Though having at least one major service that is open might make me finally setup my own server.
I may be mistaken but I think I read (can't find it now) that google talk's federation uses a reverse-DNS feature to verify ip addresses. If so what does that mean for a server (like mine) that uses a dynamic DNS service? In my case a reverse-DNS of my IP address resolves to cpe-66-67-237-79.rochester.res.rr.com, which is a little longer than I'd hoped. :)
Posted by: Jeff R at January 25, 2006 12:23 AM
DB, thanks for distilling the Jabber/XMPP landscape. I've wanted to know more about this for awhile, but never had the time. Now I have a reference point to digest more info on this stuff. Thanks for sharing the knowledge.
Posted by: sandr at January 26, 2006 01:29 PM
@pat: dynamic dns works great here with Google, the same way as it was working before (all publi servers do Dialback).
Posted by: puck at February 8, 2006 06:53 PM
Someone commented about resources being too complicated. I dunno, I've written a proof-of-concept which will route my incoming phone calls based on my Jabber/GTalk presence information.
I also can check the resource. So if I'm logged into Jabber at home my phone calls can go to my home telephone. If I'm logged in at work, they go to my desk phone.
Posted by: Fernando Medina at March 1, 2006 02:16 PM
For those wondering about jabber command line tools, I use perl jabber libraries to send alerts to jabber clients when problems arise. No need to jabber gui, just a perl script logging into jabber server and sending jabber message.








It's can be a big thing => It can be a big thing?
It's public awareness => Its public awareness?
"it's" is the bane of western civilisation.