Chat programs allow users to communicate 'one to one' over the Internet via 'real time' text communication. How chat programs function varies widely, with some allowing chat between two users and some allowing chat between hundreds of people. While 'real time' text communication is available in many online applications, it is usually a secondary feature, whereas in chat programs it is the primary service.
The two most popular technologies for Internet chat programs:
1. Instant Messengers (instant messaging (IM) programs)
2. Internet Relay Chat (IRC)
By and large, most chat programs are instant messaging (IM) programs. The instant messaging system works through the use of a shared client. Two users will install the same instant messaging client (such as MSN Messenger), add each other to their friend list, and then initiate a text based 'real time' communication. Instant messaging technology has been embedded into websites and voice/video communication programs.
Alongside instant messaging programs, Internet Relay Chat (IRC) is a popular type of chat program. IRC is a protocol which is a part of the application layer of the Internet Protocol Suite, and was created by Jarkko Oikarinen in 1988. IRC client programs use a standard protocol (IRC), and IRC evolved out of preexisting chat programs like MultiUser Talk (MUT) and Bitnet Relay Chat.
The principle difference between instant messaging and IRC: is that instant messaging programs conduct chat 'one to one', whereas IRC clients generally have a chat channel for multiple users. IRC predates instant messaging and the World Wide Web: IRC was created in 1988, the World Wide Web in 1991, and instant messaging in 1996 (ICQ). Therefore, while chat programs adhere to the same principle of 'real time' text communication, the technology which underpins chat programs varies.
While there are other Internet chat programs and chat technologies -- beside instant messengers and Internet Relay Chat -- these technologies are relatively niche technologies and will not be covered here.
Instant messaging has an extensive history which dates back to early computer networks that were developed in the 1960's. During this era, instant messaging was usually a feature of operating systems with multi-user capabilities. In 1961, the Massachusetts Institute of Technology (MIT) released Compatible Time-Sharing System: CTSS was an operating system that has been credited with inventing email and also featured peer-to-peer messaging.
While peer-to-peer messaging was installed into CTSS, it was only by the 1970's that computer networks "sprung" up on university campuses across the United States and Europe. In 1973, D.Woolley and D.Brown created Talkomatic, a chat program that was installed on the PLATO System (computer system at the University of Illinois). Talkomatic is credited with being one of the earliest dedicated chat programs. Unix is another - obvious - example of a multi-user operating system. Unix was developed by AT&T's Bell Labs in the early 1970's, and featured a peer-to-peer messaging (talk) command.
While instant messaging was a feature of early computer networks and multi-user operating systems - during the 1960's, 1970's and 1980's - these computer systems were largely located in: universities, corporations and government departments. The Internet evolved out of the ARPANET computer network. ARPANET was funded by ARPA, and was created in the late 1960's. ARPANET connected universities and research laboratories in the United States, and soon incorporated international nodes based in Europe. DARPA funded the development of TCP/IP in the mid 1970's, and, IP and TCP are the core protocol of the Internet protocol suite. The network architecture of the Internet was deregulated in the early 1990's - from US government control - and this led to widespread public access.
When commercial companies (ISP's) took control of the network architecture of the Internet, they sold access to the general public. Of course, there needed to be services on the Internet to entice the general public to use it. Email and the World Wide Web were two such services, but online chat programs were another. It was during this era - the late 1980's and early 1990's - that IRC and instant messaging programs were released. ICQ was the first instant messaging program (1996) and has two patents for the technology. This forced subsequent developers, such as MSN, to create new protocols for instant messaging: so as to not infringe on ICQ's patents.
Extensible Messaging and Presence Protocol (XMPP) was created in 1999 as an open source standard for instant messaging. XMPP is a part of the application layer of the Internet protocol suite, and it is hoped it will become a standard for every instant messaging program. There are other protocols which have also become standardised by the IETF in RFC files, such as: the Session Initiation Protocol (SIP), which was created by H.Schulzrinne and M.Handley; and the Instant Messaging and Presence Protocol (IMPP). which was created by a IETF working group. While none of these protocols became an industry standard for instant messaging, a concerted effort has been made to develop a protocol for this purpose.
Present day, 2014, social networking has become one the primary uses of the Internet. Social networking services usually include instant messaging: Facebook is one example of a social network which features instant messaging (XMPP). The popularity of social networking websites, like Facebook, has effected the use and popularity of chat programs like ICQ. It is believed, since the year 2000, the use of IRC has decreased by over 50%. MSN Messenger is an example of an instant messaging program - which did have millions of users - which has shutdown (it's users migrated to Skype).
Chat programs continue to evolve however, with banks, such as Natwest, creating an instant messaging chatbot named Cora.
There is no standard protocol for instant messaging programs: due to ICQ acquiring two patents for instant messaging, and, early instant messaging programs creating their own proprietary protocols. While XMPP is an open source instant messaging protocol - that is intended to be a unified standard for IM and is a part of the Internet protocol suite - it is not used by every instant messaging program. The following protocols are used by instant messaging programs:
While the protocols that instant messaging use differs, the features of the client program remain very similar. The vast majority of instant messaging programs include: offline messaging, channel for multi-user chats, emoticons, file transfers, games and a search for username's. Chat programs are usually backwards compatible. Most chat programs go under considerable beta testing (tests to be bug free) before they are first released.
Within the graphical user interface of instant messaging programs, the prime component is a friend list (also known as a buddy list). Friend lists can be exported and imported; although cross-platform compatible is unlikely. The front end of chat programs tend to adhere to a similar design, and, as default, load up when the operating system is booted. Likewise, most chat programs have an option to login automatically when the program starts; of course, there is also the option to logoff / logout.
The difference between a friend's list in an instant messaging program - and other online communication technologies like email - is it's 'real time' nature. The friend list and the chat is in 'real time' and the sending of a message to a person who is offline may not be possible. However, the majority of instant messaging programs support offline messaging; although this feature removes the original concept, and difference, between instant messaging and email.
Due to the popularity of social networking websites, software developers are in a race to create more advanced features for chat programs. One of the latest features is the integration of video/voice communication for instant messaging programs; which were originally text-based messaging clients (Yahoo! Messenger now has an integrated webcam feature).
Chat programs are also attempting to create an all-encompassing avatar (for their users); instead of a simple nick (handle): so as to make their service more immersive and with a higher likelihood of keeping hold of their users. IRC, and it's mutliple client programs, is an example of a text-based messaging service which has not "kept pace" with programs like Skype, and it's usage has decreased alarmingly.