
The Kik Bot Platform - kkouddous
http://avc.com/2016/04/the-kik-bot-platform/
======
devit
Can anyone explain how a chat-based interface can possibly be generally
successful except briefly as a novelty?

Surely an UI with controls specific to the task at hand is much better than
having the user guess what the bot responds to and what it can do?

In the restaurant use case, for instance, a QR code + text URL that points to
a website where you can advertise the restaurant with whatever graphics and UI
you want seems far better than some sort of text interface (which also
requires them to be Kik users, know they can scan the code, etc.).

~~~
potatolicious
It can be, but with a bunch of caveats that I'm not sure people are fully
aware of. There's a fair bit of over-enthusiasm about chat interfaces and IMO
not a lot of realization of its limitations.

The usefulness of chat interfaces is proportional to how complex the task is
and how poorly the user understands the scope and structure of the task.

To use a contrived example, if you have no idea what's left in your fridge,
saying "Computer, restock all my essential groceries" is easier than going
into the fridge, figuring out what you need, and ordering it via a traditional
interface.

Or think of a customer service hotline, where the caller has no idea what
options are even available to them, nor do they understand the hellish tree-
structure of the touchtone menus. In these instances natural language
interaction can remove the need to understand the structure of the task and
get them directly to the thing they need. _Many_ customer service lines are
_already_ doing this in a simplistic keyworded way, and they can be better.

On the other hand we're seeing a lot of people try to apply chat/natural
language interfaces to tasks that are both simple and well understood by their
users, and I think these will be doomed to fail. Ultimately voice/text is
_harder_ and more annoying for the user than punching buttons, the tradeoff
being that they can be valuable when the task is complex/opaque. Most of these
applications don't hit a positive tradeoff for the user - and end up being a
complicated/annoyingly unstructured mode of interaction nobody wants to use
more than once to show off to their friends.

Simple/well understood things like "call an Uber" I think will be pretty DOA
if you try to shoehorn a chatbot into the middle - users will prefer the
actual UI over it any day of the week.

~~~
geon
\- Computer, restock all my essential groceries.

\- Sorry, I didn't quite get that.

\- I want you to restock.

\- Sorry, I don't know how to "Youtube Rostock". Do you want me to google
that?

\- Well, it's... Uh...

\- I don't know what you mean by "Whale that's a".

------
rubiquity
If your investor has to pimp your idea for you then that probably means it's a
dud. The idea of Brand Bots seems really impersonal. I would want Bots for
quickly getting through the things I hate doing (returns, troubleshooting) but
not for getting coupons by scanning a "Bot sticker" (fancy QR code?).

~~~
fredwilson
i pimp everything, so i guess that means everything is a dud. i am an equal
opportunity pimper. i plan on pimping again tomorrow on AVC

~~~
rubiquity
I read your blog a lot. Thanks for writing it. But some of the conclusions
you're trying to draw in this post feel forced. The "websites -> apps -> bots"
deal especially jumps out to me as odd.

~~~
panabee
many websites, apps, bots conceptually share the same goal: to let users
interact with a database. they represent different ways to read and write
company data, and as such have different strengths and weaknesses. websites,
for instance, are terrific for discovery/browsing activities while chat bots
_could be_ terrific for transactional activities (e.g., amazon, cancel my last
order).

today, the problem with bots is that natural language AI is extremely
difficult, so many criticisms hold true: websites and apps are better than
bots for most tasks. today.

but that is similar to someone in 1994 saying that online shopping was worse
than offline shopping. yes, it was. but technology improved to where online
shopping -- for many cases, but not all -- became better than offline
shopping.

the real question: if you believe AI will evolve to where chatting with a
company bot is indistinguishable from chatting with the company's top human
employee/representative -- e.g., imagine the equivalent of jeff bezos
personally handling your amazon queries and transactions -- would a bot become
the more natural interface for many activities?

------
reustle
Just don't open source your bot and put it on NPM :-)

~~~
elsen
I was expecting a left-padding robot as a demo.

~~~
kmcgaire
leftpad.bot

~~~
rodion_89
[http://kik.me/leftpad.bot](http://kik.me/leftpad.bot)

------
kkouddous
We've been developing a bot with their platform for the last few weeks and
it's a well designed API with features that can help sculpt a great bot
experience e.g. allowing for controlling the amount of time the bot appears to
be typing. Definitely worth a look if you're into bots (and as a team that
recently developed an iOS app, boy is it great to be out of under the thumb of
Apple's review process and developing on a platform where the UX is the copy).

------
palakchokshi
Let's take an example of a general personal assistant chat bot experience and
compare it to a brand chat bot experience. Remember in both cases we are
typing our conversation not speaking it

General/PA chat bot Me: What movies are playing tonight?

BOT: HBO has XYZ from 8PM to 10PM, UVW from 10PM to midnight. Starz has ABC
from 7:30PM to 10:00PM, DEF from 10PM to 12:30AM

Me: No I mean what movies are playing in theaters tonight?

BOT: AMC at Location 1 near you is playing blah blah blah, Century Cinemas at
Location 2 near you is playing blah blah blah, (lists off 3 other theaters
with movie times)

Me: I want 2 tickets to blah blah at AMC tonight

BOT: Ticket price at AMC.com is $22. Reply with AMC to buy them. Ticket price
at Fandango.com is $23. Reply with FAN to buy them.

ME: AMC

BOT: Here are your tickets.
[http://amc.com/tickets/23BDK532KDJF93434](http://amc.com/tickets/23BDK532KDJF93434)

BRAND CHAT BOT EXPERIENCE ME: What movies are playing tonight?

AMC BOT: At an AMC near you, ABC is playing at 7:30pm, DEF is playing at
7:00PM, GHI is playing at 8:30PM, ABC iMax is playing at 9:00PM

(I switch to the Century Cinemas bot)

ME: What movies are playing tonight?

CENTURY BOT: At a Century near you, XYZ is playing at 8:00PM, ABC is playing
at 8:30PM, GHI is playing at 8:30PM

(I switch to another theater's chat bot)

ME: What movies are playing tonight?

BOT: Movie 1 is playing at 9PM, Movie 2 at 9:30PM, Movie 3 at 9:30PM .....

So in the end a general chat bot will be more user friendly than going to each
individual brand's chat bot. That basically means developer's not associated
with a brand will be building aggregate bots for specific verticals because
building a general BOT that addresses any query is impractical for any single
developer. Then what happens when multiple developers all target the same
vertical? The BOT marketplace becomes littered with duplicates and becomes
like the Android marketplace. So basically BOTS = APPS but with a chat
interface and some rudimentary NLP rather than a UI.

~~~
davemel37
fair point, not withstanding what these bots can know/learn about you and your
preferences.

More importantly though, the general bot would have to connect to all those
APIs...however, if each theater has their own bot, than perhaps the general
bot can query those bots without integrating with them. So, I guess the
question becomes, are bots useful to other bots..if so, than everyone will
need their own bot to be found by general bots.

~~~
palakchokshi
to have a bot be available to other bots is the same as having an API and
letting a general purpose bot connect to the API. The only advantage a BOT
would then have over the API would be NLP and some personalization data and
device sensor data. No matter how I look at it general purpose bots prevail
but they require connecting to all those APIs like you mention. Personally I
don't think BOTs in chat is the future of chat.

~~~
davemel37
what do you think the future of chat is?

I am not an engineer, so I don't know enough about integrating with APIs, but
I would think a bot could use natural language to talk to another bot without
integrating or even know about the other bot prior to the user needing it.
Essentially, the user is talking to one bot that is finding and passing along
the message to the other bot and vice versa.

Bot A > finds bot b > adds bot b as friend > asks bot b for a list of a
commands > forwards bot b commands to user or interprets the users natural
language in a way that maps to bot b's common commands> returns any results or
errors and shares whatever relevant data, acting as middle man between user
and bot b.

To me this sound simpler to create than a bot that needs to map to every APIs
functions, etc... Even with a middleware tool...It still needs to hook into
it. However, if those APIs have conversational interfaces, than users can
interact with everything magically.

Maybe my lack of tech knowledge has me imagining a utopia that isn't
technically feasible...but to me this sounds like a solution that can replace
30% or more of my web and app interactions completely and simplify another
20%.

~~~
palakchokshi
Bot A finds bot B via (marketplace search, keyword search, published
functionality search or manual settings?) This is very difficult to do
accurately especially when there are 100 other bots that provide same
functionality as Bot B.

Let's assume user selected Bot B to be added as friend for Bot A.

Bot A asks Bot B for a list of commands > This is essentially making an API
call or Bot A sending a chat message to Bot B "Please send me all your public
commands" (which is a simplified NLP API call)

However Bot B might not want to expose all its NLP command keywords (that is
after all their Intellectual property) or it is too complex to send all
commands because of myriad of ways an NLP query can be structured.

I like your idea of a conversational API. Maybe there is a better way to do
that and definitely something worth thinking about.

Regarding the future of chat, the problem is these chat apps are trying to
become task help apps. What is the purpose of chat/group chat? Communication,
discussion, planning, sharing between "friends/contacts" (not between me and a
bot) Communication with a friend or contact does not require a bot. Discussion
with a friend, group of friends or contacts does not require a bot Sharing
content with a friend, group of friends or contacts does not require a bot.

The only thing that requires a bot is planning an outing, trip, dinner, etc.
with a friend or group of friends or contacts. For that I think it is better
to have a general purpose bot. Here's how I envision that use case with a bot
called JEEVES.

ME: Hey have you guys watched Zootopia yet?

FRIEND 1: Nah I want to but didn't have the time. I'm free tonight if you want
to go.

FRIEND 2: Yeah count me in too

ME: JEEVES find us a movie theater close to us that's playing Zootopia
tonight.

JEEVES: There are 3 theaters close to all of you that's playing Zootopia
tonight. Theater 1 at (map)Location 1 is playing it at 9PM, Theater 2 at
(map)Location 2 is playing it at 8:30PM, Theater 3 at (map)Location 3 is
playing it at 10:PM

ME: you guys wanna get dinner before the movie?

FRIEND 1: Sure

FRIEND 2: Nah having dinner with GF's parents today.

ME: JEEVES find us some chinese restaurants near Theater 3.

so on and so on.

JEEVES can then book tickets, make a reservation, put the event on calendars,
send restaurant location to just the 2 people who agreed to have dinner, etc.

------
RGamma
BTW: KiK (different capitalization, full name: KiK Textilien und Non-Food
GmbH) is also a German fashion seller:
[http://www.kik.de/](http://www.kik.de/)

~~~
fooey
I'm conflicted. I think I want kik.de to sue these guys for trademark =\

~~~
Jtsummers
Poe's law at work.

If you're serious, you don't. They operate in different domains and it doesn't
make sense for kid.de to sue kik the chat company.

Trademarks do make sense (most of the time), and the application that the chat
company tried to apply it to with the NPM packages was proper. Reviewing the
emails (posted by the offended programmer) they even came off as pretty
generous. They wanted a name, a name they'd had for a while, for a project
they were releasing to the NPM platform. As others said, part of the problem
is NPMs naming scheme. It doesn't allow (by convention or implementation) for
sensible naming like with libraries in other languages
(com.kik.bot.authentication, com.kik.bot.blah).

If you're generally opposed to trademark then I suppose you would want them to
sue just to make a mess of things and eventually cause countries to get rid of
it. But that's exactly why trademark law covers this issue already. Apple
(computers) and Apple (music) were in different domains, consequently no
problem. Once Apple (computers) got into music (via iTunes), Apple (music) had
a case against them. It's also a bit more nuanced, down to locality as well.

------
vmorgulis
Is it the same Kik as in the leftpad npm incident?

[http://blog.npmjs.org/post/141577284765/kik-left-pad-and-
npm](http://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm)

~~~
geoelectric
Pretty sure it is, yes.

------
KayL
Can I use the word "Kik" in my bots that connected to Kik?

------
jgalt212
The comments on the AVC blog are full of an unbelievable amount of ass
kissing.

That being said, the content is solid and I read pretty much whatever Fred
writes even though my focus is not on B2C.

------
ISV_Damocles
Would like to note that kik is the company that threatened to go after an open
source developer and get accounts terminated because he wrote a library with
the same name. [https://medium.com/@mproberts/a-discussion-about-the-
breakin...](https://medium.com/@mproberts/a-discussion-about-the-breaking-of-
the-internet-3d4d2a83aa4d#.antgfyl9b)

------
rocky1138
I have no idea why people use these programs over straight up SMS.

~~~
Jtsummers
kik in particular? Or chat programs in general?

1: International SMS isn't free (US-centric viewpoint, what's the situation in
other countries?).

2: No character limit. Which is bypassed with MMS. Which introduces its own
limitations when sharing media (reduced resolution/quality of video and
images, for example).

3: Potentially, depending on the particular client, not tied to your phone
number in a way that others can access (that is, as a fellow user you don't
know that my number is 555-555-5555). This can be gotten around by using
something like Google Voice, which then loses the MMS feature (have they added
that in yet?).

4+: Probably other reasons that I can't think of at the moment.

\---------------------------------------

It just occurred to me that by "people" you meant the companies that kik is
apparently courting with this. They'd want to use this because their users use
kik. It's one more interface for customers to interact with them, on a
moderately popular chat network.

~~~
rocky1138
Chat programs in general, and the people that use them.

I've never had a problem with SMS length as my phone splits messages into
separate messages automatically.

SMS is free as hell in Canada and USA. I didn't realize the situation wasn't
the same worldwide. Why is it not?

~~~
Jtsummers
I believe it's free within most countries. What's not free is across most
nation boundaries (particularly non-adjacent nations). It's mostly because
you're dealing with the interaction of several different networks. Also, if a
company has a lock on its customers, it'll charge them what it wants to charge
them.

Other problems with SMS: Message order isn't guaranteed. Message delivery
isn't guaranteed. You receive no notice what state a message is in (in
transit, delivered, viewed). It's an unreliable medium tied directly to your
phone (short using a service like Google Voice) and only to your phone (ok,
less true these days, at least in the Apple ecosystem, where I can see and
send SMS messages through my Mac if my phone is on the same wifi network).
Still requires the presence of my phone in that last example.

~~~
rocky1138
These are pretty valid. I guess none of those things are important enough to
me, except message delivery guarantee. The thing is, I've never had it fail.
And if it did, I didn't notice, so no harm, no foul.

