Chat Programs

Introduction

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.

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.

History

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).

Technology of Instant Messaging Programs

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:

AOL Messenger: OSCAR instant messaging protocol

Google Talk: Extensible Messaging and Presence Protocol
(XMPP)

ICQ: OSCAR instant messaging protocol

MSN Messenger: Microsoft Notification Protocol (MSNP)

WhatsApp: customized version of (XMPP).

Yahoo! Messenger: The Yahoo! Messenger Protocol (YMSG)

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.