[ih] Origin of 'talk' command

Butler Lampson blampson at microsoft.com
Mon Dec 23 09:10:23 PST 2002

The 940 system definitely had such a mechanism. It was there pretty much from the start, and was demonstrated at the 1966 FJCC. I don't remember, however, what inspired it. Perhaps it was the CTSS facility, which was certainly earlier.
As I recall, the 940 system was quite different from CTSS's; it worked by linking the output channel of two (or more?) ttys so that anything sent to one of them was output to both.
Peter Deutsch might remember more about this. Perhaps he can be reached at ghost at aladdin.com; I've copied that address on this message.

From:	 Bob Frankston [mailto:BobFrankston+xix at Bobf.Frankston.com]	
Sent:	 Thu 12/19/2002 4:54 PM	
To:	 'David P. Reed'; 'Brian Dear'; 'Joe Touch'	
Cc:	 internet-history at postel.org; bobf at frankston.com; Ray Ozzie; Butler Lampson; Jerry Saltzer	
Subject:	 RE: [ih] Origin of 'talk' command	

I presume my main post will bounce but David can forward it.

I've cc'ed Butler Lampson for expertise on the SDS-940 (the Project
Genie SDS-930 for him). It did have a way to send messages between
teletypes. I remember when we made this available at White-Weld in the
60's (67?) the SEC raised a concern about brokers using it.

I'd be surprised if there weren't a similar facility on CTSS (Jerry?)

On Multics I was at my office at Interactive Data (the White Weld group
had merged with a Lincoln Lab group to form IDC) at about 3AM probably
working on printing out my BS thesis (to guess the year -- that would be
1970 or 73/74 if was my MS) and wanted to reach people at Project MAC
(now LCS) so I quickly cobbled together a program using message segments
(an inner-ring-defined file queue). It had the SM command for positing
the message and a part that could wait for the message in the background
in a users process by taking advantage of the same facility used for
saying "New Mail". The actual facility was in the user space and just an
app -- nothing special in the system.

But it was based on my experience with the 940.

ITS (Incompatible Timesharing System) on the PDP-10 had a way to link
console in various ways so that would also provide a talk facility. I
would credit the 940 as having been a key source of the concepts since
it was developed in 1964 and onward and flexible teletype handling was
an essential element. Dartmouth and CTSS were more conservative with
line-at-time approaches. That allowed messaging but the 940/ITS approach
allowed for more flexible control over the interactive character

CP/CMS (now VM) did have console messaging though through the hypervisor
(VM) so the user process didn't get a chance to intervene. It wrote
directly to the console.

Extending such capabilities over the network wasn't much of a stretch
but I don't know when it might've been done. Tymshare did build a
network based on SDS-940 protocols (we also did one at White Weld). It
eventually became X.PC but I don't know if they did messaging over it.

A lot of rambling -- the short answer is that console messaging has been
around for a long time -- after all, that's what teletypes did.

Bob Frankston

-----Original Message-----
From: David P. Reed [mailto:dpreed at reed.com]
Sent: Thursday, December 19, 2002 16:36
To: Brian Dear; Joe Touch
Cc: internet-history at postel.org; bobf at frankston.com

Englebart's NLS is one of the most important pieces of prior art here.
was working well in 1967.   Licklider described his use of the original
in Scientific American in 1967.

DTSS had something like this before 1970.   We had stuff like this at
on nearly every timesharing system (including CTSS on the 7094,
ITS).  I think I helped build such a talk program on Multics as part of
SIPB system that I worked on under Bob Frankston's direction in
19769-1970.   I helped write several others inter-user communications
programs on Multics.   I'm pretty sure I used it on CTSS in 1968.  I
terminal-to-terminal talk was available on CP/CMS as well.

I've asked Bob Frankston to corroborate.  Bob probably can't post to ih,

but I'll repost what he says about early terminal-to-terminal talk

All of these systems had "who" commands or otherwise let you list the
online as well.  Some let you check who was on other machines, and some
you talk live across machine boundaries.

At 11:26 AM 12/19/2002 -0800, Brian Dear wrote:
>I've placed PLATO's TERM-talk terminal-to-terminal talking capability
>29 years ago today (see www.platopeople.com/termtalk.html) but I'm
>if there were other inter-terminal talking facilities up and running
>to that.   Most likely candidate I figured was Unix's "talk" command.
>- Brian
>At 11:24 AM 12/19/02 -0800, Joe Touch wrote:
>>Joe Touch wrote:
>>>Brian Dear wrote:
>>>>Does anyone know the date that the Unix "talk" command originally
>>>>appeared, and on what version/platform of Unix, and also if there's
>>>>RFC on it (I've not been able to locate one)?
>>>I would not expect an RFC: talk is between users on a single machine.

>>>RFCs tend to require inter-machine communication ;-)
>>>I.e., this may be Unix history, but not quite Internet history
>>>given we don't get that much traffic, and there's some overlap in
>>>expertise, it seems OK to ask).
>>FWIW, it _has_ been a while since I used that one...
>>It seems that talk works between machines these days. Though looking
>>the source code, there's less a 'protocol' than a TCP stream between
>>I.e., it's nowhere as complex as telnet, which is spec'd as an RFC.

More information about the Internet-history mailing list