Like HowStuffWorks on Facebook!

How All-in-one Instant Messenger Works


All-in-one Instant Messenger Technology

Each instant messaging service uses a protocol that defines how your client should authenticate with service's servers, and how it should exchange information between clients. All-in-one instant messengers can connect to two or more of these protocols using a single user interface. Plus, they can often manage multiple connections to each protocol.

The technology in an all-in-one instant messenger controls both your user interface and your connections to each instant message protocol. Each one includes some way to keep track of the profiles you add, such as saving this information in a user profile or configuration file on your computer. Besides maintaining this and other common features, developers for all-in-one instant messengers have to decide how to keep up with the latest updates to each protocol.

So what does the all-in-one instant messenger need to know to use each protocol? First, it needs to know the data types that the protocol handles, and how the service expects that data to be encoded. Second, it needs to know how to recognize a packet associated with that protocol, which involves frame types and headers used in TCP/IP networks. Finally, it needs to know the application programming interface (API) that directs the server and clients for that protocol.

Some businesses behind some proprietary instant message protocols have tried to limit use of those protocols to their own client applications. They have refused to publish the data type, packet or API information about their protocols. However, enthusiastic developers have found ways to capture each protocol's packets from network traffic, study the data, and reverse-engineer the protocol. With this information, they've added each protocol in their own instant message clients.

With growth in the open source movement, some companies have opened up the API for their instant message protocols, making it easier for them to keep up with ongoing changes. For example, AOL opened its OSCAR protocol as part of its Open AIM 2.0 Developer Program in March 2008 [source: AOL]. OSCAR is the protocol currently used by AOL Instant Messenger (AIM) and ICQ.

Even if an all-in-one instant messenger connects to a protocol, application developers have a choice of whether to implement all the features of that protocol. For example, all-in-one messenger Pidgin connects to AIM, Yahoo! Messenger, GoogleTalk and other protocols that include video chat in their native clients, but its version 2.6 only implements video chat in the GoogleTalk protocol.


More to Explore