User Interface Design
(Lecture 7)
Dr. R. Mall
Command Language-Based
Interface
As the name itself suggests:
incorporates some language to form
commands.
Users frame the required
commands in the language:
type them in whenever required.
Design of command language
interface
Simple command language
interface:
determine all the commands
needed to be supported
assign unique names to the
different commands.
Design of command language
interface
A more sophisticated command
language interface:
allow users to compose primitive
commands to form more complex
commands.
Consider cat x.dat|grep 123
Like a programming language.
Command Language-Based
Interface
The facility to compose commands:
dramatically reduces the number of command
names users would have to remember.
Commands can be made concise
requiring minimal typing by the user.
allow faster interaction with the computer
simplify input of complex commands.
Advantages of Command Language
Interfaces
Easy to develop:
compiler writing techniques are
well developed.
Can be implemented even on cheap
alphanumeric terminals.
Much more efficient:
compared to other types of
interfaces.
Disadvantages of Command
Language Interfaces
Difficult to learn:
Require the user to memorize primitive
commands.
Require the user to type in commands.
Users make errors while:
formulating commands in the command
language
typing them in.
Disadvantages of Command
Language Interfaces
All interactions are through key-board:
cannot take advantage of effective
interaction devices such as a mouse.
For casual and inexperienced users,
command language interfaces are not
suitable.
Issues in Designing a Command
Language Interface
Design of a command language interface:
involves several issues.
The designer has to decide
what mnemonics are to be used for the
commands.
mnemonics should be meaningful
yet be concise to minimize the amount of typing
required.
Issues in Designing a Command
Language Interface
The designer has to decide:
whether users will be allowed to redefine
command names to suit their own
preferences.
Letting a user define his own mnemonics
for various commands is a useful feature,
but increases complexity of user interface
development.
Issues in Designing a Command
Language Interface
Designer has to decide:
whether it should be possible to
compose primitive commands to
create more complex commands.
syntax and semantics of command
composition options has to be
clearly and unambiguously decided.
Issues in Designing a Command
Language Interface
The ability to combine
commands is a powerful facility
for experienced users:
but quite unnecessary for
inexperienced users.
Menu-Based Interface
Advantages of a menu-based interface
over a command language interface:
users are not required to remember
exact command names.
typing effort is minimal:
menu selections using a pointing device.
This factor becomes very important for the
occasional users who can not type fast.
Menu-Based Interface
For experienced users:
menu-based interfaces is slower
than command language interfaces
experienced users can type fast
also get speed advantage by
composing simple commands into
complex commands.
Menu-Based Interface
Composition of commands in a
menu-based interface is not
possible.
actions involving logical connectives
(and, or, all, etc.)
awkward to specify in a menu-based
system.
Menu-Based Interface
If the number of choices is large,
it is difficult to design a menu-based
interface.
Even moderate sized software needs
hundreds or thousands of menu choices.
A major problem with the menu-based
interface:
structuring large number of menu
choices into manageable forms.
Structuring Menu Interface
Any one of the following options
is adopted to structure menu
items.
Walking menu
Scrolling menu
Hierarchical menu
Scrolling Menu
Used when the menu options are
highly related.
For example text height selection in a
word processing software.
Scrolling of menu items
lets the user to view and select the
menu items that can not be
accommodated on one screen.
Walking Menu
Walking menu is commonly used
to structure large menu lists:
when a menu item is selected,
it causes further menu items to be
displayed adjacent to it in a
submenu.
Walking Menu
A walking menu can successfully
structure commands only if:
there are tens rather than hundreds of
choices
each adjacently displayed menu does
take up some screen space
the total screen area is after all limited.
Hierarchical menu
Menu items are organized in a
hierarchy or tree structure.
Selecting a menu item causes the
current menu display to be replaced by
an appropriate submenu.
One can consider the menu and its
various submenu to form a hierarchical
tree-like structure.
Hierarchical menu
Walking menu are a form of
hierarchical menu:
practicable when the tree is shallow.
Hierarchical menu can be used to
manage large number of choices,
but, users face navigational
problems
lose track of where they are in the
menu tree.