I Built the Feature That Tells You When Someone’s Typing in a Chat. And I’m Not Sorry.

Decoding the tech world.
Feb. 12 2014 11:45 AM

I Built That “So-and-So Is Typing” Feature in Chat

And I’m not sorry.

140212_BIT_Typing

Graphic by Slate

How do you feel about the typing indicator—“David is typing”—that appears on your buddy’s screen while you’re composing a message in chat? Does it make you feel self-conscious about how long you’re taking to write a message? Do you feel paranoid when your friend appears to be typing for ages but the message you finally receive is only “ha ha”? Do you hate knowing that your “friend” is not typing anything and must be multitasking on something else? (It’s possible they’re thinking about what to say—but only if your friend is Jane Austen or Vladimir Nabokov.) Do you hate it when you are multitasking and your erstwhile best friend keeps sending messages like “Are you still there? What are you doing? Do you still like me? Have I fallen in your heart?”

David Auerbach David Auerbach

David Auerbach is a writer and software engineer based in New York. His website is http://davidauerba.ch.

If so, you have me to blame, because I was one of the people who invented the damn thing. But I can explain everything …

The first professional software project I worked on was Microsoft’s instant messenger client, saddled with the unwieldy name “MSN Messenger Service”—chosen by the same marketing experts that gave us Zune, Microsoft Bob, and .NET My Services. It shipped back in 1999 after a few years of development. During that time one of the issues that the team discussed was Gee, wouldn’t it be nice to know whether or not the other person is responding, or waiting for you to say something?

Advertisement

Back then, chatting in real time via text was for most people a very new thing. A good chunk of communication is knowing when it is and isn’t your turn to speak (another chunk is vocal nuance, which is partly addressed by emoticons); on a half-duplex line (where only one person can speak at a time) like a walkie-talkie, you really do have to say “over” to make sure your partner doesn’t miss anything. But latent full-duplex (where people can talk at the same time but transmission is delayed until you, say, hit Enter), like instant messaging, has its own problems. If your chat partner’s gone silent, it might be hard to know whether they were typing some huge message or if she was waiting for you to say something. We couldn’t enforce any particular etiquette among users, hence the typing indicator.

There were other reasons for it. Dial-up was the standard back then, and dropped connections were quite common. (Call waiting was often enough to trigger it.) Sometimes the server wouldn’t realize the connection was lost for a minute or so, and you’d think your friend was typing a long response, only to see them abruptly log off. The typing indicator ameliorated that problem too.

Once you started typing, your client would send a message to your buddy saying that you were typing. If you kept typing, it would send another message every five or 10 seconds to tell your buddy you were still typing. If your buddy’s client stopped getting messages, it would remove the “David is typing” message from the screen and replace it with “David has typed a message.”

This “keep-alive” method of notification caused a lot of traffic. At one point we estimated that something like 95 percent of all message traffic through the Messenger servers consisted of those typing messages. Only 5 percent of messages actually contained what users actually had typed. But the feature was well-received and soon copied by AOL and Yahoo, the other two big IM forces back then. (And unlike with most programs today, users had the option to turn the typing indicator off.)

Since then, sheer experience has led to a kind of de facto etiquette for chatting, with implicit signals for when one person has handed the conversation over. But typing status messages are still de rigueur: More information is better, right? Gmail tells you if your friend is typing, and whether there’s any text left in the box. Facebook goes one further and tells you whether or not your friend has seen your last message, letting you know exactly when you can start worrying about why she hasn’t responded to you yet.

For me as a user, if there’s any unease associated with the typing indicator, it’s not from the added immediacy per se, but a lack of enough immediacy. It tells you that something is going on, but leaves you to wonder what it is. It builds up the anticipation for a profound response only to disappoint you with the inevitable banality of what your friend actually says. I’d rather know what the other person were typing as she typed it.

And it used to be that I did. Long before instant messaging programs even existed, there was a Unix program for chatting called “talk” (and variations like “ytalk” and “ntalk”). The interface was not like that of chat programs today, where you type a message in the bottom, then hit Enter to send it over the wire to your friend. Instead, talk split the screen in half and transmitted everything you typed letter by letter. If you typed something and then deleted it, your friend would see the whole gaffe. Your text and your friend’s text were never combined into sequence.

140212_BIT_LokiChat

It felt more like an actual conversation, except it was even more efficient, since you both could talk at the same time and anticipate each other’s responses. Throughout college, my future wife and I—we attended different schools—used talk to keep in touch with one another. She would get halfway through a sentence and I could start responding without her having to finish the thought. We both typed in the vicinity of about 90 words per minute, so talk preserved a flow that today’s chat programs lack.

The end result, however, wasn’t always decipherable after the fact. Here’s an example I’ve reconstructed from memory. (This would be the talk screen at the end of the conversation. My wife’s text is in the top half, and my text is in the bottom.)

140212_BIT_TypingChat

The conversation might be tricky to reconstruct, so here’s the order in which we typed things. Every time one of us broke off a sentence because the other had started responding to it, I’ve marked it with an asterisk. (You didn’t have to hit Return after each sentence, but it did make things more readable.)

ME: what are your plans tonight
HER: going to the*
ME: oh right you had the throwing mu*
HER: yeah i won’t be back until late. will you still*
ME: i’m going to sleep around midnight
HER: yay!!! talk to you*
ME: talk tomorrow?
HER: when will you*
ME: i’ll be back from class at 5. enjoy the*
HER: going now
ME: concert

I also liked the increased focus. If you were talking to someone, it was likely you weren’t doing much else, because their text was showing up nonstop. Chatting and text messaging these days seems to combine the worst of both worlds, giving you just enough time in between messages to get bored without being able to do anything productive.

Sometimes I miss the old days.
So I’ll sometimes
insert extra line breaks
in messages
in the hopes of
speeding up conversation
or maintaining interest.
(Like Burma-Shave signs.)
You should try it.
If you don’t already.