The internet has revolutionized the way we communicate with each other. The most popular medium of communication was E-mail. Now, billions of people communicate through e-mail.
But, at most of the times this service isn’t fast enough, you don’t know the person you are messaging is online or not. These are the times when services like “WhatsApp” or “Hike” or similar comes in to place.
With Instant Messaging(IM), you can message anybody who is “online” at that time. Let’s take a deep tour to the instant messaging history.
“The History”: Before the explosion of Internet, lot of people enjoying some amazing services such as America Online(AOL), Prodigy and CompuServe. These were the main services that helped people to stay connected.In the early 1990’s, some awesome creative designers created chat room software. A chat room is basically a “room” in which people can type in messages that can be seen by everybody in the room.
This software application used a client software that resides on your machine and communicates with a central server. AOL actually considered as the “Pioneer” in Instant Messaging service. AOL acquired Mirabilis and ICQ in 1998. ICQ instant messaging platform formed the basis for most of the instant messaging platform today.
In the past few years, AOL domination on the messaging service platform has somewhat faded with a number of services such as Windows Live Messenger, Yahoo! Messenger and the widely used Google Talk. From 2005 onwards, the so called “App” market dominated the messaging services with amazing apps such as “WhatsApp“, “Hike“, “Viber“, “TextNow” and “Snapchat” etc. in which you can send audios, videos, can share links, share contacts or even make video and edit them accordingly like in Snapchat. Some of them uses Proprietary protocols that blocked users from contacting other services.
Multi-protocol Proprietary applications also flooded the market which allow users to IM multiple users at once such as Pidgin.
How Instant Messaging Works: Here explains what happens when you connect to an IM service:
• You go to the “App” store or some download page to download your client software.
• You install the software and open your downloaded client.
• Client tries to connect to a “Central” Directory server using a Proprietary protocol or open source protocol.
• Once you are connected to the server, you logged as your username or password. Client lets you to sign-up if you are the first time user.
• The client sends your connection information, normally your IP address and Ports that your client are currently using to communicate.
• The server creates a temporary to list you and your “buddies” that are currently on your contact list. It then checks to see if anyone on your list is online or not.
• The server changes your status to “online”, so that your contacts know that you are logged in. It also updates your list so that you can see who is online on your list and send that information to the client.
• When client gets the information of the contacts that are currently online, it updates there status to online and you can chat with them in Real-Time. This messaging is direct messaging means there is no server involved because your client have IP connection information of the person you are currently chatting with.
• When the conversation is over, you go offline and your client app or software declares your status as Offline and send that information to the server which then terminates your current session. The server sends your status information to all the users you are currently connected with indicating that you have logged off and finally deletes that temporary file.
So, this is the basic model or say workflow used in Instant messaging. Most modern Messaging works on more complex protocol and workflow but the basic “thing” remains the same.