Hacker News new | past | comments | ask | show | jobs | submit login
Bots won't replace apps, only better apps will replace apps (dangrover.com)
260 points by rmason on Apr 23, 2016 | hide | past | web | favorite | 67 comments



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.


A superficially obvious idea, but it misses the point of the article. Web apps solve almost none of the problems mentioned in the article, and the introduce some of their own.

They don't solve any of the deep inter-app and cross-app integrations Dan talks about, except discoverability. They arguably solve sharing, but that's very questionable when your only form of "sharing" is copy/paste, which is not as easy as tapping on buttons on mobile. They don't solve the problem of keeping track of apps (at best - if a user adds web pages to their home screen, they are no worse than normal mobile apps). They revert everything back to a pull-based model, when what Dan is suggesting is an organized push-based model (as opposed to the push notification chaos today). And so on...

And then web apps introduce massive (in relative terms) latency / load times, which is a whole other can of worms, which is even worse than downloading multiple mobile apps. Yeah, you can talk about <foo> initiative to speed up web apps, but the fact is, nobody can really enforce those things.


Actually, I think web apps could do it. Some browser could just add a ton of proprietary JS APIs for notification, payment, identity, etc, in the same way that WeChat and Kik have.

The Chinese web browsers are beginning to bolt on features in the same way the chat apps have. News, offline file storage, ebook stores with offline support, etc.

Chrome almost had the right idea, but their app store makes no distinction between web-based apps that actually make use of Chrome's app-specific APIs and those that are just normal websites. There is no standard for a good experience from a Chrome app.

No reason Chrome/UC Browser/Brave/Opera in the west couldn't throw caution to the wind and rachet it up all the way, then wait a few years for WC3 to come along and pick up the pieces.

Result wouldn't be as good as if the OS and web standards properly evolved, but it's one way to make it happen.


I was about to add that web apps could fix all those with more browser features, but somehow I don't think every web browser vendor implementing their own proprietary payment/share/identity API is what readams had in mind (they are certainly not going to agree on a standard any time within the next 5 years).


Google wroked/works on protocol called "the physical web " for a version of the web that is more push-based, fitting smart objects around you:

https://google.github.io/physical-web/


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.


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.


As someone who doesn't use Facebook, sites that offer only federated login via Facebook are worthless.


I have recently implemented the revamped Google Login in an Android app. IMO this is an awesome user experience ... as long as you are ok with Google handling your credentials. Since you are using an Android phone with Play Services, you are supposed to be ok with that though ..

Something like Persona might have been a better solution, but in the meantime this is by far the best login solution on Android.

I have not been able to test Facebook in perfect conditions (I don't want the app on my phone) but having to go through a webview is pretty annoying, and brings a ton of security issues.


It'll be interesting if the rumors of Apple Pay for web are correct[1]. One could see a near future where using mobile Safari, iPhone users could login and pay at any website just with the credentials stored in Apple Pay + Keychain and the use of their thumbs. I'm sure something similar could be built for Chrome on Android with Android Pay.

1) http://recode.net/2016/03/23/apple-pay-coming-to-mobile-webs...


I'd much rather see a web standard not tied to Apple or Google but I think you're right that we're not going to get it.


I agree! I so much prefer rich web apps on mobile rather than native apps! When my Android phone gets an update for finer grain persion settings for apps I might soften this position, but not by much.


Kik attempts to solve this with an embedded browser and SDK. If you click a link in Kik it takes you to its own browser, which has various Kik specific JavaScript available.


This is one of the things that WeChat provides. When I hail a car from within the WeChat app, the UI I'm using is a web app provided by the car hailing platform. It's rendered within the WeChat window, and can access my personal info and WeChat payment.

The future that the parent to your comment described is already here.


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.


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.


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.


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


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


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


On the surface this initially sounded like snark, but the more I think about it the more appropriate the comparison (in the "decomposing a command line UX down to a conversation analogy" sense, less the other way). I hadn't thought of a command line that way even though it's glaringly obvious. Interesting thought.

We do quite literally talk to computers for a living. Well, shit.


They are discovering interoperability through simple data interchange format.


I think you misunderstood and that you are not alone in that.

The author specifically points out how it is not about text only or commands or anything.


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.


I don't think WeChat grabs any contacts


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.


