
Bots won't replace apps, only better apps will replace apps - rmason
http://dangrover.com/blog/2016/04/20/bots-wont-replace-apps.html
======
readams
The correct answer here is ... web apps. They're just better than chat bots.
The only real issue is an easy way to link identity and payment information
into the interactions. These chat bot guys always claim their main advantage
is not having to install apps. The web browser is already there and installed.

~~~
rybosome
This makes me wonder why federated login via Facebook doesn't meet this need.
It works quite well, but perhaps the OAuth confirmation scares people off (or
they are worried the requestor will access data they don't wish to share, post
on their behalf, etc.)

There is something really compelling about the totally-seamless experience,
but do I as a user actually want that? I suppose it depends on my trust in the
platform holder.

~~~
joelhaasnoot
There are two problems with Facebook's federated login.

For one: Facebook doesn't need to know everything. While some are more
peculiar about privacy than others, when information is used across boundaries
that exist in our physical world, users start to care. I don't want to login
for work-related sites or apps with my Facebook account and I'm sure most
wouldn't login to a porn site with their Facebook account either.

Second problem is that the whole idea of federated login is that there are
many providers who implement the same protocol, meaning whatever account I
have, I can authenticate myself. Only implementing Facebook defeats the
purpose of federated.

------
brianchu
Great read. I found particularly insightful the idea that conversational UI is
like skeumorphism - trying to shoehorn analog forms (conversation) into a
digital app, bringing along a bunch of details and actions that don't serve
any purpose or are worse than the alternatives.

~~~
iQuercus
Without trying to make any predictions, I wouldn't underestimate the human
appeal of a conversational interface on the basis of its quantifiable
inefficiencies. The author applies a narrow engineer's lens to something
needing a more human perspective. You can't measure things like this strictly
by counting taps and dismissing everything else about a conversation.

~~~
brianchu
There is nothing _human_ about chatbots. They are glorified menu-in-text-form
delivery mechanisms. NLP technology isn't at the point where they become even
slightly human-like when off-the-rails.

~~~
collyw
They look like a REST API over a messaging system. API's are meant for
machines to communicate, not humans.

------
djfm
Finally the non tech people are discovering the power of the command line. The
next big thing is _bash_.

~~~
giaour
My favorite bot is touch. You tell it what files you want created and it makes
them for you.

------
Spearchucker
This guy described the parameters of the perfect phone. So much stuff really
hit home - like the (incorrect) assumption that I'm always online. Even in
London. Azure on the Underground, anyone? I also don't see myself using
Cortana or similar unless it saves me taking gloves off in the cold. I won't
install chat apps because they grab ALL my contacts rather than only those
(and the meta data) need Ata point in time. Apps, especially chat apps, do not
facilitate user control and consent.

~~~
tonmoy
I don't think WeChat grabs any contacts

------
redmaverick
My ideal interaction:

1\. Open Facebook Messenger

2\. me: I want a veggie pizza with Jalapeno topping

3\. @megabot --> @pizza_bot: "Ordering an Jalapeno pizza: Choose the brands
from below a) Papa Johns b) Dominos c) Pizzahut"

4\. me: Papa Johns

5\. @megabot --> @pizza_bot: Do you want anything else to go with that?

6\. me: 1 garlic dip + Pepsi 500 ml

7\. @megabot --> @pizza_bot: "Your order will be ready and will be delivered
to the address. Please confirm"

8\. me: confirm. end pizza_bot.

9\. me: I want to go to downtown.

10\. @megabot --> @taxi_bot: Shows map. Enter starting Location.

11\. me: current location.

12\. @megabot --> @taxi_bot: Your driver will be arriving in 4 mins. via a)
Uber b) Lyft

13\. me: Uber

14\. me: confirm. end taxi_bot

15\. me: I want to watch Spiderman 4 today evening.

16\. @megabot --> @movie_bot: Spiderman 4 is playing in 4 theatres close to
you. Please select from the following theatres. a) Sundance b) Rainbow c) AMC
Also, the imdb rating is 9.4/10 and Rotten Tomato Rating is 7/10.

17\. me: Rainbow

18\. @megabot --> @movie_bot: Please select the show times: a)7:30 pm b) 10:30
pm

19\. me: 7:30 pm. confirm. end movie_bot

20\. me: I want groceries delivered via instacart

21\. @megabot --> @instacart_bot: blah blah

22\. me: I want my lawn mowed next Sunday via task rabbit.

23\. @megabot --> @taskrabbit_bot: blah blah

