I've worked from home for many years. When I need to quickly get a hold of a colleague, I turn to my trusty instant messaging client, Miranda IM. I've been using Miranda for over five years, mainly because of how customisable it is. Thanks to Miranda's advanced plugin systems, I was able to make it into instant messaging client of my dreams.
Miranda lets you customise just about anything, starting from the small things, such as fonts used in for message display, all the way to swapping out entire parts of the application, such as changing the list into a completely different software component, that looks and works differently than the one bundled with Miranda by default. You can also add new functionality, such as semi-transparent popups that show the contents of incoming messages before you even open them or intelligent contact status change notifications.
Some would say this is also Miranda's biggest drawback: it can take a long time to configure, and its sprawling options dialog can be frustrating to navigate. If you're looking to change one specific setting, you may often find yourself rummaging through the dialog for several minutes before you manage to track down the specific checkbox or radio button you're after. If you prefer a simpler multi-protocol IM client, check out Trillian or Pidgin, two excellent alternatives.
Once you get Miranda to work the way you want it to, it is a joy to use. For me, this means I get to see all of my contacts from ICQ, Google Talk, MSN and an internal Jabber server my company uses. I can filter them by protocol, enjoy a beautiful contact list, get visual and audio notifications that never annoy me, all without having to see a single banner ad.
There are dozens of skins available for the different contacts list plugins, as well as protocol icon schemes and sets of notification sounds. And if you like shortcut keys, Miranda has plenty of those, too.
It may seem like a hassle to spend so much time configuring an app, but your dream configuration can remain in place and serve you indefinitely. It took me months of on-and-off tweaking to get Miranda just so, and that was years ago. Since that time, I haven't felt the need to customise it, or even update it for that matter. It just works.
Speaking of updates, this is one of Miranda's weak points. We are trained by companies like Microsoft to implicitly trust software updates. We know our applications are going to work better, faster or be more bug free after an update. Unfortunately, for Miranda, this is not always the case: Some updates have been known to break the application in all sorts of unpredictable and annoying ways. For example, you may find yourself unable to connect to one of your networks after a software update.
This is unfortunate, but that's how it is. So my advice to you would be that once you achieve nirvana with Miranda, you should probably stop updating it, at least for a while. I haven't updated my own production copy of Miranda for over a year (until this morning), and it worked just fine. If it isn't broken, I see no reason to fix it.
If you are usually happy with the default IM clients, and use just one protocol for most of the time, Miranda may not be right for you. But if you use multiple protocols all day long, and are particular about how your applications should look and feel, set aside an hour or two, download Miranda and configure it to your liking. Chances are you will never look back.