Character at a time chatting?
May 21, 2007 1:29 PM   Subscribe

What happened to character-by-character chat? I miss the intimacy, subtle nuances of meaning, and most of all the ability to interrupt one another and complete one another's sentences that was inherent in old-school unix 'talk'. How can I replicate this nowadays?

Rejected answers: (1) iChat on a local (BonJour) network. I want something I can talk to people in other locations with, not someone sitting next to me. Plus, iChat sends a few words at a time, not a character at a time, which ruins the effect of intimacy. (2) Actually installing and using talk/ytalk. I'd like to do this with someone who'd probably balk at installing new software, much less dealing with unix. So, web/ajax based solutions greatly preferred.
posted by dmd to Computers & Internet (21 answers total) 11 users marked this as a favorite
Response by poster: Also rejected answers: SubEthaEdit or another such single-document coauthoring type things. Two streams of text are needed, which scroll independently. Though I *suppose* maybe you could do it with two separate documents... it would be a kludge, though.
posted by dmd at 1:32 PM on May 21, 2007

Why not log onto IRC? You could cram all this into AJAX stuff, but there's a perfectly good protocol built for this already. I believe there are embeddable IRC scripts so it would appear to be a normal web page, if that's a big concern.
posted by lubujackson at 1:44 PM on May 21, 2007

IRC isn't character by character, it's line by line. "Character by character" means you get to actually see the other person type as they type.
posted by reishus at 1:51 PM on May 21, 2007

I haven't seen anything like this since using ICQ in the late 90s; one of the options for their chats used exactly what you're describing. It pretty much WAS talk/ytalk: two halves of a window, where you typed in one and your friend typed in the other and it showed up character-by-character.

I'm pretty sure AOL absorbed ICQ, but maybe if you could find the ICQ client it'd still have that option. I know it's not web/ajax, but it's the first thing that came to mind.
posted by philulrich at 1:55 PM on May 21, 2007

My hunch is that HTTP adds too much overhead for character-by-character chat. But give me a week.
posted by chrismear at 1:57 PM on May 21, 2007

Those old programs were designed to work over serial links, not packet networks. Buffering improves network efficiency, which is probably why it's used (programmers look for parsimonious solutions without even thinking about it).

ICQ had a char-by-char option. Don't know if it still does. Try an old ICQ install (, or a copy of Trillian and dig through the settings?
posted by Leon at 2:04 PM on May 21, 2007

What philulrich said, except with the addition of a link to old ICQ versions.
posted by box at 2:05 PM on May 21, 2007

Also, if I recall correctly, the ICQ feature was called 'Direct Connect' or 'Direct Link' or something along those lines.
posted by box at 2:18 PM on May 21, 2007

Unless I'm going crazy, didn't some iteration of AIM have this at one point? It may have been the OSX version, but I'm very certain it was available.
posted by GilloD at 2:25 PM on May 21, 2007

One clunky way you can achieve this is with VNC. One party connects remotely to the other party's desktop. Since VNC lets you share KB/mouse, you just open up Notepad and take turns typing. It's a bit crude as you have to use walkie-talkie like signaling to indicate when you're done typing, but it's in perfect real-time, typos and backspaces galore.
posted by Rhomboid at 3:03 PM on May 21, 2007

And BTW there are web/Java-based VNC clients, so in theory there's no need for one party to install anything (the server side needs to run the VNC server.)
posted by Rhomboid at 3:05 PM on May 21, 2007

The last program I remember having that capability was PowWow back around 1996 or so. I never really used ICQ but apparently it did too.
posted by Venadium at 3:13 PM on May 21, 2007

How do these ICQ type apps work: do they directly connect sockets to each other, or do they route all their traffic through a server? If they direct connect, you might be able to modify some open-source client to send char by char.

Alternatively, you might just write a custom little java app to do it. The hard part is finding out each other's IP address, and knowing when the other wants to connect...
posted by DarkForest at 3:17 PM on May 21, 2007

Gerry's ICQ used to have this. I miss it also.
posted by mrunderhill at 3:39 PM on May 21, 2007

The VNC solution would works well if you opened two notapads. I guess you would need two VNC desktops to be able to type at the same time. A quick Google reveals that the VNC client UltraVNC can run as a Java applet within a browser.
posted by gmarceau at 4:23 PM on May 21, 2007

You can open two notepads but it won't help. With VNC both people share one input device, there is no way to have focus on two things at once. I mean, you could alt-tab in between two instances, but if person B alt-tabbed while person A was typing, person A's typing would go in the other instance, just as if they were both trying to type on one keyboard at once.

And regarding coding some kind of socket based client, I think that misses the point of the question, as this has existed for decades on unix systems (as mentioned in the post.) If he wanted that he could just use ytalk or something based on it like Amnuts. But I think he was looking for something web-based or with minimal install. Making it web based will be kind of difficult due to the inherint latency of setting up and tearing down a whole HTTP request just for every keystroke event. One completed HTTP request is probably 3 - 10 RTTs minimum, depending on a lot of factors. Some chat programs use a persistent connection to get around this but then you have to do black voodoo magic with progessive rendering in the browser which is very inflexible.

I think you'd be better off porting/writing talk in java as a browser applet. Or flash.
posted by Rhomboid at 6:18 PM on May 21, 2007

Response by poster: I'd be totally ok with something flash based, actually, if that existed...
posted by dmd at 7:32 PM on May 21, 2007

The reason people stopped doing this was because it required way too much eye movement. It's also incredibly distracting to guess what the other person is typing. But still, ytalk is available for OS X with Fink, if you want to use Terminal.
posted by aye at 11:43 PM on May 21, 2007

Wow, until I read this I hadn't realized that I miss it too.

What's annoying though is when they think they know what you're about to say, but they're wrong, and then you have to decide whether to simply continue or chide them mid-stream, as it were.

And you can also see what terrible typists they are, and how many mistakes they make. Good times. And another thing is I think it helps spur the slower typist to greater speed to keep up.

Anyway, nostalgia. If you get it fired up, Daniel, holler at me and we can kick it old school like back in 1996, yo.
posted by marble at 5:56 AM on May 22, 2007

This was a common feature on a lot of BBS systems. You can install one somewhere then you could both telnet in, which wouldn't require any software installs on the other user's part.
posted by mikepop at 8:09 AM on May 22, 2007

Please try my (free, non-commercial) skype-based solution.
posted by trusting at 2:24 AM on May 23, 2007

« Older What's the max size harddrive I can put in a...   |   What is this card game? Newer »
This thread is closed to new comments.