Instant Messenging - Setting up your own server...
Instant messenger has a bit of a strange existence. Similar to texting on mobile phones, many consider it as a bit of a joke or a toy application associating it with kids chatting online about their favorite pop groups. However as with text messenging dismissing IM in this way could mean you miss out on many opportunities.
Just recently I needed tech support from a company whose hardware driver I was having problems with. There was nothing on their knowledge-base, Google didn't know the answer and I really couldn't be bothered to sit through their on hold music. Just as I was about to give up I noticed they had an online help button, I clicked it and got a Java applet which opened an IM session. It turned out to be a very useful tool. I pasted the support team the errors, they pasted me some links with information and eventually we resolved the problem. I would go as far to say it was more effective than what I could have done with a phone call!
It doesn't end there either. One company I worked for (which was split across multiple offices) treated IM as a very serious practical application. Not only was it cheaper and more convenient than using the phone but if the recipient wasn't at their desk (which they often weren't) a message could be left which would be dealt with/responded to on their return.
All IM systems are not the same
IM systems come in many different flavors, often incompatible with each other and often with a variety of extra features ranging from voice coms to whiteboards. Most people have heard of the mainstream systems such as MSN, AIM and Yahoo but not many people have heard of one very important alternative system called Jabber.
Jabber is important for one simple reason; it is open. Unlike the other protocols which require you to use their provided servers and proprietry clients, anybody can pick up the Jabber protocol and write a server or client for it. I know I know, before you say it, there are many alternative clients such as Pidgin and Trillian which have already reverse engineered many of the existing protocols but remember you will still have to use the servers provided by the company running the protocol which for various reasons could be exactly what you don't want.
For example if I were a running a business that dealt with confidential information would I want my staff using MSN to communicate between themselves? Of course not! Not only will all that discussion be going over the Internet, possibly unencrypted but its going through someone else's servers that could be doing who knows what with it. With Jabber you can download and run your own server and isolate it totaly from the Internet if you wanted to, that way you know your staffs conversations are secure.
Setting up your own instant messenging server
Sometimes, just sometimes, I side with the 'trust no one' brigade and in this case for piece of mind and also for the challenge I decided to set up my own instant messenging server.
After creating a huge list of all the open source Jabber servers out there using various sources such as Wikipedia's list of Jabber server software, the Open-souce XMPP server comparison chart, the Jabber Servers list on jabber.org and of course Google; I went about narrowing it down based on features, how it works, screenshots and of course opinions I had read in various forums and blogs.
It was a tough job but eventually I got it down to three of four servers, one of which I kept coming back to. A couple of times I almost dismissed it as it was written in Java (and as some of you may know I'm not a fan of Java) however from what I had seen and read I had to check it out, so download it I did.
The server in question was OpenFire and I tell you what, I'm glad I did download it. I've used a couple of Jabber servers in the past and none can compare to this. Not only does it support more Jabber features than any other Jabber server but its breathtakingly easy to set up and administrate, I recommend it to anyone. Check out these screenshots and you can see its not much harder to use than your average ADSL router.
One other thing which is also nice about OpenFire is if you wish you can use your existing database server as a back end. In my case I used MySQL but it also supports Oracle, Microsoft SQLserver, PostgreSQL, DB2 and HSQLDB. I cant speak for the other databases but the MySQL integration was very smooth and effortless to set up.
I was considering creating an article/blog on how to get up and running with Openfire but to be honest I dont think I need to its that easy!
One of the great things about open protocols is you also get lots of clients. As with the servers I could have made a huge list to choose from using sources such as Wikipedia's list of Jabber client software, Wikipedias comparison of instant messenging clients or the Jabber clients list on jabber.org but in this case I didn't, I just carried on using the client I had been using for years. It works with just about every protocol in existance, is very customizable, is free, has hundreds of plugins and themes and does exactly what I want. The client is MirandaIM.
Of course everyone has their favorite client, a lot of people I know use GAIM which is now called Pidgin. One of the joys of Jabber is you have the freedom to choose from a HUGE list and if you are currently already using a multi protocol client you will probably find it's Jabber compatible. If not take a look at the links I sent above, theres plenty to choose from...
Login to leave a comment...
By logging in you consent to allowing us to store a cookie on your machine which contains a unique encrypted reference to identify you to our servers.