In the Voice Assistant (VA) community, there has been a long-running discussion on the nature of the user interface. How natural should the interface be? What makes for perfect communication? What is realistic with respect to the technology at this point in time? What level of expertise do developers need to cultivate to deliver the expected level of user experience?
We’ve talked here before of the pressure on developers to deliver “naturalistic” voice experiences, where the user speaks freely and the VA understands fluently. Whether the voice recognition (VR) and voice parsing (VP) algorithms are up to users expectations is in question for the foreseeable future. Thinking more operationally, we think that “naturalistic” VA experiences are beyond the skill sets of most programmers who lack linguistic degrees.
Instead we subscribe to a competing approach which employs constrained (but broadly-used) vocabularies. We spend a lot of time training our users to speak in ways that computers understand. In this sense we think the future may mimic trends of the past, specifically the COBOL revolution.
The COBOL computer language is notable for allowing coders to use “English like the native syntax.” Native English speakers intuitively grasp grammatical relationships, for example, constructs like verb/direct object. COBOL is designed to use such quickly learned syntax which is also (helpfully) simple enough for computers to parse.
Example #1: Method of Loci
Human beings are uniquely wired to understand geography. This capacity is the basis for such memorization techniques as the Memory Palace.
The Method of Loci maps functionality onto geography to provide an intuitive navigation tool. Users navigate through options with simple, well-understood vocabulary (e.g. North, South, East, West). Functionality is discovered by “exploring” the geography. So it is intuitively obvious to a user how to find and access features.
Best of all the Method of Loci approach scales nicely. It can be expanded infinitely. The downside is that it gets a bit cumbersome with increasing complexity (yet another example of the “Picture Conveys A Thousand Words” problem).
Example #2 (to be continued)