I've been writing AIM bots recently. It's an interesting interface exercise.
A conversational interface is so different to web, to gopher, or mobile phones. Because of the context you're inclined to assume more intelligence in the bot than there actually is. And a hierarchal interface just doesn't work. More than ever here the user path has to be short -- I suspect I get frustrated more quickly because I'm used to working around deficiencies in websites, but not in my friends. For instance, the IM bot SmarterChild does a lot of the things I'm interested in, but I always forget about it. Why? Probably because it goes to the portal approach. It's because it does so many things the interface is harder -- more choices, even if I go there just to check out the movies.
So I've come up with principles and ideas.
Principle | Use any method whatsoever to shorten the user path. This means making the decision of choosing to IM the bot a navigation decision. Instead of one bot, have
several that perform different tasks.
Principal | Behave in a conversational manner. Because the user will expect intelligence, don't put the bot in a situation where difficult-to-parse answers are possible.
Concept | How about looking ahead a step in the navigation, and making sure as many options as possible are identified by different names? That way the user can skip ahead a step and as long as it's unambiguous the bot can jump ahead too.
I think the coolest thing these bots to is refer do each other. "No I'm sorry I can't tell you that, but I have a friend who can help". And then, from another bot: "Hi there. You can type X to find out about Y". And then in the future the user can go straight to the second bot, if that's what they want.
Conversational interfaces are hard. But then I realised that all the bot should be doing is following Grice's maxims for conversation. Everything else should follow from there.
I've been writing AIM bots recently. It's an interesting interface exercise.
A conversational interface is so different to web, to gopher, or mobile phones. Because of the context you're inclined to assume more intelligence in the bot than there actually is. And a hierarchal interface just doesn't work. More than ever here the user path has to be short -- I suspect I get frustrated more quickly because I'm used to working around deficiencies in websites, but not in my friends. For instance, the IM bot SmarterChild does a lot of the things I'm interested in, but I always forget about it. Why? Probably because it goes to the portal approach. It's because it does so many things the interface is harder -- more choices, even if I go there just to check out the movies.
So I've come up with principles and ideas.
Principle | Use any method whatsoever to shorten the user path. This means making the decision of choosing to IM the bot a navigation decision. Instead of one bot, have several that perform different tasks.
Principal | Behave in a conversational manner. Because the user will expect intelligence, don't put the bot in a situation where difficult-to-parse answers are possible.
Concept | How about looking ahead a step in the navigation, and making sure as many options as possible are identified by different names? That way the user can skip ahead a step and as long as it's unambiguous the bot can jump ahead too.
I think the coolest thing these bots to is refer do each other. "No I'm sorry I can't tell you that, but I have a friend who can help". And then, from another bot: "Hi there. You can type X to find out about Y". And then in the future the user can go straight to the second bot, if that's what they want.
Conversational interfaces are hard. But then I realised that all the bot should be doing is following Grice's maxims for conversation. Everything else should follow from there.