Right now there is a lot of buzz around Conversational User Interfaces (CUI) and all the major players are jumping into some form of voice controlled services focussed on reducing the friction between user's and their devices. Over the years the imagination of science fiction world has inspiring and predicting future technology. I think once again Star Trek has paved the way in voiced controlled user interfaces with Computer (Caveat I am not saying Star Trek was the first).
What is a Conversation User Interface
A conversational user interface (CUI) is user interface that is based around a user conversing in some way with the program, rather than clicking buttons or giving discrete commands. The first time I heard this term was in the write up for Microsoft's Bot Framework and it made me think about the various things that had crept into the mainstream over the last decade or so.
In a sense the first CUI was the command line interface:
cd my-directory # change directory into "my-directory"dir # tell me what is in the current folder
But as you can see we have to learn the computer's language. But now with the emergence of chat bot's and voice assistants the machines are starting to learn to speak Human!
How close are we?
It seems to me that we are on the verge of having near feature parity with the Star Trek Computer in terms of voice and speech recognition. With Microsoft's technology being about to beat a human at transcribing human speech in both accuracy and speed all that is really lacking is the "intelligence" part.
Having played around with various machine learning ideas and services, having a very cursory understanding of how they work, I think we have a bit of work ahead of us until we can ask The Computer anything and it will accurately understand not only the words but the intent behind them. Humans are unpredictable and there are a lot of jumps of logic and context that goes into a "natural" interaction with another person. But it's getting there.
With the massive investment being made by the major players it's hard to see this technology not becoming ubiquitous soon. Amazon has their Alexis home assistant. Microsoft is hard at work with their Bot Framework and Services, Cognative Services and Cortana as well as proclaiming that training chat bots is going to be future job description; Apple has long been a leader in this space with Siri. And there are more coming out every day.
What does this mean for app and developers
I'll leave you with one thought because as I mentioned before the idea of the conversational user interfaces has made me think about the future of user interfaces. I wonder how long complex and wieldy mobile applications will last when instead of navigating through a small touch screen with big fingers you can simply tell your phone what you want to do. Imagine an calendar/email app that you could set up a meeting simply by saying:
"Computer setup a meeting with Number 1 in my ready room as soon as possible!"