Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

UNIT 3

Implementation support, Evaluation


Techniques, Universal Design & User
support
ELEMENTS OF WINDOWING SYSTEM
• with the elements of a windowing system, which provide for device independence and resource sharing at the
programming level.
• Programming in a window system frees the programmer from some of the worry about the input and output
primitives of the machines the application will run on, and allows her to program the application under the
assumption that it will receive a stream of event requests from the window manager
• Will describe more details of windowing systems used to build the WIMP interface
• The first important feature of a windowing system is its ability to provide programmer independence from the
specifics of the hardware devices
• WIMP interface as an interaction paradigm pointed out its ability to support several separate user tasks
simultaneously. Windowing systems provide this capability by sharing the resources of a single hardware
configuration with several copies of an abstract terminal
• The window system must also provide a means of displaying the separate applications, and this is
accomplished by dedicating a region of the display screen to each active abstract terminal. The coordination
task then involves resolving display conflicts when the visible screen regions of two abstract terminals
overlap
• In summary, we can see the role of a windowing system, as providing:-
• independence from the specifics of programming separate hardware devices;
• management of multiple, independent but simultaneously active applications
ARCHITECTURES OF WINDOWING SYSTEMS
• implement and replicate the management of
the multiple processes within each of the
separate applications.
• This is not a very satisfactory architecture
because it forces each application to
consider the difficult problems of resolving
synchronization conflicts with the shared
hardware devices.
• It also reduces the portability of the separate
applications.
• provides the most portability, as the management function
is written as a separate application in its own right and so
can provide an interface to other application programs that
is generic across all operating systems.
• referred to as the client–server architecture
PROGRAMMING THE APPLICATION
• on programming the actual interactive application corresponds to
a client in the client–server architecture
• Interactive applications are generally user driven in the sense that
the action the application takes is determined by the input
received from the user.
• The first programming paradigm is the read–evaluation loop,
which is internal to the application program itself. The server
sends user inputs as structured events to the client application. As
far as the server is concerned, the only importance of the event is
the client to which it must be directed. The client application is
programmed to read any event passed to it and determine all of
the application-specific behavior that results as a response to it.
• The application has complete control over the processing of
events that it receives.
• The downside is that the programmer must execute this control
over every possible event that the client will receive, which could
prove a very cumbersome task.
• The other programming paradigm is
notification based, in which the main control
loop for the event processing does not reside
within the application. Instead, a centralized
notifier receives events from the window
system and filters them to the application
program in a way declared by the program.
The application program informs the notifier
what events are of interest to it, and for each
event declares one of its own procedures as a
callback before turning control over to the
notifier. When the notifier receives an event
from the window system, it sees if that event
was identified by the application program
and, if so, passes the event and control over
to the callback procedure that was registered
for the event. After processing, the callback
procedure returns control to the notifier,
either telling it to continue receiving events
or requesting termination.
WHAT IS EVALUATION?

• need to assess our designs


• test our systems to ensure that they actually behave as we expect and meet user
requirements.
• Evaluation should occur throughout the design life cycle, with the results of the evaluation
feeding back into modifications to the design.
GOALS OF EVALUATION

• To assess the extent and accessibility of the system’s functionality


