_____                   _                  _____            _____       _ 
  |     |___ _____ ___ _ _| |_ ___ ___ ___   |  _  |___ ___   | __  |___ _| |
  |   --| . |     | . | | |  _| -_|  _|_ -|  |     |  _| -_|  | __ -| .'| . |
  |_____|___|_|_|_|  _|___|_| |___|_| |___|  |__|__|_| |___|  |_____|__,|___|
  a newsletter by |_| j. b. crawford                       home subscribe rss

>>> 2020-08-08 instant messaging

Computing and communications technology evolved very rapidly during the 20th century, particularly during and after WWII. Multiple universities, research groups, and corporations pursued development of computing technology simultaneously and in parallel, but often with nuanced variations in their designs. The result is that "firsts" are often hard to establish. For example, you might ask, "what was the first digital computer?" This title is frequently awarded to the ENIAC in 1945, but with slight changes in definition the title could equally be granted to a number of other devices, including Zuse Z1 as early as 1936. The problem would be even more complex had we an adequate understanding of the history of computing in the Soviet Union, but unfortunately, very few sources on Soviet computer development have been translated to English and the iron curtain remains a notable blind spot in the western scholarship of technology history. Had we the ability to read Russian and access to the USSR's secret files, we would almost certainly find ourselves with an even more complicated timeline. This phenomenon is not at all unique to computer history (consider the contested invention of radio) but the accelerated telecommunications and computing research of WWII and the Cold War, and the attached cloak of secrecy, makes computer history a particularly difficult case.

I bring this up to introduce some of the inherent complexity in discussing the history of instant messaging. Instant messaging is a relatively obvious idea which, at least in retrospect, descends naturally from letters, postal systems, telegraphy, and so on. Instant messaging was not invented by any one person, but instead arrived at by many people. Over time, each of these distinct lineages have coalesced (through the powerful mechanism of user expectations) into the fairly consistent feature set, interface, and technology stack that we call instant messaging today. There is a direct conceptual inheritance from the Roman post to Slack, but it is difficult to actually illustrate.

In the 2017 Wired article "The Secret History of FEMA," Garret M. Graff proposes the FEMA-precursor computer network EMISARI as providing the first cross-computer instant messaging system, in 1971. Various other sources agree. Of course, there is a matter of definitions here. Machine-local instant messaging systems existed at least by the mid-1960s (e.g. in MULTICS) and have probably existed in some form or other for as long as multi-user operating systems have, if not longer. While it may seem significant from a modern perspective that EMISARI was cross-computer (over a network!) while these facilities were not, the differentiation likely seemed much less significant at the time---this was a period when the predominant form of networking was to allow many user terminals to connect to one computer running elsewhere. The closest analogue to the internet of today was a single computer with many users, and this concept of computer networking existed (at least in spirit) well into the '90s in the form of AOL, CompuServe, and other "traditional" internet services, which presented a user experience directly based on the dial-in BBSs before them.

For another perspective on an origin for instant messaging, the military's AUTODIN system (more or less the direct predecessor to ARPANET and the internet) was passing messages at high speed by the 1960s. AUTODIN was based on telegraphy and intended to fill a use case more like telegrams, but AUTODIN was fast enough that, particularly in later years, it was used to pass messages composed directly on video terminals in a fairly interactive fashion. It's difficult to judge whether or not this qualifies as instant messaging, but it's certainly a step in the evolution, and AUTODIN has its precedents as well.

Perhaps the first to use instant messaging were telegraph operators who exchanged maintenance information---and banter---directly among themselves in between passing paid messages.

Given that it is difficult to nail down the "first" instant messaging system, another interesting question might be "what was the first successful instant messaging system?"

I do not intend to disparage EMISARI by not suggesting it for this role, but there was never a full-on nuclear onslaught to really test its capabilities. Once again, it is difficult to provide any answers. One particularly prominent early use of instant messaging, though, relied on the network operating system VINES.

I should preface this by explaining a bit the concept of a network operating system (NOS). The term NOS is somewhat overloaded, and today is often used to refer to operating systems for network appliances, like CISCO IOS and Vyatta. Historically, though, NOS more commonly referred to an operating system which was intended to be used as part of a network. Yes, today, the concept of an operating system not designed for use with a network stretches reason, but prior to the mid '90s the idea of networking microcomputers was not a complete given, and popular microcomputer operating systems often did not feature network capabilities. Windows, for example, did not feature native TCP/IP support until Windows 95. Prior to that point, Microsoft had focused on the NetBIOS protocol.

