
Lessons learned from building a commercial open-source bot development platform - softmodeling
https://livablesoftware.com/lessons-learned-building-commercial-oss-bot-platform/
======
Animats
I'd be more impressed if the site had a chatbot to talk to. The actual site
[1] is just one of those pages that wants your email.

This seems to be a generic problem with chatbot companies. I have yet to find
one with a bot intelligent enough to answer basic questions about the chatbot
product. Most chatbots are about as smart as "press 1 to pay bill, press 2 to
return product..." with a weak natural language system on top. A basic web
site is more useful.

[1] [https://xatkit.com/](https://xatkit.com/)

~~~
softmodeling
If you head to the examples page ([https://xatkit.com/chatbot-
examples/](https://xatkit.com/chatbot-examples/)) you will see other examples
of bots.

It's true the one in our home page is a bot to illustrate a simple scenario
with some of the features that Xatkit includes (if you ask the bot for a demo)

~~~
Animats

        Hi there.
        I can help you get up to speed with a REST API
        Just give me the URL of the OpenAPI definition of your API
    
        > What is an example of an OpenAPI definition?
    
        Loading the API from . Please wait...
         Oops, I couldn't parse your definition
        Here is the error message:
        no protocol: Xatkit
    

What do you recommend that can hold an interesting conversation?

~~~
softmodeling
I don't think the goal of a bot is having an interesting conversation. The
goal is to help you accomplish a task (get your answer, do something for
you,...).

Clearly, in the above example, you didn't provide what the bot was expecting
and since the bot is a research prototype, it had not enough training to
identify that you were not providing an API file but asking a clarification
question.

No, the bot owner should the dashboard to realize that a user (you) asked this
question that made the bot failed and should prepare a new version of the bot
that can answer it

~~~
Animats
Ask "where's an example", and they point you at something a customer did. Ask
why the example is unimpressive, and they blame that customer.

In chatbot systems, the machinery doesn't do very much. It's anticipating
almost all possible user responses that makes the thing work, if it does. All
the engine really does is take the user's question and match it to some big
FAQ file someone put in. Plus there's some kind of phone-tree like path to
guide users through whatever the chatbot wants them to go. (Not where the user
wants to go.)

In game development, this is called The Dev Team Thinks of Everything.[1]

[1]
[https://tvtropes.org/pmwiki/pmwiki.php/Main/DevelopersForesi...](https://tvtropes.org/pmwiki/pmwiki.php/Main/DevelopersForesight?from=Main.TheDevTeamThinksOfEverything)

------
picodguyo
"explaining why the world needs yet another bot solution"

I'd be interested to hear your take on this. The dozen or so prominent bot
startups that popped up over the last 5 years nearly all ended with
acquihires. Even Facebook, who once thought they could create an uberbot to do
literally anything, have all but abandoned their bot aspirations.

~~~
softmodeling
To begin with, I think creating a general knowledge bot that can talk about
everything is an interesting research concept but not a very useful one.

Then Xatkit aims to be a very flexible platform that helps you create chatbots
on top of any platform you need, more than a concrete solution for a specific
set of technologies. For instance, most current solutions are tied to a
specific NLU Engine (being DialogFlow, IBM Watson or whatever). Xatkit tries
to abstract from the concrete engine and let you define the bot in a more
abstract way and deploy the bot on any of them based on your deployment
preferences.

(this doesn't mean Xatkit provides right now all the connectors you may want,
it just means that the architecture of Xatkit was especially designed with
this goal in mind, it's open source so it's possible for you to create
whatever you need)

------
bathtub365
I've never had a good experience interacting with a chat bot. I find it
insulting when a company I'm already giving money to insists I talk to a robot
before I get to talk to a human being. Chat bots are just the latest version
of listening to a dial in support phone menu and trying to figure out which
option you need.

~~~
softmodeling
I get your point. Though for some people is the opposite (e.g. people that are
shy or, don't speak good English and need to interact with an international
company) and feel more confortable talking with a bot.

Also, for small companies, it may be the only option as they cannot be
available 24/7.

~~~
ddevault
I have yet to meet a person who would rather chat with a bot. I hardly believe
that such a person even exists.

~~~
hw
I have yet to meet a person who doesn't like cats. I hardly believe that such
a person exists.

Have plenty of experience helping companies set up chat bots properly, and
watching customers actually talk to bots and have their questions answered by
bots. There are always some people that would automatically escalate to human
support every time and not bother with the bot, but there's also a fairly
large percentage of people who would go through with the bot.

~~~
ddevault
What is a "fairly large percentage?"

------
netsectoday
When I spend too much time on R&D building something big and it doesn't work
out the way I planned; the first thought is to turn it into a platform and
sell it to other people who might find it useful. Then I remember that
starting and running a company is exponentially harder than developing a
killer app, so the next thought is to open-source and document it and hope
people pay me as a consultant... It seems this thought process is universal.

------
amelius
Ok, so this is about chatbots. I thought it was about botnets.

~~~
softmodeling
Definitely not about botnets. It's about chatbots or "normal" bots (i.e.
components that automate processes, like sending you a Slack message alerting
you when somebody posts a comment in your WP site).

