Instant Messaging (IM) is the process of sending other people on the internet short notes, so one can hold a conversation online.
Instant messaging tools use specific networks, like AOL Instant Messenger (AIM), ICQ, Yahoo!, MSN Chat, and Jabber. Using a client you connect to one of these networks in order to "chat" with others who are logged into the same network. Originally these networks used typed text to "chat" but some of these networks now allow voice and video "chatting".
IM differs from Internet Relay Chat (IRC) mainly in the way that people use it. IM was implemented mainly so that internet users could "instantly" and easily talk to someone, somewhat like picking up a phone and calling the person. IRC is typically more reminiscent of going to a coffee shop and "hanging out".
IM first took off as a general Internet tool when ICQ released their first client. This was mainly a copy of AOL's internal chat network. Soon after AOL released a general internet chat client, AIM, which would allow anyone with internet access to chat with anyone else on the AIM network, including AOL's paid subscribers. Eventually Yahoo! and MSN as well as other 3rd party companies joined in.
- Pidgin is a very successful, popular and featureful multi-protocol client
- aMSN is an excellent MSN client
- Kopete is a multi-protocol chat client
- Bitlbee is a chat to irc proxy, essentially, AIM/IM from ""any"" irc client
- Centericq is a scriptable text-mode ICQ/Yahoo/AIM/IRC client
- Tessa IM is a new IM client, still in alpha->beta stage, that promises to be just as good as Miranda. Worth keeping an eye on.
Of course, if you're feeling adventurous, you can install a (public) Jabber server. A Jabber server can relay messages from one instant messaging system to another. These mechanisms are called transports. Using your own Jabber server, you can use your favorite Jabber client to connect to any service (whether it is ICQ, AIM, MSN or Jabber) you want. You won't need a multi-protocol client.