• To assess users’ experience with the interaction
• To identify any specific problems with the system
EVALUATION THROUGH EXPERT ANALYSIS: COGNITIVE
WALKTHROUGH
• require a detailed review of a sequence of actions
• the sequence represents a segment of the program code that is stepped through by the reviewers to check certain
characteristics
• the sequence of actions refers to the steps that an interface will require a user to perform in order to accomplish
some known task.
• The evaluators then ‘step through’ that action sequence to check it for potential usability problems.
• the main focus of the cognitive walkthrough is to establish how easy a system is to learn
• Learning through exploration.
• you need four things:
1. A specification or prototype of the system.
2. A description of the task the user is to perform on the system.
3. A complete, written list of the actions needed to complete the task with the proposed system.
4. An indication of who the users are and what kind of experience and knowledge the evaluators can assume about
them.
HEURISTIC EVALUATION
• a guideline that can guide a design decision or be used to critique a decision that has already been made
Nielsen’s ten heuristics
1. Visibility of system status:- Always keep users informed about what is going on, through appropriate feedback within reasonable time.
2. Match between system and the real world:- The system should speak the user’s language, with words, phrases and concepts familiar to
the user, rather than system-oriented terms. Follow real-world conventions, making information appear in natural and logical order.
3. User control and freedom:- Users often choose system functions by mistake and need a clearly marked ‘emergency exit’ to leave the
unwanted state without having to go through an extended dialog. Support undo and redo.
4. Consistency and standards:- Users should not have to wonder whether words, situations or actions mean the same thing in different
contexts. Follow platform conventions and accepted standards.
5. Error prevention:- error messages is a careful design that prevents a problem from occurring in the first place.
6. Recognition rather than recall:- Make objects, actions and options visible. The user should not have to remember information from one
part of the dialog to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.
7. Flexibility and efficiency of use:- Allow users to tailor frequent actions.
8. Aesthetic and minimalist design:- Dialogs should not contain information that is irrelevant or rarely needed
9. Help users recognize, diagnose and recover from errors:- Error messages should be expressed in plain language (no codes), precisely
indicate the problem, and constructively suggest a solution.
10. Help and documentation:- Few systems can be used with no instructions so it may be necessary to provide help and documentation.
MODEL-BASED
• provide a means of combining design specification and evaluation into the same framework
• Design rationale provides a framework in which design options can be evaluated
• Dialog models can also be used to evaluate dialog sequences for problems, such as
unreachable states
USING PREVIOUS STUDIES
USER PARTICIPATION
1. Laboratory studies
2. Field studies
UNIVERSAL DESIGN
• the process of designing products so that they can be used by as many people as possible in
as many situations as possible.
• this means particularly designing interactive systems that are usable by anyone, with any
range of abilities, using any technology platform.
• This can be achieved by designing systems either to have built in redundancy or to be
compatible with assistive technologies.
• An example of the former might be an interface that has both visual and audio access to
commands;
UNIVERSAL DESIGN PRINCIPLES
1. Equitable use:- the design is useful to people with a range of abilities and appealing to all. No user is excluded
or stigmatized
2. Flexibility in use:- the design allows for a range of ability and preference, through choice of methods of use
and adaptivity to the user’s pace, precision and custom.
3. Simple and intuitive to use:- regardless of the knowledge, experience, language or level of concentration of
the user. The design needs to support the user’s expectations and accommodate different language and literacy
skills.
4. Perceptible information:- the design should provide effective communication of information regardless of the
environmental conditions or the user’s abilities.
5. Tolerance for error:- minimizing the impact and damage caused by mistakes or unintended behavior.
Potentially dangerous situations should be removed or made hard to reach. Potential hazards should be
shielded by warnings
6. Low physical effort:- systems should be designed to be comfortable to use, minimizing physical effort and
fatigue. The physical design of the system should allow the user to maintain a natural posture with reasonable
operating effort
7. Size and space for approach and use:- the placement of the system should be such that it can be reached and
used by any user regardless of body size, posture or mobility. Important elements should be on the line of sight
for both seated and standing users. All physical components should be comfortably reachable by seated or
standing users
USER SUPPORT
• There are four main types of assistance that users require:
1. quick reference
2. task-specific help
3. full explanation
4. tutorial.
USER SUPPORT REQUIREMENTS
1. Availability :- The user needs to be able to access help at any time during his interaction
with the system. Eg opening a help window
2. Accuracy and completeness:-
3. Consistency:- online help = paper documentation
4. Robustness:- help system itself should be robust, both by correct error handling and
predictable behavior. The user should be able to rely on being able to get assistance when
required
5. Flexibility:-
APPROACHES TO USER SUPPORT

1. Command assistance
2. Command prompts
3. Context sensitive help
4. Online tutorials
5. Online documentation
6. Wizards and assistants

You might also like