Professional Documents
Culture Documents
Lec 7 Ui, Ux
Lec 7 Ui, Ux
Performance of the backend, algorithms, and data structures is important to analyze and
improve
Dependent on system model and design, networking elements, programming language, data
structures, databases, …
Performance of interface between the user and the system is also important
How quickly can we get instructions and information across that interface?
Power Law of Practice – Time to do a task for the nth time decreases with frequency of
doing task
𝑇𝑛 = 𝑇1 × 𝑛−𝛼 , 𝛼 𝜖 0.2,0.6
If your interface has a large number of related questions to ask a user, aggregate them
into a single dialog
e.g. a list of files, with multiple selection options, select all, unselect all options
Make frequently used UI targets BIG
Put UI targets used together next to each other
Choose keyboard shortcuts that are easily associated with commands
Use defaults and history
initial entry most likely function
After use previous/recent entry
Anticipate user action
Screen readers rely on top-down HTML structure and will verbalize in the top down order
Do Don’t
Do Don’t
SWE - UI/UX II - GUC 2023 13
Accessibility –Color of Text
Colored text should be used
sparingly to draw attention
and apply selective emphasis
Large headlines and short
text snippets are best for
colored text
Should not use color for long
body copy text
You can use the Material
Palette to test your color
choices for background and
foreground elements
Do Don’t
SWE - UI/UX II - GUC 2023 14
Accessibility –Alt Text
Accessibility text is text used by screen reader accessibility software
Accessibility text includes visible text (e.g. labels for UI elements, links) and nonvisible
descriptions that don’t appear on screen (e.g. alternative text for images)
Visible and nonvisible text should be descriptive and meaningful
Do Don’t
SWE - UI/UX II - GUC 2023 15
Accessibility –Alt Text
Most screen readers do not read more than 125 characters of text, so make alternative
text concise
Include targeted keywords in alternative text, but do not use just keywords
Do Don’t
SWE - UI/UX II - GUC 2023 16
Accessibility –Alt Text
Do not repeat image caption/description in alternative text, otherwise the screen
reader will read the same thing twice
Do Don’t
SWE - UI/UX II - GUC 2023 17
Accessibility –Action Text
Action verbs should indicate what an element or link does if tapped not what an
element looks like
Consider other navigation options when describing how to interact with a control
If icon is an action and is selected, the text label can specify the action for screen reader to verbalize
(e.g. Add to wish list)
If icon is a property of an item (coded as checkboxes), screen readers will verbalize the current state
(e.g. on/off)
Do Don’t
SWE - UI/UX II - GUC 2023 18
UI Design Mistakes I
Lack of consistency
Too much memorization
No guidance/help
Poor error messages formulation using jargon and/or judgemental language
Error messages with no recovery instructions
Help that is not easily accessible or not well presented
Help that does not provide navigation back to main or previous context
No context sensitivity
Poor response
Arcane/unfriendly
Users appear in the requirements analysis phase, then in the acceptance testing phase
But should be involved in an iterative design process to capture problems in UX early
If you wait until acceptance testing, UI problems may affect your system design
dramatically
You may follow an iterative design/development process – you release versions of your
software to market and use evaluations to release better future versions
But even with an iterative process, you should not allow bad designs to be released to
market and hope they will be evaluated by users for a next “better” version release
Users may not use future versions
A better approach is to involve users early in low-fidelity designs before development
Release low-fidelity “cheap” mockups first (Scenarios, Wizard of Oz), show to users, get
their feedback and evaluation, and incrementally build higher-fidelity prototypes
(HTML), then develop refined models
Makes it possible to build multiple parallel mockups of alternative designs in early
stages of system
Focus now on task analysis and constant evaluation
Breadth number of features covered
Depth degree of functionality
Look appearance and graphics
Feel input method
Horizontal prototype
Very broad in the features it incorporates
Offers less depth of functionality coverage
Good place to start with your prototyping
as it provides an overview on which you can
base a top-down approach
Effective to demonstrate product concept
and to convey early product overview to
managers, customers, and users
Because of the lack of details in depth,
usually do not support complete
workflows, and UX evaluation with this
kind of prototype is less realistic
Vertical Prototype
Contains as much depth of functionality as
possible for current state of progress, but
only for a narrow breadth of features
Can test a limited range of features but
those functions that are included are
evolved in enough detail to support
realistic UX evaluation
Ideal for times when you need to
represent the details of an isolated part of
a single interaction workflow
The goal is to understand how those details
play out in actual usage
“T” Prototypes
Combines the advantages of both
horizontal and vertical, offering a good
compromise for system evaluation
Much of the interface is realized at a
shallow level (the horizontal top of the T),
but few parts are done in depth (the
vertical part of the T)
Local Prototype
The small area where horizontal and
vertical slices intersect
The depth and breadth are both limited to
a very localized interaction design issue
A local prototype is used to evaluate
design alternatives for particular isolated
interaction details
e.g. the appearance of an icon, wording of a
message, or behavior of an individual
function
Wizard of Oz
Computer frontend, human
backend (simulation of software
that does not yet exist)
User interacts with frontend,
and human designer figures out
response behind the scenes
LinkedIn Posts? NO
Novice
Have little knowledge about usage
Use small vocabulary of familiar terms
Give informative feedback
Knowledgeable intermittent users
Know task but may forget specific details
Frequent users
Want to accomplish tasks rapidly with a few keystrokes or clicks
Is the system usable without continual help or Is the interface structured in a logical and
instruction? consistent manner?
Do the rules of interaction help a knowledgeable Are interaction mechanisms, icons, and
user to work efficiently? procedures consistent across the interface?
Do interaction mechanisms become more flexible Does the interaction anticipate errors and help
as users become more knowledgeable? the user correct them?
Has the system been tuned to the physical and Is the interface tolerant of errors that are made?
social environment in which it will be used? Is the interaction simple?
Is the user aware of the state of the system? Does
the user know where she is at all times?
DO
Always make it look like the app is doing
something
Order content based on importance
Anticipate a user’s move
AVOID
Not knowing your users
Inconsistency
Not giving the users what they want
https://engineering.instagram.com/beautiful-performant-android-ui-62ce61ca748c
https://slack.engineering/android-ui-automation-part-1-building-trust-de3deb1c5995
https://slack.engineering/android-ui-automation-part-2-making-it-easy-57335c7379cc
https://code.facebook.com/posts/1716776591680069/react-16-a-look-inside-an-api-compatible-rewrite-of-
our-frontend-ui-library/
Comparing quantiles in online A/B testing: https://engineering.atspotify.com/2022/03/comparing-quantiles-
at-scale-in-online-a-b-testing/
Storyboarding Tutorial: https://www.alexandercowan.com/storyboarding-tutorial/
Example LinkedIn UI testing post with insightful comments from experts:
https://www.linkedin.com/posts/nabilelsawi_ux-ui-research-activity-6910551622704144384-_q4g
48
ThankYou
mervat.abuelkheir@guc.edu.eg
49
Supplementary
Slides
Proximity Do
• Consistency in design, (world, internal)
Similarity
• Visually pleasing composition
Matching patterns • Logical and sequential ordering
Closure • Presentation of the proper amount of
information
Unity • Groupings
• Alignment of screen items
Continuity
Don’t
• Visual clutter
• Indistinct elements
• Random placements
• Confusing patterns
Content is adapted from MIT’s User Interface Design and Implementation course