Self Service Chat: the TalkBack project

Conversation is cool – and on the web, much more fun than a FAQ or search. Talkback is a flash app that can reply to free-text questions. It’s a kind of self service spoof app – and a chat bot, agent and synth conversation as well.

A little history

Before self service became such a hot topic, there were Microsoft Agents and long before that, there were chat bots like Eliza.

Agents could be scripted to talk – to speak – which was a terrific thing, and to listen for certain keywords. I experimented a lot with agent characters that I could move around on the screen by script (using MASH as editor I believe). wallyAgents could do all sorts of things like opening or closing programs on voice command – that great Dilbert joke come true. You could script macro’s in Powerpoint to have a character interact with you while giving your presentation with a headset on. So cool. Except that agents were really too heavy to be used in a web-based application, and too simple on the interaction side to do some real work – they felt like having an augmented Paperclip. A real first-generation thing.

Talking to a calculator

Chat bot Eliza is from 1966 – she’s a "computer program for the study of natural language communication between man and machine" <beep>. Her age means that as a program, she’s tiny. Her Artificial Intelligence is still understandable by people like me (Eliza just turns your question around into an answer). Also that the program was ported to all sorts of languages, VBscript, Javascript, etc, and I first encountered her on a Mac back in 1994 or ’95. I thought she was hilarious, and I got really intrigued by the way this text/conversation thing worked.

Eliza (1966)

a JavaScript Eliza

Eliza repeats your own words back to you in a question, so she needs a very small vocabulary herself. She does not remember. She does not combine and deduce. And eventually, you notice. The interaction is lacking something; it’s not like having a conversation that is going somewhere. Chat bots Alice and Racter do a better job, but have their own flavour of madness, so to speak. Well, I haven’t even started to solve that problem, yet :-)

home of Alice (1999)

more on the history of Alice

IF game Racter (1984)

Having a conversation: get that calculator to talk back

Some years ago I made this little pixel character in Flash that one could move about with the keyboard, and that could answer simple typed-in questions. At that time, chatter bots usually needed a serverside logic to get an answer back to the client – hardly web friendly: type – refresh, type – refresh. In a conversation, that wait is always too long. So I put the logic in Javascript – to stay on the page, to avoid the wait, and also because I could make use of regular expressions in Javascript to match strings, something Flash could not do. I also made a little character in Flash that could walk about guided by the user’s arrow keys, and that answered questions.

talkback 2002

This was the start of my "TalkBack" project. But I wondered about the character: was that little avatar or persona needed for proper conversation?

Using a character or not?

Did I really need an avatar or persona to have a little conversation with a web page? After all, in IM’ming there’s only the static photo, and that can be *anything* – cat, superhero, etc. Lovely to see a business contact who was using a holiday snapshot of himself & girlfriend during a party, holding a beer bottle aloft.

MSN is showing that people are creating their own conventions for typed-in conversation: decorating one’s name, smilies, typing mistakes that are cool when IM’ming, shorthand and such. And of course it’s normal to have to wait for an answer – takes time to type, no? – and it’s even part of the fun. And IM’ming breaks in on your normal computer routine: it disrupts, when showing an alert.

Interesting, because aparently, some interaction conventions go overboard when the app is doing its task well. And what is IM’ming doing right? Fast interaction, funny conversation, I think.

In Habbo Hotel, the character is a real important part of the fun, and the chat much less so. I lost interest in Habbo Hotel when some character asked me "ASLP?". WTF? (this site can help out here: NetLingo. When SecondLife was being hyped I thought about my Habbo Hotel experience and didn’t even take a look. And I guess we all saw those horrid *imvu* banners of the next talking avatar hype, out to get yer money.

And then there are those Flash "help agents" winking eyes and waving hair – like that would help :-). Or dressed in the most awful unflattering corporate uniform… at IKEA… at the old @Home… What a wasted effort. So sad to see all that effort spent on the character, and the conversation forgotten, added as an afterthought by technicians, easily slipping into the irritating, corporate, formal, not informative, not helpful, no fun at all.

Conversation: rapid, good quality answers

The second TalkBack version that I made (2005) only had a large speech balloon – or better, a thinking balloon, and I concentrated on having fast, fun answers, and simple interaction.

talkback 2005

At last: *real* synthetic conversation

I saw the phrase synthetic conversation first at Synthetix.com, an English company that develops interactive conversation applications for self service purposes. Their brilliant idea is to have not only *any* text input, but also example questions, something that looks very natural but helps the user a great deal. A conversation has to start somewhere. Also, their conversation is going somewhere: you’re guided to an information page geleid, or they ask you in a beautiful, un-spamlike way if they might contact you, and when. It is very clear that the conversation has a commercial purpose, the answers are polite, well-crafted, and funny, the application is fast; it’s a pleasure to use. So: at last, it seems it’s possible after all, to do it right.

TalkBack v3: conversation and interaction

I removed the logic from the javascript and put it all in the flash. The answer-database consists of an xml file with keywords and corresponding answer-texts. Just like the previous versions, for any given keyword, there are multiple answers the app can pick from, to keep the answers interesting. But the character is back – a small one. There are small animations going on in a random way in the backgroound as well, and when the user doesn’t start asking things after a bit, the balloon discreetly goes away. The little character is meant to attract attention to the app by moving about. But it’s also there to hint at the fact that you can input whole sentences, just like chatting, and it’s not a keyword search. It works so well that some people think it’s a chat interface, and start asking me IM style questions… like I am actually there *live* to answer them… amazing.

Try-out questions

I think example questions are a great idea, but what I myself was interested most was to see what users were typing in. So I added a logging script that could also return the last three questions and answers – below the header "Wat zegt u??" (What’s that you say??).

It is a well-known fact that people try out a chat bot with bad language and all the other fun and games that you don’t want to show on your home page – so that was a bit of a risk – but as it is predictable behaviour, this TalkBack comes prepared <knock on wood>. A whole section is dedicated to what people might try, like asking where the porn is; and it even gives a warning: three such tries and you get a redirect to a “more appropriate page” hehehe.

talkback 2007

I also try to catch other try-out questions: you can feed it the answer as a question, or type in faketextn ("Lorem Ipsum?"), or try out "test" and "debug"; etc, etc. There’s even a test question to see if a really long answer would fit in the balloon: "Doe eens een lange zin?" (make me a long sentence).
Playing around is a major contributor to the fun of it, so I put in lost of time to get that aspect right.

Link it up with the weather

Well, "naturally" I could start the conversation with a remark about the weather – the other flash module on the home pagea can send input to the TalkBack Flash. And with the same idea in mind – how can I start a conversation in a natural way – I added some other special functions that have to do with time and recurring visits. Why not? “Hi there, back again? forgotten something? Can I help?”

"Known issues"

Of course, the problem of word-recognition vs meaning-recognition is probably way too complex for me to solve with a simple xml-file and a little script. Conversation-analysis buffs point to the importance of words like "that" or "it" that point to some earlier remark – could be four answers back. The human computer can easily parse “that”. Me, I’m happy enough with just being able to make simple and natural-looking question-and-answer pairs.

Even when some behaviour is predictable or even guidable, there are still so many things that Talkback doesn’t understand… and where the irritation crops up… TalkBack remains just a little demo, a plaything around a cool idea. But for me, that’s enough.

currently offline, sorry

0

in projects+

post a commentsave the linkrate as favorite

leave a comment

Your e-mail address will not be made public or shared with others. Required fields are marked with a *

*
*

Optionally, you could use these HTML tags: <b> <cite> <code> <i> <strike> <strong>