This is the problem with lots of companies making their own bots--it doesn't actually make people's lives easier, it just shifts the problem. We don't need a bot for each business and service we use, we need well architected, well maintained, well documented APIs for each. If you have a good API and good brand awareness, you don't need to follow the fads; the community will do that for you.


This sounds terrible to me! The interactions are all backwards. It would work in an idealized non-commercial world, but not in the one we inhabit.

>> Choose the brands from below a) Papa Johns b) Dominos c) Pizzahut

I don't know! Which one's cheapest? By how much? Is it appreciably worse, should I go for the other one?

It's like a description of post-scarcity bot. I'd just cat /dev/pizza, or something.

But in the real world if I ever found myself in a position to make decisions like that without regard to cost I'm either paraletic or I have a human assistant. :)

(Semi-serious bit: Here in the UK, I'd go for local pizza chain. Dominos without a money off voucher costs more than a three course meal. I have no idea how they stay in business).


Great points @redmaverick. Your ideal interaction described above is what I called a 'meta-chatbot' i.e. a chatbot that interfaces with other bots and interacts on your behalf with them.

This bot receives input from you, based on its knowlwedge of available bots, routes your requests to them and pipes the response back to you.

The problem with the current bot arms race is that we end up shifting the app fragmentation issue from the device home screen to the messaging app screen.

We bot enthusiasts love to claim that one of the advantages of using bots is that the user is already within the messaging app. But when you have lots of bots for different 'small' tasks then there is still a huge fragmentation as you switch context from the taxi bot to the pizza bot.

I shared some thoughts on the 'meta-bot' here: https://medium.com/@pelumi/chatbots-igniting-division-of-lab... it will be great to know your thoughts


Likewise, I would have to search the web a lot and multiple click my way to what I want.

This. And this is what I want from Siri, too. I find it funny that the Siri examples are always so stupid. "What's the weather in $MYCITY?" You know, clicking on the weather app is actually faster than this.

What I cannot do fast and what Siri is apparently incapable of doing yet, is something like chaining information:

"Where can I buy snow chains on the way to Lake Tahoe with the least detour from my current route?"

"Where is the next Starbucks along my route to Amsterdam?"

I hope this comes soon. This would be incredibly helpful.


This is what we are settled to build at https://snips.ai -- by understanding your personal knowledge graph with privacy in mind, we aim to create an AI which understands you without leaking data.

As we grow our product, we will include commands to chat with the AI when you want to express a complex task, or a semi-specified task ("I want to watch a movie tonight" / "What kind of movie?")


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


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.


> My ideal interaction:

Gosh are your standards low. Can you really not think of something better?

> 1. Open Facebook Messenger

That's one too many step. Also why Facebook?

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

How did you decide that you wanted that? What if there was something else you could eat, like left-over or a new dish from some other restaurant? Are you sure you should be eating pizza, considering you should fast before tomorrow's blood tests? The friend that's coming over to eat with you is lactose intolerant, didn't you know?

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

I'm confused. Why only these 3 brands? What about "Tony's Pizzeria"? Why is Domino's in the suggestion, considering you didn't like their pizza last time you ordered?

> 4. me: Papa Johns

But you have a 50% off coupon for Pizza Hut that expires in 2 days!

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

How did you know they have that? You already have Pepsi in your fridge.

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

How does he know where or when you want this pizza delivered?

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

What do you mean downtown? Surely, you're looking to go to some specific place. It is not usual to do downtown without a more specific motivation.

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

How come does the bot not know where you are?

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

4 mins for either Uber or Lyft? That's odd. How do you choose which one is better? What about your roommate who's going downtown with his car in 10 minutes? There's heavy traffic, don't you think you should take public transportation instead?

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

How did you choose Spiderman 4? What about the other movies you might prefer? Do you know you didn't match Spiderman 3 yet? What about your brother who told you he'd be interested in going to watch Spiderman 4 with you at some point? How did you know you were free this evening? Shouldn't this interaction have started while you were looking at your agenda/calendar/timeline and thought of a way to fill that available time with entertainment?

> 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.

How do you know which of the 4 theatres is the best? What if you have a membership card to either of them with points and coupons? What if it's raining and some of theme is for from the nearest bus/subway station? What if you're meeting with a friend there, but he lives far from all 3 out of 4 theatres? Also, these ratings mean nothing as they don't consider your taste in movies.

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

Well, 7:30 is too early and 10:30 is too late. Why choose the theatre before the showtime?

> 20. me: I want groceries delivered via instacart

How did you decide to go with Instacart? What about alternative services which might be better for you?

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

Well, the weather is not very good Sunday and you might pay an extra to have it mowed. Why not Saturday? Your neighbor just bought some Roomba lawn mower robot thing, why don't you ask him instead? Surely, there are a lot of other people who could mow your lawn that aren't on Task Rabbit.

We can do much better than that. We won't get there through incremental progress. We need to rethink the whole communication thing.


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.


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


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.


What you're describing is exactly what I've been building for a year+. I'll post a Show HN as soon as the MVP is ready. I'm glad to see at least someone interested in such a product.

Your rant was actually a great read.


Sound great! looking forward to having a look when it comes out!


Could we create open standards? Yes. Will businesses? Probably not. A lot of 'apps' for food act as an aggregator, which is the closest I can come to an API. But they are locked into one provider - hell, even getting opening hours, menu and how to pay standardised is hard. These all have standards available. No one uses them enough.

Why not? Technical difficulty - my local pizza shop doesnt care about running a payment processing endpoint, structured data, etc. Its counter to their goals.

What we need is an open source point of sale system that is web first - oscommerce with a desktop UI kind of thing. Then it becomes easy to add in 'publish standard compliant data'


>Will businesses? Probably not.

Sadly no. The current version of mobile and the web relies on claiming consumer spaces and trying to herd users into them so they can be farmed.

It's a top-down control model.

Thinking in terms of bottom-up user value without imposing top-down control is alien to corporate psychology - even though if businesses agreed open low-friction global standards for payment processing and other kinds of interaction, possibly with some kind of profit sharing, they'd likely do better in the medium to long term.


Kinda like IFTTT?

https://ifttt.com/


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.


> 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.


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.


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.


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.


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.


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


Buzzword compliance and never being able to remove private information.


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.


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.


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


The nostalgia hit hard with the phone SMS screens.


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...


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.


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.


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.


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.


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.


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."


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.


> 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?


Exactly. One of the big problem in communication and reasoning is that people often skip the "why" and jump straight to a final solution. They immediately come up with a final/complete plan such as "I need to get my car and drive to the nearest Home Depot to purchase a hammer so that I can nail this painting to my bedroom wall". A proper AI assistant would challenge this demand/plan.

- Do you really need to use your car to get there? Can't you use your bicycle? Can you wait 15 minutes, your neighbor is also going to Home Depot? Can you wait for tomorrow, you'll drive right next to one in your way to work?

- Do you really need to go to Home Depot? You could find a hammer at Walmart, which is closer. You could ask your neighbor for one, he has many and he won't use them today. Maybe there's a Uber fo tools that you could use to rent it?

- Do you really need a hammer? Wouldn't some other heavy object do the job? What about this nailgun you received as a gift last year?

- Do you really need to nail that painting? Wouldn't it be a better idea to use some of those 3M wall tapes that support up to 30 pounds and can be removed without leaving a mark/hole?

- Do you really want to hang that painting in your bedroom? Wouldn't it be better in the living room? Should we ask "Stack Overflow for home decoration"?

By locking ourselves into final solutions, we miss all alternatives which in most cases are much superior. By having tools that do exactly as we ask, we can't get what we really need. We need tools that challenge us, ask "why" until they find the actual end and not just the means.

Fortunately, the why/how tree axis is first class in my communication platform. You need flour and water to bake bread. Why do you need flour? To bake bread. How will you bake bread? With flour and water. In the ideal world, you simply describe what you want in terms of the highest "why" you can think of, and the system then let you discover the different branches of "how" you can do it. The only reason we do things in a certain order is because of state dependencies. Each task (make dough) needs a valid starting state (access to water and flour) to be completed as the ending state (have dough). You can combine these tasks like you would dominos or functions (and apply all the usual concepts like map, lift, reduce, curry, monoids, monads).

Basically, people don't know what they want and tend to copy others and/or their last selves. In order to avoid that and lead to the most efficient solutions, we need a communication system that challenges people until they really understand what and why they want. I can easily imagine a person's complex set of preferences and interests to be reduced to a handful of high-level values/goals from which an infinity of possible plans/solutions/paths can be derived.


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...


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


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




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: