when lui does it better than gui
DESCRIPTION
TRANSCRIPT
GUI is limited.LUI is powerful and is coming.
@eig1st ComKUCamp 2009
28/6/2009
GUI - GRAPHICAL USER INTERFACE
GUI is great!
2+ dimensionperception
GUI is great!
Specify position
…BUT IT IS FAR FROM PERFECT
GUI == POINT-AND-CLICK IU
LUI – LINGUISTIC USER INTERFACE
WHEN LUI IS (MUCH FAR) BETTER
#1 Lots of choices to command
MS WORD
PHOTOSHOP
start up menu
GUI10+ objects (commands) – not easily point
LUIUncountable objects (commands)
- directly recognize and type
#2Define higher-level
command
“Hey Firefox? Select this page, translate it to Spanish, encrypt it with my mom’s public key, email it to her, hit send, and oh yeah save this chain of commands as a new command so I can use it later. Let’s call the new command ‘garblify’.”
http://jonoscript.wordpress.com/2008/07/26/why-verbs
Proof of power of LUI
BASHAlthough it has extremely high learning curve
(for user).
GOOD LUI
• Jono DiCarlo said… http://jonoscript.wordpress.com/2008/07/21/language-based-interfaces-part-1-the-problem/
• easy to learn.• efficient.• expressive.• abstract away details that user doesn’t care about.
ease of learning
• very close to the human language• Clues
– available commands– What to type next.– What will do if executed.
• Suggest other commands might be looking for• arguments
– what ranges are valid– what they mean.
• Propose commands appropriate to my working context or to the type of data I have selected.
efficiency
• Allow the user to start with the noun or to start with the verb.• Let me autocomplete a partial word with a keystroke.• Recognize words even if they’re super-abbreviated.• Remember what suggestions I’ve chosen in the past and pop
them up next time I give the same input.• Let me partially enter something, see the suggestions, choose
one as mostly-right, and edit that one some more before executing it.
• Guess, from my context and my selection, what I want, and fill most of it in for me, while letting me easily override it if it’s wrong.
expressiveness• Handle commands with multiple arguments, including optional arguments,
that can take various data types.• If I have data selected, let me use that selection as an input for any of the
multiple arguments — or for none of them.• Let me chain commands together, with the output of one going to the input
of the next, like Unix pipes.• If my input could mean more than one thing, give me a sensible way to
resolve the ambiguity.• Let me compose a complex command out of small parts, in the flexible way
that natural language does.• Let me save a complex command that I’ve created and give it a simple
name so I can re-use it in the future.• Give me an easy way to create my own commands — and to share them
with others.
abstract away details that user doesn’t care about.
• Ubiquity• Firefox awesome bar• Quicksilver• Google Desktop• gnome-do