Several vendors offered network operating systems, with a couple like Novell NetWare managing to survive (at least as names) almost to this day. These operating systems were completely built around network-based features like network file systems, electronic mail, and printer sharing, and often used proprietary protocols. One protocol, though emerged as a de facto early standard: Xerox Network System or XNS, which was an early solution to run on top of Ethernet[1]. XNS is not actually older than IP (or at least probably isn't, depending on definitions), but it was fairly easy to implement, flexible, and Xerox released the specification to the public domain. As a result several NOS, including NetWare, were XNS-based[2].

One such XNS-based network operating system was Banyan VINES, for Virtual Integrated Network Service---truly a product name from the classic era. VINES would be a side note in the history of these NOS were it not for the late-'80s decision of the Marine Corps to standardize on VINES as its networked communications solution. The Marine Corps has a general reputation for selecting off-the-shelf products which can be quickly fielded rather than having custom products developed for their use (as is the norm in other military branches), and VINES is one of the success stories of this strategy. Just a couple of years after the purchase of VINES it was widely deployed during the Gulf War, carried over satellite modems to provide electronic mail and file sharing between forward operating bases. The system was viewed as a tremendous success, and the popularity of VINES instant messaging feature with the Marines is often mentioned as the origin of the modern military and intelligence community's love of chat rooms for tactical exchange. If there is but one case in which instant messaging provides true business value, battlefield tactical communication is a strong contender.

In the era of NOS the internet was in its infancy and not commonly seen outside of the DoD, universities, and major corporations. Networked computers in general and instant messaging specifically were not accessible or known to consumers until the spread of consumer internet services in the latter half of the 1990s.

While most consumer internet services had an equivalent, it is essentially impossible to discuss the history of instant messaging without emphasizing AOL Instant Messenger, or AIM. While AIM was initially an integrated feature of the larger AOL product (which was a "web browser" of sorts integrated with various other services), but by 1997 was offered as an independent application available to AOL and non-AOL customers alike. As a free service, AIM was completely ubiquitous among the youth of 2000-2005, and in general served as one of the epicenters of internet culture.

AIM was also influential in laying out the downfall of instant messaging. AOL was based on a protocol called OSCAR, which was proprietary but reverse-engineered by various other developers. This lead to a series of third-party AIM clients, including the influential Trillian which simultaneously supported a number of different messaging services of the era, such as MSN. AIM, an implementation of a proprietary protocol, set the pattern for numerous other messaging services to follow, including AIM's leading contemporaries Yahoo Instant Messenger and MSN Messenger.

This is not to say that the situation was entirely one of proprietary protocols. The open-standard internet relay chat (IRC) protocol dates to the late '80s and is still in some use today, but its use is quite limited compared to commercial services, and it has only lost ground. There are numerous reasons for this, likely chief among them the active marketing of commercial IM services, but perhaps the biggest reason is that IRC has largely not made the jump to the modern age. Since the '90s it has been generally less user-friendly and less feature-rich than the commercial alternatives. This is to some extent unavoidable as the IRC transport protocol is very limited and extension has always been somewhat awkward.

In the late '90s, a small company called Jabber set out to standardize an open protocol for instant messaging which was extensible, to incorporate new features. While it was called the Jabber protocol at the time, it was later renamed to Extensible Messaging/Presence Protocol or XMPP. The Extensible hints both at its ability to support a wide variety of use-cases and its heavy use of XML, which as we have established, is the pinnacle of computer science's many achievements. XMPP has seen some adoption for its entire life, but received a major boost as Google and Facebook both introduced IM services based on XMPP (Talk and Messenger, respectively). Because these two commercial IM services relied on XMPP, they had the dual advantage of being well-marketed, user-friendly, and supported by a variety of third-party clients.

Unfortunately, neither Google nor Facebook fully leaned into XMPP's federated design (that is, you could only use Google Talk to talk to other Google Talk Users), but still, this period of around 2008 was very likely the apex of instant messaging. Finally, instant messaging functioned according to a published standard with uniform good support. Naturally, this situation did not last.

Perhaps this is enough for now. In a future message, coming perhaps not that long from as I am about to take vacation, I would like to talk about the IM landscape post-XMPPs demise, and express some opinions about what is wrong and why we are stuck with it. I had previously published an essay on my personal website entitled "Obituary, to Gary Tomlinson and Email," and I will be not quite restating it but repeating many of the ideas in that essay, which represents some of my most depressing thoughts on the state of technology today. In likely a third message, I would like to extend this to some discussion of the current landscape of federated social media, and the defects and enemies it has in common with open-standard instant messaging. You can read that essay here: https://jbcrawford.us/writing/obituary

[1] It is an extremely important but oft forgotten fact of history that Ethernet significantly predates TCP/IP. Many misapprehensions about network protocols and their history come from the impression that Ethernet was somehow designed to carry IP, or that IP was designed to be carried over Ethernet. Neither of these are true, the close pairing of Ethernet and IP are awkward happenstance and as a result the two each have features that are redundant or confusing when used with the other.

[2] The history of the network protocols which proliferated in the '80s through early '90s is long and interesting, the kind of thing that could easily fill a book. It is remarkable the extent to which, today, we take universal use of IP for granted. Not that long ago, MacOS spoke AppleTalk and Windows spoke NetBIOS, and the two would not understand each other. And those are just the two lineages that last to this day---there were at least a dozen network-layer protocols being used in business networks in that period, many of which were carried over RS-232 or RS-422 for low cost. These have a tendency to pop up from time to time in the modern era, often with industrial automation and other "legacy" equipment.