| I've been thinking about this for a while, there are some cool things you could do with command-based interfaces. My take on it atm is to have a flexible (should work if you mistype a letter) command-based interface which is both voice and text based, where you can perform commands like: play songs from coldplay set alarm to friday at 3pm make list with words a, b and c. Give me a random item from the list There are some tricky parts though:
- Should it be context aware? Notice how I, in the second part of the last command mentioned "the list". I think it should, and maybe even ask "which list?" in case there is more than one. - How do you define commands in a way that makes it easy to add and compose commands, and reduces or eliminates the ambiguity for the parser? - Is the kind of parsing you do in voice recognition similar enough to be compatible with text parsing? If someone know about some tool similar to this, please let me know. EDIT: Fixed typo. |
Now, how would the UI go about specifying which previously defined list you want to refer to? Sometimes you'll want to pick the most recent, sometimes the one most closely matching the definition, sometimes the one matching the "alarm clock" format most, sometimes you'll want to offer the user a choice among all objects similar enough to the description (What about if the object was built iteratively, do you offer intermediary objects as possible choices?), sometimes you'll want to ask a short question to restrict possible choices, if there's seems to be a clear criterion that probably improves understanding fast enough more relative to the time it takes to ask (this can depend on the user/environment/situation to choose between fast/precise answer).
To me the difficulty is that the choice of strategy can be built on the fly depending on context by humans, usually without building an understanding of all possible strategies but instead by just magically guessing a strategies which seems to fit well enough. This means being able to learn strategies based on previous experiences and building an evolving understanding of contexts.
Now this is probably not necessary to build a functioning interactor, but this is a reasonable description of normal human interaction, and the capacity for systems to adapt to contexts without much more outside help than humans do is going to be a good way to rate them.