Role: Simplifying interaction of a user with an application.
Two aspects:
◦ 1. Issuing Commands.
◦ 2. Exchange of Data.
Requirement of UI?
◦ Before requirement was small & hence small applications.
◦ But now, applications have become so large that one programmer‟s team do not know any thing about other programmer‟s team working on same application.
◦ UI will keep track of information of functionalities & educating users for those applications.
Two components:
◦ 1.Dialog Manager
◦ 2.Presentation Manager
1. Dialog Manager:
◦ Manages conversation between user & application.
◦ Prompts user for command.
◦ Transmits command to application.
2. Presentation Manager:
◦ Displays data produced by the application in
appropriate manner on screen.
User Interface Covers Following Topics:
1. Command Dialogs
-Principle of command dialog design
2. Presentation of Data
3. Online Help
-Hypertext
4. Structure of User Interface
5. UIMS-User Interface Management Systems
-MenuLay
-HyperCard
Commands are issued to an application
through a command dialog.
Three ways to implement command dialogs
are:
◦ 1. Command Languages
◦ 2. Command Menus
◦ 3. Direct Manipulation
1. Command Languages:
Similar to command languages for OS.
Primitive Command Languages support: ◦ Imperative commands
◦ Syntax: <action><parameters>
Sophisticated Command Language support: ◦ Imperative commands (eg: instructions, statements)
◦ Declarative commands (eg: algorithms)
Have their own syntax and semantics
Problem with command language is? ◦ Need to learn syntax before using the application.
◦ Needs large time and efforts.
Solution?
On line help. How? ◦ Reduces syntax memorizing efforts.
◦ But, than too it needs some efforts initially to use it.
2. Command Menus:
Basic functionalities of application are reflected in menu choices.
Provides obvious advantage.
Hierarchy of menus explain functionality of applications. Eg. File, edit, view
Use can be simplified by “pull down” menu utilities. eg. C, vb(toolbar)
3. Direct Manipulation System:
Provides user with a visual display of universe of application. i.e. C Help, MSDN(for vb, online).
Display shows important objects in universe.
Actions or operations over objects are indicated using pointing devices eg. Cursor or mouse.
Eg: Spread Sheet
Principles of Command Dialog Design: These set of principles ensures effectiveness of command dialogs. ◦ 1. Ease of Use
◦ 2. Consistency in command structure
◦ 3. Immediate feedback on user commands
◦ 4. Error Handling
◦ 5. On line help to avoid memorizing command details.
◦ 6. Undo Facility
◦ 7. Shortcuts for experienced users.
Command menus score over command languages on principles 1,2 & 5.
Command languages score over command menus on principles 7.
But that limitation is eliminated by „type ahead‟ facility (menu shortcuts) which is the aid to experienced users.
Recent trend is in development of direct manipulation system in graphics.
Data for an application can be input through
free form typing.
Alternative option is form filling approach
which is good for large volume of data.
Application results representation: Tables.
Summery results representation: Graphs, pie
chart, etc.
Important to promote & sustain interest in use of an application.
It minimizes efforts of initial learning of commands.
Avoids using printed doc (books) to solve every doubts.
Forms:
◦ Online explanations,
◦ Demonstrations,
◦ Tutorials, ◦ Manuals.
Important aspect: fast access to efficient location of desirable information.
Eg: Hypertext
Hypertext:
Visualizes document consisting of
hierarchical arrangement of information.
Provides variety of means to locate required
information.
Forms:
◦ Tables & Indexes
◦ String searching functions
◦ Means to navigate within documents
◦ Backtracking facilities
Effectiveness depends on efficiency of
organization.
Two Components:
1. Presentation Manager: Responsible for
◦ Managing user‟s screen,
◦ Accepting data,
◦ Presenting results.
2. Dialog Manager: Responsible for
◦ Interpreting user command
◦ Implementing them by invoking related modules
◦ Error messages
◦ Online Functions
◦ Organizing changes in view.
Application
Code
Presentation
Manager
Dialog
Manager
Graphics
Package
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
Use
r
User
Interface
User
Interface
Automates the generation of user interfaces.
Input to UIMS?
Specification of presentation & dialog
semantics.
Output of UIMS?
Presentation and dialog managers of UI resp.
Types of Dialog Managers:
◦ Grammar
◦ Event Descriptions
◦ Finite State Machines
Grammar:
◦ Syntax & Semantics of commands are specified.
◦ Interface gets activated when user starts writing programs.
◦ EgYACC
Event Based Approach:
◦ Uses visual model of interface
◦ Screen with ICON is displayed to user.
◦ Event is generated by selecting icon.
◦ Eg: VB
Drawback of Grammar & Event Based Approach?
Lack the notion of sequence of actions
Solution?
Finite State Machine:
◦ Associate finite state machine with each states of machines.
◦ Has additional power to co-ordinate concurrent activities in different windows.
◦ Eg: SCADA for PLC controller‟s programming
Menulay:
Is an early UIMS
Consist of set of icons.
Set of semantic actions are specified for each
icon.
Action is performed when the icon is
selected.
System generates following:
◦ Set of Icon_Tables(name,description) of icon.
◦ Set of events and functions.
Same as VB.
Hypercard:
This UIMS is object oriented & event oriented given by Apple.
A card: has associated screen layout and background.
Contains buttons & fields.
Button can be selected by mouse.
Fields can be edited.
Hypercard is thus a hierarchy of cards called stack.
UI behavior is specified by associating ◦ An action in form of HyperTalk,
◦ Button
◦ Field
◦ Card.
Hierarchy of cards determine sequence of actions performed.
Thus, follows interpretive schematic for implementing a UI.