[ih] Origin of 'talk' command

Bob Frankston BobFrankston+xix at Bobf.Frankston.com
Mon Dec 23 10:15:46 PST 2002

Thanks. I don't know the details of CTSS but judging from Multics and
CP/CMS, yes, it was very different. There seemed to be two approaches.
The Dartmouth/CTSS "outsourced" TTY handling and the main system
processed lines of text whereas the 940 and DEC systems (derived, I
think from the 940 thinking) had no qualms about processing each
character. Over time, of course, the approach converged.

BTW, along these lines, I have a transcript of a presentation you gave
at White-Weld back in June of 1966. It's a wonderful document - I've
scanned it but haven't had a chance to edit it. If you have a student
who wants to do so I think it would be very helpful both in showing how
much people (well, a very few people) understood about system design
back then and how relevant it still is. In particular, the 940's shallow
approach with more of peer processing vs. the deep deep layering of
objects of many of today's systems. The former is a much more resilient
approach. But that's a bit off-topic for the IM discussion.

I don't know the original source of the IM question but it may be
related to AOL's attempt to enforce a patent on IM. Ignorance of the
past seems to be a key success factor in the world of patents.

Bob Frankston

-----Original Message-----
From: Butler Lampson [mailto:blampson at microsoft.com] 
Sent: Monday, December 23, 2002 12:10
To: Bob Frankston; David P. Reed; Brian Dear; Joe Touch;
ghost at aladdin.com
Cc: internet-history at postel.org; bobf at frankston.com; Ray Ozzie; Jerry

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, Multics,
ITS).  I think I helped build such a talk program on Multics as part of
the 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
users online as well.  Some let you check who was on other machines, and
some let 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