A Natural Language User Interface is just a User Interface
medium.com
medium.com
"No, please do not snap back the scrollbar when I move my mouse pointer farther away, keep scrolling!" or "No, bad computer! Do not select the entire URL if I single click, only when I double click!" or "It's a PDF! Don't give me a download box, render the PDF in the browser now!"
and the computer will understand what I mean, and update the GUI to work as I said.
Works for him.
We focus on NLUIs for the purposes of data querying. In many cases, natural language is concise and allows you to elide implied constraints.
For example, "Opportunities where I'm on the account team"
The SQL would be:
SELECT * FROM OPPORTUNITY
WHERE EXISTS
(SELECT 1 FROM account_team_member atm
JOIN opportunity ON opportunity.account_id = atm.account_id
WHERE atm.user = me)
There's a correlated subquery in there. Even if you are a SQL expert, your time to query formulation is far higher if you use SQL than English. Drag and drop UIs are just a thin veneer over SQL, so a drag and drop UI requires understanding the underlying data model and join structure.My argument here is that there are some key places where NLUIs really shine, especially when they are scrupulously combined with more traditional UIs.
Btw, upshotdata.com returns 403 --- probably this isn't news to you, but just in case.
http://mars.nasa.gov/mer/mission/tm-opportunity/opportunity-...
Followed by the system registering that you are "on the account team."
I do agree that NLUIs can shine where there are constrained/specific interaction contexts.
It may be that people have gotten used to Google/Bing accepting crap queries and still showing a decent rezult. But, I suspect the main problem is they couldn't explain what they wanted to a human, at least not without considerable conversation.
A better way to think about NLUI is having another person have access to the real GUI - and you are merely commanding the person to achieve certain goals.
The thing about advanced NLUI is that it can convert really vague context sensitive commands to highly structured set of sub-routines that programmers will never be able to do easily.
'what should I major in ?'
'which university should I apply to'
'what headphones is best ?'
....
Recommend University | Recommend Major | Recommend Headphones
Now...this set of capabilities is sort of an odd mix. But your application is going to be amazing if you can deliver on what your UI is promising here. If you can help someone make a better decision on their degree, that's life-changing. The UI that triggers that functionality seems quite beside the point.
The article's most crucial point is that a natural language UI is just another interface to the limited set of functionality the application is capable of. But to the current big players in these game, these limitations don't apply: if the parsed commands fall through all of their many layers of specialty logic, they can always fall back to a generic web search.
By doing so, they will have provided the user with an interface that tries to understand what they want, while being no worse than if the user had typed the same thing into a search bar. And all the while, they have routed the user's intent through their AI, enabling better personalized recommendations, and tracking of click-through rates.
(At the same time I have no difficulty and even prefer to call a local taxi using a voice menu based on my usual routes. These guys jump straight to business: "if your current address is X, press 0", "if you're going to Y, press 0", and then confirm; takes half a minute.)
The following post has an analysis on this, with many great examples in the real world today http://dangrover.com/blog/2016/04/20/bots-wont-replace-apps....