To review my previous two posts:
Ubiquity needs a naming standard.
The standard must provide an attractive alternative to hyphenated-phrase-command-names. It must allow unambiguous command names, which means it must support multiple words in a command name. It must provide namespacing, and reduce competition for common verbs. The parser must be able to split up the words so you can enter them in any order that makes sense to you.
As if those weren’t tricky enough requirements, I’m adding one more: It must not increase the number of keystrokes that the user has to type to invoke a command.
For example, if part of the standard is “must start with a verb” — so that the “weather” command was renamed to “check weather” — it would be very bad if the user had to actually type “c-h-e-c-k–w-e …”. That would be forcing the user to do more typing for little or no gain. We need to make sure that the user can still type just “w-e-a” and have it complete to “check weather”.
Yes, I want a natural language interface, but that doesn’t mean I think we should be enforcing a strict grammar on people at the cost of efficiency. In real life people speak in fragments all the time, or start and stop in the middle of sentences, so a humane interface should allow the same.
January 25, 2009 at 6:02 pm
Having descriptive, natural language command names and using a fast interface isn’t mutually exclusive.
When a user begins using ubiquity he starts with “search google for this” commands. Then realises that typing “google this” does the same. And finally getting into a “g this” approach which is the ideal in my opinion. An average user uses less than twenty commands, and those can be mapped to a letter or two.
This happens in yubnub.org command line where you have long-descriptive-commands and short alias to them, which are used more often.
January 26, 2009 at 2:54 pm
This is why I like Ubiquity people – you guys are RUTHLESS! There’s nothing gonna get between you and the most usable CLI ever devised!
February 1, 2009 at 12:09 am
[...] DiCarlo posted a series of blog posts exploring a new approach to verbs in Ubiquity, culminating in a proposal for new Overlord [...]
February 17, 2009 at 8:50 am
[...] Over half a century later, those words ring prophetically true. Instructing a computer to do what you want with natural language is astronomically hard. That’s why Ubiquity cheats left and right to do it. It embraces ambiguity, uses tight feedback loops, and a restricted vocabulary plus grammar to give the appearance of something human. And it can do a lot better. [...]