Basically one interface which provides a seamless experience. Without the
bots, I have to either download a bunch of apps or if they are already
downloaded, I have to context switch between them. Likewise, I would have to
search the web a lot and multiple click my way to what I want.

~~~
tuyguntn
Have you tried Telegram bots with inline feature supported? It does exactly
same thing you have described. (but not ordering pizza yet)

At any one-o-one chat or group chat type:

 _@gif happy minions_ -> shows gifs

 _@youtube js talk_ -> find relevant videos and select one to send to chat

and so on

~~~
detaro
So you still have to name the bot you want, vs the system figuring out which
bot(s) are able to handle your request, which the parent post seems to
suggest.

------
dotch
My take away from this article is that the notification center on a phone OS
should really take the cues from messaging apps and experiment with providing
a more meaningful thread-based way of displaying notifications with more
information than red bubbles with numbers and a better way to act on them than
just launching the associated app.

~~~
ChrisLTD
And the ability to mute future notifications from apps that have overstepped
the bounds of good taste.

------
calgoo
I would prefer a simple app interface with big buttons (on mobile) to do the
exact thing i want, than having to use some chat menu system. So when im in an
airport somewhere i can click while walking to order a taxi or check my email
or similar. Just exchange the AI for a simple column of changeable links /
buttons to my most used functions, allowing to have sublists. Then allow me to
use a builtin password safe to get the information to me in a simple modal or
similar. I dont want 100 apps on my phone for each service, but i also dont
want a closed interface to how i access the information. Web pages are ok, but
most of the time i can not modify the interface to remove items i dont care
about. This causes time consuming tasks such as zooming to be able to click on
links or using interfaces that can change to whatever the developer thinks is
better for you.

Could we create standards for things such as bank APIs, travel APIs, store
APIs etc? I dont like forcing things on people, but if we could get some type
of collaboration and create a UI where the user gets to create buttons / menu
options to access those services directly? Let the user add only the needed
options to a button on the home screen called "bank" for example.

I dont need OAuth or similar (Dont want that stuff close to my bank account)
but some standard way to authenticate? Then just request my PIN whenever it
needs to access a stored password. Or just request the password with saved
username when accessing the request for the first time and then save it in a
session etc.

I guess what i want for my phone is a easily programmable interface where I
can setup whatever functions to access my information directly and not needing
to access any other app. Apps are great, but it does not solve the issues that
exists on desktops. How do we organize all these icons? Using menus or using
desktops with icons? using lists of some sort? Very few systems have come
close to solving this issue and most are probably more experimental then
production. I believe the cloud should be APIs instead of HTML and Apps.
Mobile interfaces should just be scriptable interfaces with some per-defined
tasks and an easy way to download new tasks that others have done. Now, this
does sound like apps, but its more specific: Its more like downloading a
script from your bank that accesses your account balance. Then another script
for your card balance. Then another script for a transfer etc. Then you just
say where in the interface you want these buttons / links and done.

Anyway, time to end my long rant about mobile interfaces.

~~~
nostrademons
Kinda like IFTTT?

[https://ifttt.com/](https://ifttt.com/)

~~~
hanniabu
Not really, he means having a single interface(or app of that helps you
imagine better) that allows one to setup and customize an interface/panel of
whatever functions they use most from other apps. Now take away the other
apps, and all you have are functions/scripts with a custom interface.
Basically your own dashboard with shortcuts for the most commonly used
features of apps on your phone, but without having those apps on your phone -
just the features, provided by API, hidden behind a custom interface.

------
rounce
> Designing the UI for a given task around a purely conversational metaphor
> makes us surrender the full gamut of choices we’d otherwise have in
> representing each facet of the task in the UI and how they are arranged
> spatially and temporaly (sic).

It was here I succumbed to hypoxia.

~~~
dangrover
Hahaha, when I wrote that sentence, I thought "this is like bullshit a lit
major would write", then decided to keep it anyway. Glad someone caught it.

------
dk8996
This was such a nice read. The author points out a number of small problems
that add up to something much larger. I can see how we need some version of
something like the Internet for mobile devices -- not mobile web. I think the
whole mobile app ecosystem has become a big hindrance for users.

~~~
thebaer
Agreed. And I think the biggest problem with mobile apps is that many act like
they're still on the web -- rarely attempting to fit in to the OS with a
consistent UI, and inconsistently using native features that help with
interoperability.

------
usethis
I wholeheartedly agree, WeChat OA / apps were borne out of a need for a
simpler, faster and lighter mobile communication channel as opposed to bloated
websites and apps. Message bots reduce the barriers for interaction and offer
a more focused experience: they simplify payment, reduce data load, remove or
simplify account setup, offer better discoverability, etc. They are also
easier to add / remove and don't install anything on your OS.

Some of these issues can be solved by the OS: offering a unified notifications
center with a better customizable UX, a per channel notification history, and
more freedom to define follow-up actions. But unless the OS offers an
alternative to apps, the barriers to install an app will remain bigger than
installing a message bot, especially for one off communications.

I see an interesting future in a consolidated, block-chained B2C
communications app, with a unified API for payments, notifications, and common
UI elements. I can easily add contacts, and if I want marketing, I'll install
the app or visit their website.

ps. I can recommend the recent discussion around bots on the a16z podcast.

~~~
zrail
What good does a block chain add to a chat app?

~~~
tommorris
Buzzword compliance and never being able to remove private information.

------
JamilD
The last part of this reminded me of my favorite part of BB10, when I briefly
used it: BlackBerry Hub.

It was so freeing to have my texts, Facebook messages, emails, etc in one
place. People noticed I responded to messages faster, and I was much more
organized than when everything was fragmented into different apps. I just
_need_ something like this on the OS-level on iOS.

------
thebaer
Well _technically_ , Android doesn't sort notifications strictly reverse-
chronologically, but also within different priority levels that the apps
themselves choose (e.g. phone calls and direct messages = always at the top,
"Foo just liked Bar's video on FB" = hopefully at the bottom). Not sure if iOS
does the same.

------
dkarapetyan
Oh so this is why all of a sudden text UI is such a rage. Everyone is trying
to copy WeChat's success.

------
nathancahill
The nostalgia hit hard with the phone SMS screens.

~~~
tyingq
Me too. But...M-pesa is doing billions a month, now, with roughly the same old
SMS screens: [http://africanbusinessmagazine.com/wordpress/wp-
content/uplo...](http://africanbusinessmagazine.com/wordpress/wp-
content/uploads/2014/07/mobile-payment.png)

~~~
nojvek
M-pesa is really popular. I was telling my American buddy that a thug in US
would hold you to a gun point and take your wallet and cash. In Kenya, thugs
demand you to m-pesa money to their burner phone showing you a knife.

------
Dwolb
I think the bigger story with bots will be the aspect of a business that the
user doesn't interact with, namely the backend.

As businesses seek to provide their services wherever users are (any platform
that can take user input) we'll see businesses start to standardize interfaces
between any bot/app/web app and their own fulfillment operations. Then
businesses can take an incoming order from interface and send their product or
service out to a user.

It's funny that Amazon started doing this with their own services many years
ago.

------
wodenokoto
I'm surprised with the sentiment on HN about this.

Chat bots promises the power of the command line without the learning curve.

That is something to be exited about!

I'm not impressed by the Pizza example either. In my experience ordering via
Justeats app or website is ~30min longer than just calling the shop. In fact,
I will sometimes use JustEat to look at the menu and then call the shop to
save time.

Chat is obviously slower at typing than talking, but the tap-speed when typing
simply cannot be compared with tapping through menus.

And there is no wait for a chat bot.

------
elorant
I wonder when the marketing guys will get their head around this and then
we’ll have jobs like bot conversion expert, bot marketing ninja, bot social
expert, bot this and bot that.

------
miguelrochefort
Wrong. A new language will replace apps.

Here's how the world works. We have:

\- the actual world (one in total)

\- the perceived world (one per agent)

\- the ideal world (one per agent)

The goal of each agent is to get the actual world to match their ideal world.
To do that, they need to:

1\. make their perceived world match the actual world (learn)

2\. identify issues with the actual/perceived world in order to define their
ideal world (choose)

3\. share their ideal world with others (ask)

4\. find agents with complementing resources and desires (commit)

5\. act on commitments taken to further their ideals (do)

What we need is a communication platform with the above processes baked in.
Imagine a big semantic knowledge base holding the perceived world of all
agents, as an approximation to the actual world (which exists outside of it).
Think of it as an encyclopedia, a mirror of the world. All measurements of the
actual world made by humans, machines, or bots, will be pushed there. Whenever
you browse this knowledge graph, you get to contribute by confirming or
opposing facts. Eventually, you will notice a pattern and side with those who
agree with you the most. At this point, you can reliably expect those agent's
future perceptions to align with yours, and will notice the same for your
ideals/wishes. This is when you don't only get to learn about the
present/past, but get to decide about the future, shaping your ideals. This is
done just like you would describe perceived events, except this takes place in
the future. Wishes and predictions, are effectively communicated by describing
the future (the only difference being that you accept to lose
money/resources/reputation/score in exchange for a wish to happen, and you
accept to lose money/resources/reputation/score if a prediction doesn't
happen). Once the knowledge graph knows enough about you, it will be able to
identify complementing ideals/reality-deltas with other agents (i.e., "I need
a couch" and "I no longer need my couch"). This leads to a contract in which
all members agree in a shared future reality. This contract/commitment becomes
a prediction, and predictions that involve yourself often become todo/tasks
for to user to get done (expressed as the state of reality expected to be
met). Then, all people need to do is make the actual world match predictions
communicated by describing the future of the world.

Basically, all we need is a language and interface that let's people describe
the world in static terms (i.e., "I was in New York yesterday", "I am in
California today", "I will be in China tomorrow"). You don't want a Uber, you
want to be home before supper. You don't want to buy a drill on Amazon, you
want a hole in your wall. You don't want to unlock your door, you want to be
inside the house. You don't want to share a tweet, you want its content to be
seen.

By getting rid of all verbs except state verbs, we significantly simplify the
language. You quickly realize that "read a book", "watch a movie", "learn a
recipe", "listen to a song", "see a painting", "meet a person" can all be
replaced by "know x". When you share/retweet/submit/send/bookmark x, what you
actually want is for someone to "know x". The same thing applies when you
"send money", "ship a package", "fly to Hawaii", "walk to the drugstore",
"invite someone to an event", "order a pizza". They're all just ways to
describe "x is at y".

Natural languages are extremely inefficient. We keep repeating the same
things, over and over again. We say things that other people have already said
before, we say things we have already said before. This is insane. It would be
like everyone posting distinct comments on an article instead of upvoting a
comment that reflects their thought. Actually, it should not be possible to
communicate something that has already been communicated before. There should
be no difference between the act of searching for an existing comment/question
and coming up with a novel one (i.e., like on Stack Overflow). FAQs are
extremely useful, and prevent people from trying to formulate and ask
questions that have already been asked and answered. Why not apply that
concept to communication as a whole? That's what the knowledge base I
mentioned above is for. You no longer have to ask 99% of the questions you
would ask otherwise, and you can communicate about yourself by simply agreeing
or disagreeing with what has already been said by others.

I could go on, but I see this is going off the track. Natural language is
fundamentally limited and we must build a new communication platform (and
language) that will elevate humanity. The fact that nobody is talking about
this is impossible.

~~~
brotchie
Thanks. Really insightful.

I've never really considered the idea of _declarative_ AI personal assistant
interactions. The concept is pretty mind-blowing actually.

It's pretty damn obvious that's the way to go. i.e. You tell the AI the state
of the world you desire and it handles it given an information set much much
larger then you as an individual could possibly ingest.

Rather than the typical action of "AI bot send flowers to my wife" you'd say
"AI bot make my wife know that I love and care for her." Of what the "system"
knows about your wife's preferences, it can then indicate the action it
believe will maximize the likelihood of adjusting the world into the asked-for
state. That could be flowers, it could be a table for two at a restaurant
she'd mentioned in an Email 6 months ago that you've forgotten about.

Not "AI bot, order me an Uber to location x", rather "AI bot, get me to
location x ASAP."

~~~
yomritoyj
Why not just "AI bot, give me the best life possible"?

To be less flippant, declarative AI already exists where it is easy. An
airline booking website already gives you the ways to getting to location x
ASAP. But looking at the performance of current recommendation systems, and
natural language processing systems, I doubt if in the near future we would
have a bot that would be better than me in guessing whether my wife would
prefer flowers or a dinner on a particular anniversary, unless it cheats by
using my wife's private information, in which case she's going to hate me
either way.

~~~
miguelrochefort
> unless it cheats by using my wife's private information, in which case she's
> going to hate me either way

The should be no such thing as private information. The fact that you're
saying that access to it is "cheating" seems to indicate that access to it is
the best outcome on a productivity point of view. Why makes things more
difficult in the name of privacy when transparency makes everything easier?

------
ramwert
Actually I think its apps in store apps without the need of installation need
may. [https://medium.com/@ramwert/bots-wont-replace-apps-apps-
runn...](https://medium.com/@ramwert/bots-wont-replace-apps-apps-running-
inside-store-apps-without-installation-may-4caf62b06e1e#.3cwxa15jr)

------
galfarragem
Is Elixir/Erlang getting trendy because of the rise of bots and chat?

------
reitanqild
Now this seems to be an ux designer I'd be happy to listen to.

