SlideShare a Scribd company logo
1 of 145
Visual Programming and
.Net
MCA II,
Kantipur City College (Purbanchal University).
Procedural vs. Event-Driven
Programming
Procedural programming is executed in procedural order.
In event-driven programming, code is executed upon
activation of events.
Example of event driven
programming
The example displays a button in the frame. A message is
displayed on the console when a button is clicked.
RunRun
Events
An event can be defined as a type of signal to the
program that something has happened.
The event is generated by external user actions such as
mouse movements, mouse clicks, and keystrokes, or by
the operating system, such as a timer.
Event Handlers
Event handlers are the subroutines or methods that handle the
events to which the main program will respond.
Steps in creating event handlers
- write subroutines or methods for event handlers
- bind event handlers to events so that the correct function is
called when the event takes place
- write the main loop. This is a function that checks for the
occurrence of events, and then calls the matching event
handler to process it.
Software Design
Software design is defined as that portion of the
development process that is responsible for determining
how the program will achieve the user’s goal.
1. What the software program will do?
2. What it will look like?
3. How it will communicate with the user?
User Interface design is a subset of software design
that encompasses 2nd
and 3rd
points.
Goal Directed Design Process
 Cooper advocates five significant changes to the conventional
methods of software development in his goal-directed design
process:
1. Design first; program second.
2. Separate responsibility for design from responsibility for
programming.
3. Hold designers responsible for product quality and user
satisfaction.
4. Define one specific user for your product; then invent a
persona—give that user a name and an environment and
derive his or her goals.
5. Work in teams of two: designer and design
communicator
Benefits of goal oriented design
1) Improved product quality
2) Reduced development time—which leads to reduced cost
3) Improved documentation (Reducing the complexity of
the software reduces the time spent explaining software
problems and frees up time to explain how the software
can really help users).
Goal oriented design
Cooper insists that design precede programming:
In Cooper’s goal-directed approach to software
development,
all decisions proceed from a formal definition of the user
and his or her goals.
Definition of the user and user goals is the responsibility
of the designer—thus design precedes programming.
Evolution of the Software Development
Process
Cooper applies this model to three software
giants
who have failed to find a balance:
Novell emphasized technology and gave little
attention to desirability. This made it vulnerable
to competition.
Apple emphasized desirability but has made
many business blunders. Never-the-less, it is
sustained by the loyalty its attention to users
creates.
Microsoft is one of the best run businesses ever,
but it has not been able to create highly
desirable products. This provides an opening for
competitors.
Implementation model
The actual method of how a device or a program works
is called implementation model
Mental Model (Conceptual model)
The user point of view for thinking about the working
mechanism of a device or a program is called user’s
mental model or conceptual model.
(The way that the user perceives that the system works. )
Manifest Model
The disconnection between what is real and what is
offered gives rise to a third model called manifest
model.
It is a way the program represents its functioning to the
user.
Manifest Model
The closer the manifest model comes the user’s
mental model, the easier it will be to use and
understand”
Most software UIs are designed by engineers, so
conform to the implementation model
By making the manifest model simpler, we can
make it easier to learn and understand
Visual Interface Design
Graphical User Interface can be difficult to use
The qualities that makes a user interface good are user
centric and not technology centric.
Two user centric qualities:
Visualness of software
Programs vocabulary
Software that makes use of visual user interface is called
Visual Interface Design.
Visual processing
WORDS WRITTEN IN CAPITAL LETTERS ARE HARDER
TO READ
Books printed using a font with unusual proportion
becomes difficult to read.
VISUALLY SHOW WHAT TEXTUALLY SHOW
WHICH
Visual Patterns
Ability of our unconscious mind to group things into
patterns based on visual cues allows to process visual
information quickly
Understanding and applying how human mind processes
visual information is one of the key elements of
visual interface design.
Visual patterns cont.…
A visual interface is based on visual patterns.
Patterns are the engines of unconscious recognition.
Visual interface creates readily recognizable patterns.
text has secondary role to distinguish objects with similar
patterns
Restricting the vocabulary
Why GUI are POPULAR than Command Based Interface
Command line interface – Unlimited set of commands
GUI – restricted set of mouse based action
Canonical Vocabulary
A properly formed vocabulary is shaped like an inverted
pyramid – called canonical vocabulary.
Canonical Vocabulary
Canonical vocabulary
Language that do not follow canonical vocabulary is hard
to learn.
Idioms
Three interface paradigms
Technology paradigm
Based on understanding how things work – a difficult
proposition
Metaphor paradigm
Based on how things works – a risky method
Idiomatic paradigm
Based on learning how to accomplish things, a natural,
human process
Metaphors
Metaphors rely on analogy with some existing
concept or idea
 “Files”, “Folders”, “Windows”, “Trash”…
 User must recognize the metaphor, and understand
how to translate it
 Can be hit or miss…
 Physical world metaphors can limit their virtual
equivalents
How many of you understand Windows because of
its physical analogies?
Metaphor paradigm
Based on intuition
Sometime works sometime does not works
Can fail if there are cultural differences
Metaphor Paradigm don’t scale very well.
(e. g. File icons were a good idea when computers floppies
or 10 MB hard disk)
Metaphor paradigm
Never bend an interface to fit a metaphor
It may be easy to discover visual metaphors for physical
objects like printers and documents. It can be difficult or
impossible to find metaphors for processes, relationships,
services and transformations
Technology paradigm
Mostly admired by engineers
In order to successfully use the user must understand
how the software works.
Idiomatic paradigm
“All idioms must be learned. Good idioms only
need to be learned once”
Idioms focus on being easy to learn and recognize
We learn many UI features as idioms, rather then
metaphors
Idiomatic paradigm
Most of the GUI interface are idioms.
Windows, Caption bars, close boxes, screen-splitters,
drop-downs are learned idiomatically rather than intuit
metaphorically.
Affordances
“Affordances are properties of the World that are
compatible with and relevant for people’s
interactions.”
“Fundamental properties that determine just how
the thing could possibly be used.”
Manual Affordance
Directly manipulable and need no written instructions.
e.g. rotating round things, pulling handle shaped things
Modes
“A mode is a state the program can enter where the
effects of a user’s actions change from the norm”
Active (SHIFT) or Passive (CAPS LOCK)
Make it easy to change the mode and to see which
mode you are in
Modes cont.…
Older programs shifts into a special state to enter
records, then shift into another state to print them out,
these behavioral states are modes.
Modes based on the implementation model are
confusing modes.
For e.g. “Edit” mode versus “print” mode is convenient
only for the program not the user.
Overlapping windows
Used to transfer control between concurrently running
program
Intended to represent overlapping sheet of paper on the
desktop
Are overlapping windows good?
Overlapping windows
Concept is good but it’s execution is impractical in the real
world.
The no of pixels on today’s video screen is too small and users
cant afford to waste them.
Also if the no. of application running increases it doesn’t scale
well.
Overlapping within a single application is a well-formed idiom
e.g. tool palettes.
Unix solves this problem by providing multiple desktop.
Tiling
Divide applications to take certain space on the screen
(was popular on windows 1.0)
Dialog Box
A dialog box is another room. Have a good reason to go there.
This is one of the most violated tips in user interface
design.
E.g. Changing a drop shadow in a drawing program.
Programmer point of view:
Changing drop shadow is a separate function.
User point of view:
• Integral function
Dialog box cont.…
Purging a database, needs a separate dialog box
It is not a normal or everyday activity so is appropriate to
take into a separate dialog box.
Windows pollution
Using a single or a separate dialog box for each function
can lead to windows pollution.
For e.g. CompuServe Navigator (version 1.0.1)
File system tragedy
File system
Most difficult to understand for normal users
General user cannot understand difference between main
memory and disk storage.
The way we design our software forces normal user to
understand the difference.
E.g. Save as dialog box in a word document.
The origin of save as dialog box is a result of programmer
implementation model rather than user mental model.
Implementation model followed
by file system
Every document, file or program exists at two places
(disk and main memory) while in use
In a word document the program ask to save the data
before closing the window. It is as a result of the
implementation model of file system.
Unified File Model
Properly designed software will treat documents as single
instances never as a copy on a disk and copy in memory.
In unified file model save totally disappears from the
interface.
The save command should be done automatically by the
program periodically.
Closing the document
It is not a proper time to save or discard the changes
Save as dialog ask two things
Name of the file
Location to save the file
Both requires sufficient knowledge of file system hence
save as dialog box should not be used for naming and
replacing files.
Copy document
Save as dialog is a wrong tool for making
copies of document.
E.g. we are working on a document.
We make certain changes
When we use save as dialog box it creates a new file
with the new file currently in use.
It can lead to inconsistency.
Unify the file model
Our system does not allows to rename file currently in
use.
It is a sharing violation
If the system cannot rename the file currently in use it
should indicate the user with a visual clue.
E.g. showing a icon next to the file
Start button should make reference to the already
running program.
Following mental model
Commands in the program can be structured according
to the goals of the user instead of according to the needs
of the OS.
File menu can be replaced with document for word and
spreadsheet for excel.
Following mental model in
document properties
 Application designed following the user’s mental model.
 For creating a copy of the document
 “make snapshot copy”
 Naming and renaming the document.
 “rename/ reposition”
 Specifying the stored format of the document
 “document properties”
