 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.
User interface &amp; structure

User interface &amp; structure

  • 2.
     Role: Simplifyinginteraction 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.
  • 3.
     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.
  • 4.
     User InterfaceCovers 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
  • 5.
     Commands areissued to an application through a command dialog.  Three ways to implement command dialogs are: ◦ 1. Command Languages ◦ 2. Command Menus ◦ 3. Direct Manipulation
  • 6.
    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.
  • 7.
    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
  • 8.
     Principles ofCommand 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.
  • 9.
     Data foran 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.
  • 10.
     Important topromote & 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
  • 11.
     Hypertext:  Visualizesdocument 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.
  • 12.
     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.
  • 13.
  • 14.
     Automates thegeneration 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
  • 15.
     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
  • 16.
    Menulay:  Is anearly 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.
  • 17.
    Hypercard:  This UIMSis 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.