Note: format of document should not be associated with save as command.
• Creating a milestone copy of the document.
- “Make milestone”
• Abandoning all changes
- Abandon Changes
Storage and retrieval
system
Storage and retrieval system
Storage and retrieval system also follows implementation
model rather than user mental model.
Once the information is stored on disk it can be found
based on different indices
In real world 3 indices are used to retrieve a document
e.g. author, title, subject
Computer can handle hundreds of indices but in practice
only few indices are used.
Retrieval method
Three fundamental ways to find a document
Positional retrieval
Based on the storage location
Identity retrieval
Based on the name
Associative retrieval
Based on some inherent quality.
E.g. file with red cover, file discussing about interface design.
Positional and identity are also methods followed by storage
system.
Development Platforms
• Development cost is much higher compare to hardware
cost
• Develop software that performs optimally on hardware
that doesn’t exist yet.
Simultaneous multiplatform
development
Don’t develop software trying to cover all platforms
Build the program to run on only one platform at a time
Simultaneous multiplatform development generates more
uncertainty and delay
Myth of interoperability
Do not try to implement DOS version software in
windows platform.
The program should be designed for the target platform.
E.g. software for Mac and windows platform
User Computer
Interaction
Direct manipulation
Pen are examples of direct manipulation.
Pen are mostly easier for entering data.
Indirect Manipulation
Mouse is used to manipulate objects indirectly.
Mouse is one of the good idiom.
The motion of mouse is proportional. i.e. 30 cm screen
can be crossed in about 4 cm movement of mouse.
Gross motor control vs. fine
motor control
Gross motor control fine motor control
Elephants
Some people find mouse difficult to use so the software
need to fully support both the mouse and the keyboard.
Mouse Buttons
Left mouse buttons
Common meaning is activation or selection
It is used for all of the major direct manipulation functions of
triggering controls, making selections, drawing, etc.
Right mouse buttons
The non major functions reside on the right mouse buttons.
Vocabulary of a mouse actions is canonically formed so it
is a significant reason why mouse are such a good
computer peripheral.
Mouse actions
Pointing
Clicking
Single click selects the data or change the gizmo state.
 Escape route of clicking a button – click a button and
release it outside the button. It has no effect.
 The drawback of escape route is that instead of that we can
drag and release a justified buttcon on the paragraph of
text to make the paragraph justified.
Mouse actions contd. …
Double clicking
It means a single click plus action.
Double clicking on a paragraph of text selects a word.
It is also used to toggle the value of a list box
Chord clicking
Pressing two buttons simultaneously
Second mouse button is pressed at sometime before the
first mouse button is released.
E.g. used in terminating a drag
Mouse actions contd. …
Triple clicking
Used to select a paragraph in word.
Double dragging
Double click a word to select it and extend the selection
word by word by double dragging.
Useful when deleting a sentence from the paragraph.
Mouse actions contd. ...
Button up and down events
When selecting an object the selection should take place on
the button down.
Button down means propose action
Button up means commit to action over gizmos.
Cursor
Visual representation on the screen of the mouse’s
position.
Single pixel is designated as the actual locus of pointing
called the hotspot.
Any area or object on the screen that reacts to mouse
action is called pliant.
E.g. every character in the text is pliant
E.g. any object that can be picked up and dragged
E.g. a push button
Hinting
There are three basic ways to communicate the pliancy
of an object to the user.
By static visual affordance of the object itself
Its dynamically changing visual affordance.
By changing visual affordances of the cursor as it passes
over the object
Static visual hinting
If the pliancy of the object is communicated by the static
visual affordance of the object itself, it is called static
visual hinting.
E.g.
the 3D push button is a static visual hinting because of its
manual affordance for pushing.
Active visual hinting
When the cursor passes over the pliant object, the object
changes its appearance to visually hint, it is called active
visual hinting.
E.g.
when cursor is placed on an object and it changes its
appearance with an animated motion.
Cursor hinting
If pliancy of the object is communicated by a change in
the cursor as it passes over, it is called cursor hinting.
E.g. column dividers and screen splitters are good
examples of cursor hinting.
Wait cursor hinting
In windows by default hour glass is used to show “wait
cursor hinting”.
Problem with wait cursor
hinting
In non-preemptive system like Windows 3.1 when one program
go busy all go busy.
In preemptive system like windows 95 although one program
go busy other can run.
For e.g. when the user moves the cursor off a busy program’s
main window, the cursor will revert back to a normal state.
The visual hinting cannot show the busy state of the program
and it is wrong.
Each program should show its busy state by some change to its
own visage.
Focus
It indicates which program is active and will receive the
next input from the user.
When we click on a program to make it active, the action
is called new-focus click.
When we click somewhere in the window that already
has the focus, the action is called in-focus click.
Selection
Selection
In user interface we have to consider the sequence in
which the commands are executed.
Every command has an operation and one or more
operands.
Operation-describes what action will occur
Operands are the target of that operation.
Verb-Object/ Object-Verb
Operation and operands are programmers terms.
Interface designers prefer operation as verb and operand
as the object.
Modern interfaces use both verb-object/ object-verb
order.
• In programming language like COBOL verb object order
was popular
• E.g. Perform action (verb) on X and Y (objects)
Verb-Object/ Object-Verb
With the introduction of GUI verb-object ordering
created a problem
E.g. we don’t select an operation first then select the objet
to be acted upon.
In object-verb order user selects the objects to be acted
upon then selects the operation.
This process needs a mechanism for identifying, marking
and remembering the chosen operands.
Selection is a mechanism for identifying the
objects (operands)
Verb-Object/Object Verb
order
In linguistic context of English language it is irrelevant to
choose the object first.
On the other hand object-verb order is frequently used in
non linguistic action.
e.g. shopping cart
Concrete and Discrete
data
There are two broad categories of data
Some programs represent data as distinct visual objects
that can be manipulated independently of other objects.
e.g. graphic objects in drawing tools.
They are called discrete data and the selection within
them is called discrete selection.
Concrete and discrete
data
Some programs represent their data as a contiguous
pieces of data.
E.g. text in word processor or the cells in a spreadsheet.
These objects are often referred in a group and they are
called concrete data and their selection within them is
called concrete selection.
Concrete and discrete
selection
Both concrete and discrete selection supports both single
clicks and click and drag selection.
Nature of discrete selection – discontinuous
Nature of concrete selection – contiguous
Insertion and
Replacement
A single point that indicates a place in between two bits
of data is called the insertion point.
In word processor a blinking caret is an example of least
amount of concrete selection available.
Insertion is an example of null selection, if selection is null
it inserts the incoming character.
Insertion and Replacement
contd. …
In concrete selection, the incoming data always replaces
the currently selected data.
Insertion is an example of null selection, if selection is null
it inserts the incoming character.
Spreadsheet are different from word processor. Although
the selection is concrete there is no insertion point.
Mutual Exclusion
When a new selection is made previous selection is
unmade. This behavior is called mutual exclusion.
Mutual exclusion is used in both discrete and concrete
selection.
Additive selection
If we can select many independent objects by clicking on
more than one then we call it additive selection.
E.g. multiple selection list box.
Most discrete selection system implement mutual
exclusion by default and allows additive selection by
using a META KEY (shift)
However, concrete selection system should never allow
additive selection because there should never by more
than a single selection.
Group selection
Click and drag is the basis of group selection
Group selection can be modified using meta keys e.g. in
Ms. Word Ctrl + down-arrow selects sentence line by
line.
Dragrect – is simple click and drag operation on an
open area that selects discrete objects within the area of
mouse button down and up event.
Visual indication of selection
Make selection visually bold and unambiguous.
E.g. selected state of a button in a dialog box should be
visually indicated.
E.g. in Microsoft word selection of text is indicated by
controlling the color_highlight and color_highlighttext.
In drawing, painting, presentation programs where we
deal with multi color objects, the selected object can be
shown using marching ants.
Direct manipulation
Direct manipulation
Pushing buttons, scrolling text, drawing tools are all
examples of direct manipulation.
Direct manipulation should not be implemented without
adequate visual feedback.
A rich visual interaction is the key to successful direct
manipulation.
Direct manipulation should be simple, straight forward,
easy to use and easy to remember.
Management Category
In management category there are five variations of
direct manipulation
Making selection
Dragging and dropping
Manipulating gizmos (clicking push buttons, radio buttons,
checkboxes)
Resizing, reshaping and repositioning
arrowing
Anatomy of a drag
Most direct manipulation idiom demand a click and drag
operation.
The drag state is called capture because no other program
can interact with the user until the drag is completed.
The window that owns the mouse down point is called the
master object.
If master object is concrete data the drag will indicate a
selection however if the master object is discrete data, it
indicates the beginning of direct manipulation operation like
drag and drop.
Anatomy of a drag contd. …
Chord click is a popular cancel idiom for a drag operation
however word does not supports it.
Dragging gizmo
Cascading menu makes use of dragging gizmo. The
problem of cascading menu is that it deactivates when
mouse is placed outside of the menu area.
New menus are used these days which resolve the problem
of dragging associated with cascading menu.
Repositioning
It is the simple act of clicking on an object and dragging
it to another location.
Dedicate a specific physical area of the object for
repositioning function.
E.g windows draggability is the color of the caption bar, a
subtle visual hint that is purely idiomatic.
Repositioning contd. …
To drag text we use two series of action.
First click and drag to select text then click and drag again
to move it.
Resizing and reshaping
• In Mac resizing window is done using small resizing
control in the lower right corner
• In windows 3.x it was done using thick window frame but
the area it consumes was expensive.
• In windows 95 and onwards a new reshaping gizmo is
used, triangle in shape called shangle [shaper + triangle]
Resizing and Reshaping
Thick frames and shangles are fine for resizing however it is
not possible to permanently superimpose controls into
graphical elements of a drawing program.
Grapples (handles) are eight small squares used in drawing
programs to visually hint that the object can be resized.
They also indicate selection for moving
Grapples are not good solution for windows. Why?
Resizing and Reshaping
Polyline is also used while drawing non rectangular
objects and is important to fine tune the shape.
Resizing and Reshaping meta
Key variants
Constrained drag
Is a drag used to constrain the drag to another orthogonal
direction. Using one of the meta key like shift.
Constraint drag stays on a 90 degree or 45 degree axis
If the meta key is found pressed at the
instant when the mouse button is
released the effect is considered
valid
Arrowing
A direct manipulation idiom in which user clicks and
drags from one object to another to draw an arrow
The line is animated while drawing to visually indicate
the path. It is called rubber banding effect.
The target object engage in some active visual hinting.
Direct manipulation visual
feedback
The key to successful direct manipulation is rich visual
feedback
We can divide the direct manipulation process into three
distinct phases
Free phase
Captive phase
Termination phase
Free Phase
Before the user takes any action.
Free phase indicates direct manipulation pliancy
Free cursor hinting
E.g. Handshaped cursor to indicate that document is
draggable.
Captive phase
Once the user has begun the action e.g. drag
Captive phase potentially indicate that the direct
manipulation process has begun
Visually identify potential participants in the action.
Captive cursor hinting
• Holding down a control key during the drag can make
copy of the object instead of dragging the object itself.
Here the cursor changes from arrow to arrow + to indicate
the operation is a copy rather than a move.
Termination phase
Plainly indicate that the action has terminated and show
exactly what the result is.
Dragging
Interior drag and drop
Drag and drop something from one place to another
inside a program.
Exterior drag and drop
Drag and drop something from inside your program to
some other program
Dragging cont. …
When a user clicks on a discrete object to drag then it is
called a master.
When the user clicks on the master and drags to another
discrete object to perform a function then it is called
target.
There are master and target, two objects involved while
dragging.
Dragging data to
functions
Dragging files to recycle bin or zip program.
Here possible targets of a drop is called a drop candidates.
While dragging the master, the object may pass quickly over
dozens of drop candidates before the user actually positions
over the desired target.
If the protocol requires extensive communication between the
master and the drop candidate, the interaction can be sluggish.
Dragging data to
functions
The drop candidate must visually indicate its drop-ability
i.e. it can accept the drop.
The weakest way to offer the visual indication of drop-
ability is by changing the cursor. WHY?
(because the drag cursor must visually indicate the master
object).
Indicating drag pliancy
Do-not animate the whole drag object.
Indicating drop pliancy
While dragging it can travel over various drop
candidates.
These drop candidates must visually indicate that they
are being aware of being considered as potential drop
targets.
Visual indication of
completion
After the drag the master should disappear from its
source and reappear in the target.
If the target is a function then it must visually hint. It can
be done using animation or visually hinting.
Tool manipulation – Drag and
drop
• A shape is dragged on a canvas in a drawing program.
• It has two basic variants
• Modal tool
• Changed cursor
Modal tool
User select a tool and the program is now completely in
the mode of that tool.
Spray tool – Once the program enters into that mode it
remains to stay in that mode until we change it.
Charged cursor
When a tool is selected the cursor is changed or loaded
with a single instance of the selected object.
Once checked the cursor changes back to the normal
state. E.g. photoshop, visual basic
(Delphi does not shows the charged cursor)
Bombsighting
As the user drags object arrow around the screen, each drop
candidate visually changes, which indicates its ability to accept
the drag.
In some programs like Word objects can be dropped in the
spaces between other objects called bombardier.
The visual hinting is drawn on the background of the program
or in its concrete data called bombsight.
E.g. rearranging slides in slide sorter view.
Whenever something can be dragged and dropped on the space
between other objects, the program must show a bombsight.
Drag and drop problems and
solutions
If some block of text is dragged and it is to be placed
somewhere below the document which is not visible,
then such an action is called auto scrolling.
Any scrollable drag and drop target must auto scroll.
Designers should manage the speed of autoscroll.
Drag and drop twitchiness
The frequent act of selecting an object should not be
interpreted as an initiation of drag and drop.
Hence to remove this problem there should be drag
threshold.
All mouse movement message that arrives after the
mouse button goes down and capture begins are ignored
when the movement exceeds some small threshold
amount.
Designers should debounce small drags.
Mouse vernier
The drawing manipulation program should provide
mouse vernier function where the user can quickly shift
into a mode that allows much finer resolution for mouse
based manipulation of objects.
E.g. Arrow keys can be used to move one pixels at a time
MENU
First Hierarchical menus
Choices were given indicated by an ordinal e.g. 1 – 6.
Once the selection was made another set of menus were
shown drilling down into a tall tree of commands.
E.g.
1. Enter commands
2. Enter pay units
3. Exit
Visible Hierarchical Menu
Popular in character based interface
E.g. Lotus 1-2-3
The menu were enabled using a forward slash ( / ) and
command. E.g. /s
Monocline grouping
The storage technique which uses a single level of
nesting is called monocline grouping. E.g. a bookshelf
one level deep file cabinet
• However, monocline grouping is an inadequate system
for managing the large quantities of data we commonly
find on computers.
• The solution to this is monocline grouping with powerful
search and access tools that hierarchy can offer.
Popup menu
A popup window is a rectangle on the screen that
appears, overlapping and obscuring the main part of the
screen, until it has completed its work.
It disappears after it complete its work.
The popup window is the mechanism used to implement
both pull down menus and dialog boxes.
The user makes a single choice by clicking once or by
dragging and releasing.
Popup menu contd. …
The selection the user makes at the popup menu level
either takes immediate effect or calls up a dialog box.
The concept of monocline grouping is implemented in
popup menu.
(The dialog box enabled the software designer to
encapsulate all of the sub-choices of any one menu
option in a single, interactive container)
• The need to go to additional levels of menus was made
superfluous.
Command vector
The two idioms that fundamentally changed the role of
the menu in the user interface are direct manipulation
and objects.
Each distinct technique used for issuing instruction to the
program is called a command vector.
Menus, direct manipulation, toolbars are examples of
command vector.
Immediate vectors
Both direct-manipulation and toolbar command vectors
have the property of being immediate vectors.
Neither menus nor dialog boxes have this immediate
property.
Pedagogic Vector
Menus and dialog boxes contains the detailed
information of what a particular function performs.
Hence, it is important for first time users or beginners.
Menu and dialog boxes are important for teaching
purpose, hence they are called pedagogic vector.
Standard Menus
Most GUI have at least “File” and “Edit” menu in the left
most position and “Help” menu at the right.
Windows style guide states that these File, Edit and Help
menus are standard.
File menus is as a result of the implementation model, they
way our OS works.
Edit menu is based on the clipboard.
The three menu, file, edit and help are examples of weak
menu interfaces.
Standard menus
Other menu like “Window”, “view”,
“Insert” ,”Format”, “tools” and “options” are not
common in all programs but are also standard menus.
Menus like view, insert, format, tools, options are
grouped on the basis of tools and functions rather than
goals.
The menus should be more goal oriented
Correct form of menus
The correct form of menus depends upon the individual
need of the program.
Menus can be ordered according to their scope e.g.
global menus on the left and specific menu items on the
right.
Menu item variants
Disabling menu items
Gray out the menu item which are not relevant to the selected
data.
Enabling and disabling of menu items reflects their appropriate
use.
Cascading menus
Used in windows 3.1 to show secondary menu.
Popup menus (monocline grouping) are nice alternative to
cascading menu where items are in hierarchy.
Cascading are weak idiom and should not be the first choice
while designing an interface. E.g. windows 95 start bar.
Menu item variants
Flip – flop menu items
Flip-flop is a type of menu item that alternates between the
two values, always showing the one currently not chosen.
It saves space.
In some cases it maybe confusing to neophyte users since it
does not shows the other state.
E.g. Display Tools/ Hide Tools.
An alternate to display tools can be display tools now
Menu item variants
Graphics on menu
Visual symbols next to menu items helps to differentiate easily
without reading.
It can be understood faster.
It easily shows connection to other gizmos that do the same
task.
A menu should show same image as its corresponding toolbar
buttcon.
E.g. cascading makes use of graphics on menus
Menu item variants
Bang menu item
Top-level menu item – on the horizontal menu bar – that
behaves like an immediate menu item which gets
executed instantly.
E.g. complie! button in C can be a bang menu item.
Don’t use bang menu items.
Buttcons on a toolbar behave like a bang menu items.
Menu item variants
Accelerators
Provides an additional optional way to invoke a function from
the keyboard.
Accelerators are function keys which are activated with a CTRL,
ALT or SHIFT keys.
Accelerators are an easy way to activate a command.
Follow standards while using accelerators. E.g. Ctrl + P (print),
Ctrl + S (save)
Show how to access them in menus
Frequently used menu items (functions) must have accelerators.
Menu item variants
Mnemonics
Underlined letter in the menu item.
Theses are keystrokes commands used in parallel to the direct
manipulation of menus and dialogs.
Mnemonics are executed with the use of ALT meta key.
The purpose of mnemonics is to provide keyboard equivalent
of each menu command.
Mnemonics are not optional. Experienced users enjoy using
mnemonics.
System menu
Present in the upper left corner. Also referred to as
control menu.
It can be invoked using Alt + Spacebar.
System menu are not useful since the commands present
in system menu like minimize, maximize, restore, close
are shifted at the end of the caption bar in the form of
icons.
Dialog boxes
Dialog Boxes
Engages the user in a conversation by offering some
information and requesting some input.
It has the option of accepting or rejecting the changes.
When the application presents a dialog box, it is
temporarily moving the action out of the mainstream.
“Put primary interaction on the primary window”.
Dialog boxes should be used only for secondary action.
Dialog box contd. …
Dialog box breaks the normal flow.
Dialog boxes are well-suited for presenting infrequently
used functions.
Dialog boxes also play a part in the pedagogic vector like
menu does. (teach users)
Dialog box basics
The dialog box may or may not have a caption bar
Dialog boxes are always placed visually on top of their owning
program.
Every dialog box has at least one terminating command.
Generally most dialog boxes will offer two push buttons as
terminating commands Ok and Cancel.
Some dialog box are unilaterally erected and removed by the
program e.g. dialog box showing progress of a file being
copied
Types of dialog boxes
Modal dialog boxes
Once this dialog box comes up the owning program
cannot continue until the dialog box is closed. E.g. print
dialog box.
Since modal dialog box only stop their owning program
they are also called application modal.
A dialog box called system modal can also be called
which halts all the running programs.
Never create a system modal dialog box.
Modeless dialog boxes
The owning program continues without interruption in
modeless dialog box.
E.g. find, replace dialog box in MS Word.
We can change the selection while the modeless dialog
box is still open.
Modeless dialog boxes are close in resemblance with
modal dialog box but functionally different.
Thank You!

More Related Content

What's hot

Outsourcing And Cloud Computing
Outsourcing And Cloud ComputingOutsourcing And Cloud Computing
Outsourcing And Cloud ComputingAlan McSweeney
 
ECU Flashing: Flash Bootloaders that Facilitate ECU Reprogramming
ECU Flashing: Flash Bootloaders that Facilitate ECU ReprogrammingECU Flashing: Flash Bootloaders that Facilitate ECU Reprogramming
ECU Flashing: Flash Bootloaders that Facilitate ECU ReprogrammingEmbitel Technologies (I) PVT LTD
 
CS6010 Social Network Analysis Unit V
CS6010 Social Network Analysis Unit VCS6010 Social Network Analysis Unit V
CS6010 Social Network Analysis Unit Vpkaviya
 
Recommender system
Recommender systemRecommender system
Recommender systemSaiguru P.v
 
“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...
“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...
“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...Edge AI and Vision Alliance
 
API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture Nadeesha Gamage
 
Avaya iptel-imp-guide3.1
Avaya iptel-imp-guide3.1Avaya iptel-imp-guide3.1
Avaya iptel-imp-guide3.1Grzegorz Kruk
 
Nepal Police(Inspector) Computer Engineer/IT MCQ questions
Nepal Police(Inspector) Computer Engineer/IT MCQ questionsNepal Police(Inspector) Computer Engineer/IT MCQ questions
Nepal Police(Inspector) Computer Engineer/IT MCQ questionsRaiz Maharjan
 
A content based movie recommender system for mobile application
A content based movie recommender system for mobile applicationA content based movie recommender system for mobile application
A content based movie recommender system for mobile applicationArafat X
 
CS6010 Social Network Analysis Unit III
CS6010 Social Network Analysis   Unit IIICS6010 Social Network Analysis   Unit III
CS6010 Social Network Analysis Unit IIIpkaviya
 
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...Splunk
 
CS6010 Social Network Analysis Unit I
CS6010 Social Network Analysis Unit ICS6010 Social Network Analysis Unit I
CS6010 Social Network Analysis Unit Ipkaviya
 
Tower Operations Centre - Architecture & Blueprint
Tower Operations Centre - Architecture & BlueprintTower Operations Centre - Architecture & Blueprint
Tower Operations Centre - Architecture & BlueprintShahid Abbasi
 
Gravitee API Management - Ahmet AYDIN
 Gravitee API Management  -  Ahmet AYDIN Gravitee API Management  -  Ahmet AYDIN
Gravitee API Management - Ahmet AYDINkloia
 

What's hot (20)

VANET
VANETVANET
VANET
 
Outsourcing And Cloud Computing
Outsourcing And Cloud ComputingOutsourcing And Cloud Computing
Outsourcing And Cloud Computing
 
ECU Flashing: Flash Bootloaders that Facilitate ECU Reprogramming
ECU Flashing: Flash Bootloaders that Facilitate ECU ReprogrammingECU Flashing: Flash Bootloaders that Facilitate ECU Reprogramming
ECU Flashing: Flash Bootloaders that Facilitate ECU Reprogramming
 
Can Bus communication Protocol
Can Bus communication ProtocolCan Bus communication Protocol
Can Bus communication Protocol
 
Can Protocol For Automobiles
Can Protocol For AutomobilesCan Protocol For Automobiles
Can Protocol For Automobiles
 
CS6010 Social Network Analysis Unit V
CS6010 Social Network Analysis Unit VCS6010 Social Network Analysis Unit V
CS6010 Social Network Analysis Unit V
 
Ca npp t
Ca npp tCa npp t
Ca npp t
 
Recommender system
Recommender systemRecommender system
Recommender system
 
“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...
“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...
“Embedded Vision in ADAS and Autonomous Vehicles: Navigating the New Reality,...
 
API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture
 
Avaya iptel-imp-guide3.1
Avaya iptel-imp-guide3.1Avaya iptel-imp-guide3.1
Avaya iptel-imp-guide3.1
 
Nepal Police(Inspector) Computer Engineer/IT MCQ questions
Nepal Police(Inspector) Computer Engineer/IT MCQ questionsNepal Police(Inspector) Computer Engineer/IT MCQ questions
Nepal Police(Inspector) Computer Engineer/IT MCQ questions
 
A content based movie recommender system for mobile application
A content based movie recommender system for mobile applicationA content based movie recommender system for mobile application
A content based movie recommender system for mobile application
 
CS6010 Social Network Analysis Unit III
CS6010 Social Network Analysis   Unit IIICS6010 Social Network Analysis   Unit III
CS6010 Social Network Analysis Unit III
 
How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
 
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
 
Tolling system
Tolling systemTolling system
Tolling system
 
CS6010 Social Network Analysis Unit I
CS6010 Social Network Analysis Unit ICS6010 Social Network Analysis Unit I
CS6010 Social Network Analysis Unit I
 
Tower Operations Centre - Architecture & Blueprint
Tower Operations Centre - Architecture & BlueprintTower Operations Centre - Architecture & Blueprint
Tower Operations Centre - Architecture & Blueprint
 
Gravitee API Management - Ahmet AYDIN
 Gravitee API Management  -  Ahmet AYDIN Gravitee API Management  -  Ahmet AYDIN
Gravitee API Management - Ahmet AYDIN
 

Viewers also liked

What's New In CompTIA Security+ - Course Technology Computing Conference
What's New In CompTIA Security+ - Course Technology Computing ConferenceWhat's New In CompTIA Security+ - Course Technology Computing Conference
What's New In CompTIA Security+ - Course Technology Computing ConferenceCengage Learning
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETV Sanchez
 
Chapter 15 Presentation
Chapter 15 PresentationChapter 15 Presentation
Chapter 15 PresentationAmy McMullin
 
CompTIA Security+ Guide
CompTIA Security+ GuideCompTIA Security+ Guide
CompTIA Security+ GuideSmithjulia33
 
ITIL Foundation Training
ITIL Foundation TrainingITIL Foundation Training
ITIL Foundation Trainingstefanhenry
 
Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)pbarasia
 
System Design and Analysis 1
System Design and Analysis 1System Design and Analysis 1
System Design and Analysis 1Boeun Tim
 
Visual Basic Codes And Screen Designs
Visual Basic Codes And Screen DesignsVisual Basic Codes And Screen Designs
Visual Basic Codes And Screen Designsprcastano
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental PrinciplesIntro C# Book
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentationsameerraaj
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and DesignAamir Abbas
 

Viewers also liked (13)

What's New In CompTIA Security+ - Course Technology Computing Conference
What's New In CompTIA Security+ - Course Technology Computing ConferenceWhat's New In CompTIA Security+ - Course Technology Computing Conference
What's New In CompTIA Security+ - Course Technology Computing Conference
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
 
Chapter 15 Presentation
Chapter 15 PresentationChapter 15 Presentation
Chapter 15 Presentation
 
CompTIA Security+ Guide
CompTIA Security+ GuideCompTIA Security+ Guide
CompTIA Security+ Guide
 
Object-Oriented Programming Using C++
Object-Oriented Programming Using C++Object-Oriented Programming Using C++
Object-Oriented Programming Using C++
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 
ITIL Foundation Training
ITIL Foundation TrainingITIL Foundation Training
ITIL Foundation Training
 
Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)
 
System Design and Analysis 1
System Design and Analysis 1System Design and Analysis 1
System Design and Analysis 1
 
Visual Basic Codes And Screen Designs
Visual Basic Codes And Screen DesignsVisual Basic Codes And Screen Designs
Visual Basic Codes And Screen Designs
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentation
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 

Similar to Vp all slides

User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design Saqib Raza
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1Sameer Chavan
 
User Experience Distilled
User Experience DistilledUser Experience Distilled
User Experience DistilledHindu Dharma
 
Human Computer interaction -Interaction design basics
Human Computer interaction -Interaction design basicsHuman Computer interaction -Interaction design basics
Human Computer interaction -Interaction design basicsGEETHAS668001
 
From Use to User Interface
From Use     to User InterfaceFrom Use     to User Interface
From Use to User Interfaceabcd82
 
User Interface Design For Programmers
User Interface Design For ProgrammersUser Interface Design For Programmers
User Interface Design For ProgrammersChris Poteet
 
Principles of Health Informatics: Usability of medical software
Principles of Health Informatics: Usability of medical softwarePrinciples of Health Informatics: Usability of medical software
Principles of Health Informatics: Usability of medical softwareMartin Chapman
 
SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Designghayour abbas
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System RequirementsLaura Arrigo
 
1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docx
1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docx1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docx
1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docxhoney725342
 

Similar to Vp all slides (20)

Slides chapter 12
Slides chapter 12Slides chapter 12
Slides chapter 12
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1
 
UI architecture & designing
UI architecture & designingUI architecture & designing
UI architecture & designing
 
User Experience Distilled
User Experience DistilledUser Experience Distilled
User Experience Distilled
 
Seii unit5 ui_design
Seii unit5 ui_designSeii unit5 ui_design
Seii unit5 ui_design
 
Human Computer interaction -Interaction design basics
Human Computer interaction -Interaction design basicsHuman Computer interaction -Interaction design basics
Human Computer interaction -Interaction design basics
 
Unit v
Unit vUnit v
Unit v
 
Design patterns
Design patternsDesign patterns
Design patterns
 
From Use to User Interface
From Use     to User InterfaceFrom Use     to User Interface
From Use to User Interface
 
User Interface Design For Programmers
User Interface Design For ProgrammersUser Interface Design For Programmers
User Interface Design For Programmers
 
ICT.docx
 ICT.docx ICT.docx
ICT.docx
 
Ux design-fundamentals
Ux design-fundamentalsUx design-fundamentals
Ux design-fundamentals
 
Principles of Health Informatics: Usability of medical software
Principles of Health Informatics: Usability of medical softwarePrinciples of Health Informatics: Usability of medical software
Principles of Health Informatics: Usability of medical software
 
SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Design
 
End user development
End user developmentEnd user development
End user development
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
 
ITFT - Software
ITFT -  SoftwareITFT -  Software
ITFT - Software
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docx
1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docx1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docx
1 PROGRAM ISEM RESEARCH PAPER FOR APPLIED.docx
 

More from Aman Adhikari

Algorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman AdhikariAlgorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman AdhikariAman Adhikari
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsAman Adhikari
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validationAman Adhikari
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project planningsAman Adhikari
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project planningsAman Adhikari
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mcaAman Adhikari
 
Research problem unit2 supplementary
Research problem unit2 supplementaryResearch problem unit2 supplementary
Research problem unit2 supplementaryAman Adhikari
 
Research methodology unit i
Research methodology unit iResearch methodology unit i
Research methodology unit iAman Adhikari
 
Research methodology unit6
Research methodology unit6Research methodology unit6
Research methodology unit6Aman Adhikari
 
Research methodology – unit5
Research methodology – unit5Research methodology – unit5
Research methodology – unit5Aman Adhikari
 
Research methodology – unit 9
Research methodology – unit 9Research methodology – unit 9
Research methodology – unit 9Aman Adhikari
 
Research methodology – unit 4
Research methodology – unit 4Research methodology – unit 4
Research methodology – unit 4Aman Adhikari
 
Research methodology unit5
Research methodology   unit5Research methodology   unit5
Research methodology unit5Aman Adhikari
 

More from Aman Adhikari (20)

Algorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman AdhikariAlgorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman Adhikari
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methods
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validation
 
Mca 1st & 2nd final
Mca 1st & 2nd finalMca 1st & 2nd final
Mca 1st & 2nd final
 
Software testing
Software testingSoftware testing
Software testing
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
 
Software ee1
Software ee1Software ee1
Software ee1
 
Software ee111
Software ee111Software ee111
Software ee111
 
Research problem unit2 supplementary
Research problem unit2 supplementaryResearch problem unit2 supplementary
Research problem unit2 supplementary
 
Research methodology unit i
Research methodology unit iResearch methodology unit i
Research methodology unit i
 
Research methodology unit6
Research methodology unit6Research methodology unit6
Research methodology unit6
 
Research methodology – unit5
Research methodology – unit5Research methodology – unit5
Research methodology – unit5
 
Research methodology – unit 9
Research methodology – unit 9Research methodology – unit 9
Research methodology – unit 9
 
Research methodology – unit 4
Research methodology – unit 4Research methodology – unit 4
Research methodology – unit 4
 
Research methodology unit5
Research methodology   unit5Research methodology   unit5
Research methodology unit5
 

Recently uploaded

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 

Recently uploaded (20)

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 

Vp all slides

  • 1. Visual Programming and .Net MCA II, Kantipur City College (Purbanchal University).
  • 2. Procedural vs. Event-Driven Programming Procedural programming is executed in procedural order. In event-driven programming, code is executed upon activation of events.
  • 3. Example of event driven programming The example displays a button in the frame. A message is displayed on the console when a button is clicked. RunRun
  • 4. Events An event can be defined as a type of signal to the program that something has happened. The event is generated by external user actions such as mouse movements, mouse clicks, and keystrokes, or by the operating system, such as a timer.
  • 5. Event Handlers Event handlers are the subroutines or methods that handle the events to which the main program will respond. Steps in creating event handlers - write subroutines or methods for event handlers - bind event handlers to events so that the correct function is called when the event takes place - write the main loop. This is a function that checks for the occurrence of events, and then calls the matching event handler to process it.
  • 6. Software Design Software design is defined as that portion of the development process that is responsible for determining how the program will achieve the user’s goal. 1. What the software program will do? 2. What it will look like? 3. How it will communicate with the user? User Interface design is a subset of software design that encompasses 2nd and 3rd points.
  • 7. Goal Directed Design Process  Cooper advocates five significant changes to the conventional methods of software development in his goal-directed design process: 1. Design first; program second. 2. Separate responsibility for design from responsibility for programming. 3. Hold designers responsible for product quality and user satisfaction. 4. Define one specific user for your product; then invent a persona—give that user a name and an environment and derive his or her goals. 5. Work in teams of two: designer and design communicator
  • 8. Benefits of goal oriented design 1) Improved product quality 2) Reduced development time—which leads to reduced cost 3) Improved documentation (Reducing the complexity of the software reduces the time spent explaining software problems and frees up time to explain how the software can really help users).
  • 9. Goal oriented design Cooper insists that design precede programming: In Cooper’s goal-directed approach to software development, all decisions proceed from a formal definition of the user and his or her goals. Definition of the user and user goals is the responsibility of the designer—thus design precedes programming.
  • 10. Evolution of the Software Development Process
  • 11. Cooper applies this model to three software giants who have failed to find a balance: Novell emphasized technology and gave little attention to desirability. This made it vulnerable to competition. Apple emphasized desirability but has made many business blunders. Never-the-less, it is sustained by the loyalty its attention to users creates. Microsoft is one of the best run businesses ever, but it has not been able to create highly desirable products. This provides an opening for competitors.
  • 12.
  • 13. Implementation model The actual method of how a device or a program works is called implementation model
  • 14. Mental Model (Conceptual model) The user point of view for thinking about the working mechanism of a device or a program is called user’s mental model or conceptual model. (The way that the user perceives that the system works. )
  • 15. Manifest Model The disconnection between what is real and what is offered gives rise to a third model called manifest model. It is a way the program represents its functioning to the user.
  • 16. Manifest Model The closer the manifest model comes the user’s mental model, the easier it will be to use and understand” Most software UIs are designed by engineers, so conform to the implementation model By making the manifest model simpler, we can make it easier to learn and understand
  • 17.
  • 18. Visual Interface Design Graphical User Interface can be difficult to use The qualities that makes a user interface good are user centric and not technology centric. Two user centric qualities: Visualness of software Programs vocabulary Software that makes use of visual user interface is called Visual Interface Design.
  • 19. Visual processing WORDS WRITTEN IN CAPITAL LETTERS ARE HARDER TO READ Books printed using a font with unusual proportion becomes difficult to read. VISUALLY SHOW WHAT TEXTUALLY SHOW WHICH
  • 20. Visual Patterns Ability of our unconscious mind to group things into patterns based on visual cues allows to process visual information quickly Understanding and applying how human mind processes visual information is one of the key elements of visual interface design.
  • 21. Visual patterns cont.… A visual interface is based on visual patterns. Patterns are the engines of unconscious recognition. Visual interface creates readily recognizable patterns. text has secondary role to distinguish objects with similar patterns
  • 22. Restricting the vocabulary Why GUI are POPULAR than Command Based Interface Command line interface – Unlimited set of commands GUI – restricted set of mouse based action
  • 23. Canonical Vocabulary A properly formed vocabulary is shaped like an inverted pyramid – called canonical vocabulary.
  • 25. Canonical vocabulary Language that do not follow canonical vocabulary is hard to learn.
  • 27. Three interface paradigms Technology paradigm Based on understanding how things work – a difficult proposition Metaphor paradigm Based on how things works – a risky method Idiomatic paradigm Based on learning how to accomplish things, a natural, human process
  • 28. Metaphors Metaphors rely on analogy with some existing concept or idea  “Files”, “Folders”, “Windows”, “Trash”…  User must recognize the metaphor, and understand how to translate it  Can be hit or miss…  Physical world metaphors can limit their virtual equivalents How many of you understand Windows because of its physical analogies?
  • 29. Metaphor paradigm Based on intuition Sometime works sometime does not works Can fail if there are cultural differences Metaphor Paradigm don’t scale very well. (e. g. File icons were a good idea when computers floppies or 10 MB hard disk)
  • 30. Metaphor paradigm Never bend an interface to fit a metaphor It may be easy to discover visual metaphors for physical objects like printers and documents. It can be difficult or impossible to find metaphors for processes, relationships, services and transformations
  • 31. Technology paradigm Mostly admired by engineers In order to successfully use the user must understand how the software works.
  • 32. Idiomatic paradigm “All idioms must be learned. Good idioms only need to be learned once” Idioms focus on being easy to learn and recognize We learn many UI features as idioms, rather then metaphors
  • 33. Idiomatic paradigm Most of the GUI interface are idioms. Windows, Caption bars, close boxes, screen-splitters, drop-downs are learned idiomatically rather than intuit metaphorically.
  • 34. Affordances “Affordances are properties of the World that are compatible with and relevant for people’s interactions.” “Fundamental properties that determine just how the thing could possibly be used.”
  • 35. Manual Affordance Directly manipulable and need no written instructions. e.g. rotating round things, pulling handle shaped things
  • 36. Modes “A mode is a state the program can enter where the effects of a user’s actions change from the norm” Active (SHIFT) or Passive (CAPS LOCK) Make it easy to change the mode and to see which mode you are in
  • 37. Modes cont.… Older programs shifts into a special state to enter records, then shift into another state to print them out, these behavioral states are modes. Modes based on the implementation model are confusing modes. For e.g. “Edit” mode versus “print” mode is convenient only for the program not the user.
  • 38. Overlapping windows Used to transfer control between concurrently running program Intended to represent overlapping sheet of paper on the desktop Are overlapping windows good?
  • 39. Overlapping windows Concept is good but it’s execution is impractical in the real world. The no of pixels on today’s video screen is too small and users cant afford to waste them. Also if the no. of application running increases it doesn’t scale well. Overlapping within a single application is a well-formed idiom e.g. tool palettes. Unix solves this problem by providing multiple desktop.
  • 40. Tiling Divide applications to take certain space on the screen (was popular on windows 1.0)
  • 41. Dialog Box A dialog box is another room. Have a good reason to go there. This is one of the most violated tips in user interface design. E.g. Changing a drop shadow in a drawing program. Programmer point of view: Changing drop shadow is a separate function. User point of view: • Integral function
  • 42. Dialog box cont.… Purging a database, needs a separate dialog box It is not a normal or everyday activity so is appropriate to take into a separate dialog box.
  • 43. Windows pollution Using a single or a separate dialog box for each function can lead to windows pollution. For e.g. CompuServe Navigator (version 1.0.1)
  • 45. File system Most difficult to understand for normal users General user cannot understand difference between main memory and disk storage. The way we design our software forces normal user to understand the difference. E.g. Save as dialog box in a word document. The origin of save as dialog box is a result of programmer implementation model rather than user mental model.
  • 46. Implementation model followed by file system Every document, file or program exists at two places (disk and main memory) while in use In a word document the program ask to save the data before closing the window. It is as a result of the implementation model of file system.
  • 47. Unified File Model Properly designed software will treat documents as single instances never as a copy on a disk and copy in memory. In unified file model save totally disappears from the interface. The save command should be done automatically by the program periodically.
  • 48. Closing the document It is not a proper time to save or discard the changes Save as dialog ask two things Name of the file Location to save the file Both requires sufficient knowledge of file system hence save as dialog box should not be used for naming and replacing files.
  • 49. Copy document Save as dialog is a wrong tool for making copies of document. E.g. we are working on a document. We make certain changes When we use save as dialog box it creates a new file with the new file currently in use. It can lead to inconsistency.
  • 50. Unify the file model Our system does not allows to rename file currently in use. It is a sharing violation If the system cannot rename the file currently in use it should indicate the user with a visual clue. E.g. showing a icon next to the file Start button should make reference to the already running program.
  • 51. Following mental model Commands in the program can be structured according to the goals of the user instead of according to the needs of the OS. File menu can be replaced with document for word and spreadsheet for excel.
  • 52. Following mental model in document properties  Application designed following the user’s mental model.  For creating a copy of the document  “make snapshot copy”  Naming and renaming the document.  “rename/ reposition”  Specifying the stored format of the document  “document properties” Note: format of document should not be associated with save as command. • Creating a milestone copy of the document. - “Make milestone” • Abandoning all changes - Abandon Changes
  • 54. Storage and retrieval system Storage and retrieval system also follows implementation model rather than user mental model. Once the information is stored on disk it can be found based on different indices In real world 3 indices are used to retrieve a document e.g. author, title, subject Computer can handle hundreds of indices but in practice only few indices are used.
  • 55. Retrieval method Three fundamental ways to find a document Positional retrieval Based on the storage location Identity retrieval Based on the name Associative retrieval Based on some inherent quality. E.g. file with red cover, file discussing about interface design. Positional and identity are also methods followed by storage system.
  • 56. Development Platforms • Development cost is much higher compare to hardware cost • Develop software that performs optimally on hardware that doesn’t exist yet.
  • 57. Simultaneous multiplatform development Don’t develop software trying to cover all platforms Build the program to run on only one platform at a time Simultaneous multiplatform development generates more uncertainty and delay
  • 58. Myth of interoperability Do not try to implement DOS version software in windows platform. The program should be designed for the target platform. E.g. software for Mac and windows platform
  • 60. Direct manipulation Pen are examples of direct manipulation. Pen are mostly easier for entering data.
  • 61. Indirect Manipulation Mouse is used to manipulate objects indirectly. Mouse is one of the good idiom. The motion of mouse is proportional. i.e. 30 cm screen can be crossed in about 4 cm movement of mouse.
  • 62. Gross motor control vs. fine motor control Gross motor control fine motor control
  • 63. Elephants Some people find mouse difficult to use so the software need to fully support both the mouse and the keyboard.
  • 64. Mouse Buttons Left mouse buttons Common meaning is activation or selection It is used for all of the major direct manipulation functions of triggering controls, making selections, drawing, etc. Right mouse buttons The non major functions reside on the right mouse buttons. Vocabulary of a mouse actions is canonically formed so it is a significant reason why mouse are such a good computer peripheral.
  • 65. Mouse actions Pointing Clicking Single click selects the data or change the gizmo state.  Escape route of clicking a button – click a button and release it outside the button. It has no effect.  The drawback of escape route is that instead of that we can drag and release a justified buttcon on the paragraph of text to make the paragraph justified.
  • 66. Mouse actions contd. … Double clicking It means a single click plus action. Double clicking on a paragraph of text selects a word. It is also used to toggle the value of a list box Chord clicking Pressing two buttons simultaneously Second mouse button is pressed at sometime before the first mouse button is released. E.g. used in terminating a drag
  • 67. Mouse actions contd. … Triple clicking Used to select a paragraph in word. Double dragging Double click a word to select it and extend the selection word by word by double dragging. Useful when deleting a sentence from the paragraph.
  • 68. Mouse actions contd. ... Button up and down events When selecting an object the selection should take place on the button down. Button down means propose action Button up means commit to action over gizmos.
  • 69. Cursor Visual representation on the screen of the mouse’s position. Single pixel is designated as the actual locus of pointing called the hotspot. Any area or object on the screen that reacts to mouse action is called pliant. E.g. every character in the text is pliant E.g. any object that can be picked up and dragged E.g. a push button
  • 70. Hinting There are three basic ways to communicate the pliancy of an object to the user. By static visual affordance of the object itself Its dynamically changing visual affordance. By changing visual affordances of the cursor as it passes over the object
  • 71. Static visual hinting If the pliancy of the object is communicated by the static visual affordance of the object itself, it is called static visual hinting. E.g. the 3D push button is a static visual hinting because of its manual affordance for pushing.
  • 72. Active visual hinting When the cursor passes over the pliant object, the object changes its appearance to visually hint, it is called active visual hinting. E.g. when cursor is placed on an object and it changes its appearance with an animated motion.
  • 73. Cursor hinting If pliancy of the object is communicated by a change in the cursor as it passes over, it is called cursor hinting. E.g. column dividers and screen splitters are good examples of cursor hinting.
  • 74. Wait cursor hinting In windows by default hour glass is used to show “wait cursor hinting”.
  • 75. Problem with wait cursor hinting In non-preemptive system like Windows 3.1 when one program go busy all go busy. In preemptive system like windows 95 although one program go busy other can run. For e.g. when the user moves the cursor off a busy program’s main window, the cursor will revert back to a normal state. The visual hinting cannot show the busy state of the program and it is wrong. Each program should show its busy state by some change to its own visage.
  • 76. Focus It indicates which program is active and will receive the next input from the user. When we click on a program to make it active, the action is called new-focus click. When we click somewhere in the window that already has the focus, the action is called in-focus click.
  • 78. Selection In user interface we have to consider the sequence in which the commands are executed. Every command has an operation and one or more operands. Operation-describes what action will occur Operands are the target of that operation.
  • 79. Verb-Object/ Object-Verb Operation and operands are programmers terms. Interface designers prefer operation as verb and operand as the object. Modern interfaces use both verb-object/ object-verb order. • In programming language like COBOL verb object order was popular • E.g. Perform action (verb) on X and Y (objects)
  • 80. Verb-Object/ Object-Verb With the introduction of GUI verb-object ordering created a problem E.g. we don’t select an operation first then select the objet to be acted upon. In object-verb order user selects the objects to be acted upon then selects the operation. This process needs a mechanism for identifying, marking and remembering the chosen operands. Selection is a mechanism for identifying the objects (operands)
  • 81. Verb-Object/Object Verb order In linguistic context of English language it is irrelevant to choose the object first. On the other hand object-verb order is frequently used in non linguistic action. e.g. shopping cart
  • 82. Concrete and Discrete data There are two broad categories of data Some programs represent data as distinct visual objects that can be manipulated independently of other objects. e.g. graphic objects in drawing tools. They are called discrete data and the selection within them is called discrete selection.
  • 83. Concrete and discrete data Some programs represent their data as a contiguous pieces of data. E.g. text in word processor or the cells in a spreadsheet. These objects are often referred in a group and they are called concrete data and their selection within them is called concrete selection.
  • 84. Concrete and discrete selection Both concrete and discrete selection supports both single clicks and click and drag selection. Nature of discrete selection – discontinuous Nature of concrete selection – contiguous
  • 85. Insertion and Replacement A single point that indicates a place in between two bits of data is called the insertion point. In word processor a blinking caret is an example of least amount of concrete selection available. Insertion is an example of null selection, if selection is null it inserts the incoming character.
  • 86. Insertion and Replacement contd. … In concrete selection, the incoming data always replaces the currently selected data. Insertion is an example of null selection, if selection is null it inserts the incoming character. Spreadsheet are different from word processor. Although the selection is concrete there is no insertion point.
  • 87. Mutual Exclusion When a new selection is made previous selection is unmade. This behavior is called mutual exclusion. Mutual exclusion is used in both discrete and concrete selection.
  • 88. Additive selection If we can select many independent objects by clicking on more than one then we call it additive selection. E.g. multiple selection list box. Most discrete selection system implement mutual exclusion by default and allows additive selection by using a META KEY (shift) However, concrete selection system should never allow additive selection because there should never by more than a single selection.
  • 89. Group selection Click and drag is the basis of group selection Group selection can be modified using meta keys e.g. in Ms. Word Ctrl + down-arrow selects sentence line by line. Dragrect – is simple click and drag operation on an open area that selects discrete objects within the area of mouse button down and up event.
  • 90. Visual indication of selection Make selection visually bold and unambiguous. E.g. selected state of a button in a dialog box should be visually indicated. E.g. in Microsoft word selection of text is indicated by controlling the color_highlight and color_highlighttext. In drawing, painting, presentation programs where we deal with multi color objects, the selected object can be shown using marching ants.
  • 92. Direct manipulation Pushing buttons, scrolling text, drawing tools are all examples of direct manipulation. Direct manipulation should not be implemented without adequate visual feedback. A rich visual interaction is the key to successful direct manipulation. Direct manipulation should be simple, straight forward, easy to use and easy to remember.
  • 93. Management Category In management category there are five variations of direct manipulation Making selection Dragging and dropping Manipulating gizmos (clicking push buttons, radio buttons, checkboxes) Resizing, reshaping and repositioning arrowing
  • 94. Anatomy of a drag Most direct manipulation idiom demand a click and drag operation. The drag state is called capture because no other program can interact with the user until the drag is completed. The window that owns the mouse down point is called the master object. If master object is concrete data the drag will indicate a selection however if the master object is discrete data, it indicates the beginning of direct manipulation operation like drag and drop.
  • 95. Anatomy of a drag contd. … Chord click is a popular cancel idiom for a drag operation however word does not supports it. Dragging gizmo Cascading menu makes use of dragging gizmo. The problem of cascading menu is that it deactivates when mouse is placed outside of the menu area. New menus are used these days which resolve the problem of dragging associated with cascading menu.
  • 96. Repositioning It is the simple act of clicking on an object and dragging it to another location. Dedicate a specific physical area of the object for repositioning function. E.g windows draggability is the color of the caption bar, a subtle visual hint that is purely idiomatic.
  • 97. Repositioning contd. … To drag text we use two series of action. First click and drag to select text then click and drag again to move it. Resizing and reshaping • In Mac resizing window is done using small resizing control in the lower right corner • In windows 3.x it was done using thick window frame but the area it consumes was expensive. • In windows 95 and onwards a new reshaping gizmo is used, triangle in shape called shangle [shaper + triangle]
  • 98. Resizing and Reshaping Thick frames and shangles are fine for resizing however it is not possible to permanently superimpose controls into graphical elements of a drawing program. Grapples (handles) are eight small squares used in drawing programs to visually hint that the object can be resized. They also indicate selection for moving Grapples are not good solution for windows. Why?
  • 99. Resizing and Reshaping Polyline is also used while drawing non rectangular objects and is important to fine tune the shape.
  • 100. Resizing and Reshaping meta Key variants Constrained drag Is a drag used to constrain the drag to another orthogonal direction. Using one of the meta key like shift. Constraint drag stays on a 90 degree or 45 degree axis If the meta key is found pressed at the instant when the mouse button is released the effect is considered valid
  • 101. Arrowing A direct manipulation idiom in which user clicks and drags from one object to another to draw an arrow The line is animated while drawing to visually indicate the path. It is called rubber banding effect. The target object engage in some active visual hinting.
  • 102. Direct manipulation visual feedback The key to successful direct manipulation is rich visual feedback We can divide the direct manipulation process into three distinct phases Free phase Captive phase Termination phase
  • 103. Free Phase Before the user takes any action. Free phase indicates direct manipulation pliancy Free cursor hinting E.g. Handshaped cursor to indicate that document is draggable.
  • 104. Captive phase Once the user has begun the action e.g. drag Captive phase potentially indicate that the direct manipulation process has begun Visually identify potential participants in the action. Captive cursor hinting • Holding down a control key during the drag can make copy of the object instead of dragging the object itself. Here the cursor changes from arrow to arrow + to indicate the operation is a copy rather than a move.
  • 105. Termination phase Plainly indicate that the action has terminated and show exactly what the result is.
  • 106. Dragging Interior drag and drop Drag and drop something from one place to another inside a program. Exterior drag and drop Drag and drop something from inside your program to some other program
  • 107. Dragging cont. … When a user clicks on a discrete object to drag then it is called a master. When the user clicks on the master and drags to another discrete object to perform a function then it is called target. There are master and target, two objects involved while dragging.
  • 108. Dragging data to functions Dragging files to recycle bin or zip program. Here possible targets of a drop is called a drop candidates. While dragging the master, the object may pass quickly over dozens of drop candidates before the user actually positions over the desired target. If the protocol requires extensive communication between the master and the drop candidate, the interaction can be sluggish.
  • 109. Dragging data to functions The drop candidate must visually indicate its drop-ability i.e. it can accept the drop. The weakest way to offer the visual indication of drop- ability is by changing the cursor. WHY? (because the drag cursor must visually indicate the master object).
  • 110. Indicating drag pliancy Do-not animate the whole drag object.
  • 111. Indicating drop pliancy While dragging it can travel over various drop candidates. These drop candidates must visually indicate that they are being aware of being considered as potential drop targets.
  • 112. Visual indication of completion After the drag the master should disappear from its source and reappear in the target. If the target is a function then it must visually hint. It can be done using animation or visually hinting.
  • 113. Tool manipulation – Drag and drop • A shape is dragged on a canvas in a drawing program. • It has two basic variants • Modal tool • Changed cursor
  • 114. Modal tool User select a tool and the program is now completely in the mode of that tool. Spray tool – Once the program enters into that mode it remains to stay in that mode until we change it.
  • 115. Charged cursor When a tool is selected the cursor is changed or loaded with a single instance of the selected object. Once checked the cursor changes back to the normal state. E.g. photoshop, visual basic (Delphi does not shows the charged cursor)
  • 116. Bombsighting As the user drags object arrow around the screen, each drop candidate visually changes, which indicates its ability to accept the drag. In some programs like Word objects can be dropped in the spaces between other objects called bombardier. The visual hinting is drawn on the background of the program or in its concrete data called bombsight. E.g. rearranging slides in slide sorter view. Whenever something can be dragged and dropped on the space between other objects, the program must show a bombsight.
  • 117. Drag and drop problems and solutions If some block of text is dragged and it is to be placed somewhere below the document which is not visible, then such an action is called auto scrolling. Any scrollable drag and drop target must auto scroll. Designers should manage the speed of autoscroll.
  • 118. Drag and drop twitchiness The frequent act of selecting an object should not be interpreted as an initiation of drag and drop. Hence to remove this problem there should be drag threshold. All mouse movement message that arrives after the mouse button goes down and capture begins are ignored when the movement exceeds some small threshold amount. Designers should debounce small drags.
  • 119. Mouse vernier The drawing manipulation program should provide mouse vernier function where the user can quickly shift into a mode that allows much finer resolution for mouse based manipulation of objects. E.g. Arrow keys can be used to move one pixels at a time
  • 120. MENU
  • 121. First Hierarchical menus Choices were given indicated by an ordinal e.g. 1 – 6. Once the selection was made another set of menus were shown drilling down into a tall tree of commands. E.g. 1. Enter commands 2. Enter pay units 3. Exit
  • 122. Visible Hierarchical Menu Popular in character based interface E.g. Lotus 1-2-3 The menu were enabled using a forward slash ( / ) and command. E.g. /s
  • 123. Monocline grouping The storage technique which uses a single level of nesting is called monocline grouping. E.g. a bookshelf one level deep file cabinet • However, monocline grouping is an inadequate system for managing the large quantities of data we commonly find on computers. • The solution to this is monocline grouping with powerful search and access tools that hierarchy can offer.
  • 124. Popup menu A popup window is a rectangle on the screen that appears, overlapping and obscuring the main part of the screen, until it has completed its work. It disappears after it complete its work. The popup window is the mechanism used to implement both pull down menus and dialog boxes. The user makes a single choice by clicking once or by dragging and releasing.
  • 125. Popup menu contd. … The selection the user makes at the popup menu level either takes immediate effect or calls up a dialog box. The concept of monocline grouping is implemented in popup menu. (The dialog box enabled the software designer to encapsulate all of the sub-choices of any one menu option in a single, interactive container) • The need to go to additional levels of menus was made superfluous.
  • 126. Command vector The two idioms that fundamentally changed the role of the menu in the user interface are direct manipulation and objects. Each distinct technique used for issuing instruction to the program is called a command vector. Menus, direct manipulation, toolbars are examples of command vector.
  • 127. Immediate vectors Both direct-manipulation and toolbar command vectors have the property of being immediate vectors. Neither menus nor dialog boxes have this immediate property.
  • 128. Pedagogic Vector Menus and dialog boxes contains the detailed information of what a particular function performs. Hence, it is important for first time users or beginners. Menu and dialog boxes are important for teaching purpose, hence they are called pedagogic vector.
  • 129. Standard Menus Most GUI have at least “File” and “Edit” menu in the left most position and “Help” menu at the right. Windows style guide states that these File, Edit and Help menus are standard. File menus is as a result of the implementation model, they way our OS works. Edit menu is based on the clipboard. The three menu, file, edit and help are examples of weak menu interfaces.
  • 130. Standard menus Other menu like “Window”, “view”, “Insert” ,”Format”, “tools” and “options” are not common in all programs but are also standard menus. Menus like view, insert, format, tools, options are grouped on the basis of tools and functions rather than goals. The menus should be more goal oriented
  • 131. Correct form of menus The correct form of menus depends upon the individual need of the program. Menus can be ordered according to their scope e.g. global menus on the left and specific menu items on the right.
  • 132. Menu item variants Disabling menu items Gray out the menu item which are not relevant to the selected data. Enabling and disabling of menu items reflects their appropriate use. Cascading menus Used in windows 3.1 to show secondary menu. Popup menus (monocline grouping) are nice alternative to cascading menu where items are in hierarchy. Cascading are weak idiom and should not be the first choice while designing an interface. E.g. windows 95 start bar.
  • 133. Menu item variants Flip – flop menu items Flip-flop is a type of menu item that alternates between the two values, always showing the one currently not chosen. It saves space. In some cases it maybe confusing to neophyte users since it does not shows the other state. E.g. Display Tools/ Hide Tools. An alternate to display tools can be display tools now
  • 134. Menu item variants Graphics on menu Visual symbols next to menu items helps to differentiate easily without reading. It can be understood faster. It easily shows connection to other gizmos that do the same task. A menu should show same image as its corresponding toolbar buttcon. E.g. cascading makes use of graphics on menus
  • 135. Menu item variants Bang menu item Top-level menu item – on the horizontal menu bar – that behaves like an immediate menu item which gets executed instantly. E.g. complie! button in C can be a bang menu item. Don’t use bang menu items. Buttcons on a toolbar behave like a bang menu items.
  • 136. Menu item variants Accelerators Provides an additional optional way to invoke a function from the keyboard. Accelerators are function keys which are activated with a CTRL, ALT or SHIFT keys. Accelerators are an easy way to activate a command. Follow standards while using accelerators. E.g. Ctrl + P (print), Ctrl + S (save) Show how to access them in menus Frequently used menu items (functions) must have accelerators.
  • 137. Menu item variants Mnemonics Underlined letter in the menu item. Theses are keystrokes commands used in parallel to the direct manipulation of menus and dialogs. Mnemonics are executed with the use of ALT meta key. The purpose of mnemonics is to provide keyboard equivalent of each menu command. Mnemonics are not optional. Experienced users enjoy using mnemonics.
  • 138. System menu Present in the upper left corner. Also referred to as control menu. It can be invoked using Alt + Spacebar. System menu are not useful since the commands present in system menu like minimize, maximize, restore, close are shifted at the end of the caption bar in the form of icons.
  • 140. Dialog Boxes Engages the user in a conversation by offering some information and requesting some input. It has the option of accepting or rejecting the changes. When the application presents a dialog box, it is temporarily moving the action out of the mainstream. “Put primary interaction on the primary window”. Dialog boxes should be used only for secondary action.
  • 141. Dialog box contd. … Dialog box breaks the normal flow. Dialog boxes are well-suited for presenting infrequently used functions. Dialog boxes also play a part in the pedagogic vector like menu does. (teach users)
  • 142. Dialog box basics The dialog box may or may not have a caption bar Dialog boxes are always placed visually on top of their owning program. Every dialog box has at least one terminating command. Generally most dialog boxes will offer two push buttons as terminating commands Ok and Cancel. Some dialog box are unilaterally erected and removed by the program e.g. dialog box showing progress of a file being copied
  • 143. Types of dialog boxes Modal dialog boxes Once this dialog box comes up the owning program cannot continue until the dialog box is closed. E.g. print dialog box. Since modal dialog box only stop their owning program they are also called application modal. A dialog box called system modal can also be called which halts all the running programs. Never create a system modal dialog box.
  • 144. Modeless dialog boxes The owning program continues without interruption in modeless dialog box. E.g. find, replace dialog box in MS Word. We can change the selection while the modeless dialog box is still open. Modeless dialog boxes are close in resemblance with modal dialog box but functionally different.

Editor's Notes

  1. Idioms combine compounds with knowledge with problem under consideration known as domain knowledge.
  2. Achieving many user goals involves executing a series of functions. Using a separate dialog box for each function can get visually crowded.