Design For Devs - Enhance Ui
Design For Devs - Enhance Ui
Developers
A guide to basic design rules and formulas to create
good looking components, colors and typography.
Aa
SAN SERIF
CONTENTS
Breadcrumbs 160 Spacing 366
Tables 166 Components 368
Lists 176 6. Implementation 370
Tooltips 182 Creating The Logo 372
Cards 188 Creating The Color Palette 376
Foreword 4 Capitalization 58
Accordions 194
Letter Spacing 60 Creating The Typography 380
Introduction 6 Tabs 202 Imagery And Iconography 384
Line Height 62
1. Color 8 Font Size 64
Iconography 208 UI Elements 388
Avatars 218
Color Theory 8 Font Weight 68
Primary Colors 10 Legibility 70 7. Design System 398
4. Visual Hierarchy 226
Secondary Colors 12 Text Hierarchy 74 Final Thoughts 438
Tertiary Colors 14 Typography Schema 76 Visual Patterns 230
Hue / Color Wheel 16 How To Alter
Color Temperature 18 3. Component Design 78 Visual Hierarchy 232
Saturation 20 Spacing 80 Size & Text 234
Tint 22 Baseline Units 82 Buttons 240
Tone 24 Grids & Columns 84 Inputs 244
Shade 26 Buttons 86 Color 252
Selecting Colors 28 Borders 88 Contrast 268
Monochrome Color 30 Shadows 90 Proximity 280
Analogous Colors 32 Icons 92 Alignment 292
Complementary Colors 34 Labels 94 Consistency 302
Triadic Colors 36 Dividers 96 Negative Space 316
Color Psychology 38 Forms 98 Visual Harmony 328
Color Weights 40 Inputs 100
Contrast 42 Checkbox 108 5. Design Process 348
Color Schema 44 Radio 114 Wireframe 350
Textarea 120 How To Create
2. Typography 46 Toggle 128 Aesthetic Wireframes 352
Bold 52 Dropdowns 134 Styleguide 358
Italics 54 Submit Button 142 Colors 360
Underline 56 Badges 148 Typography 362
FOREWORD
This book is for people who love to create websites and
applications that are easy to use, and importantly to also
look great.
AdrianTwarogandGeorgeMoller Email:
hello@adriantwarog.com
Medium:
medium.com/@_jmoller
WEBsite DESIGN
hierarchy of needs
5 Website Design
INTRODUcTION Wireframing
Style Guide
Blue Yellow
PRIMARY COLORS
Color theory starts with the primary colors, which can be
— Maya Angelou
used to mix and form all other colors.
YOU CAN’t USE UP
The primary colors are red, blue and yellow.
SECONDARY COLORS
Primary colors can be mixed to obtain secondary colors:
orange, purple, and green.
Mixing colors will also help you build a color wheel to assist
you with selecting complementary and analogous colors.
RED — Steve Jobs
Magenta VERMILLION
VIOLET AMBER
BLUE YELLOW
TEAL Chartr...
GREEN
Tertiary COLORS
Tertiary colors exist between our primary and secondary
ones. They include: vermillion, amber, chartreuse, teal,
violet and magenta.
These colors form the basis of our color wheel that will be
used to define color temperature and hue in the next
section. DESIGN is how it works
Color
Does not add a pleasant quality to
DESIGN
Hue is the specific color that we are targeting. When we
change our hue, we are essentially rotating our color wheel.
https://color.adobe.com/ it reinfoces it
— Wassily Kandinsky, Painter and Art Critic
COLOR temperature — Paul Cézanne
WE LIVE IN A
WARM RAINBOW
Color temperature
refers to the warmth or
coolness of a color.
OF CHAOS
temperature is easy to stand out and are often
identify, with reds, used also to show
oranges and yellows warnings or essential
being warm, and blues, interactions.
greens and purple
being cool. Adding blue
or yellow to a color will
adjust its temperature.
Cool colors are more
Used side by side, we general, and blend into
can help the user better the background. They
identify what to focus can make up the
on. Warmer colors will framework of a layout,
always demand more its passive options or
attention than cooler general interactivity.
colors.
COOL
SATURATION
The saturation of a color is determined by how pure it is.
Adding white, black or grey will reduce its saturation.
— Lilly Pulitzer
A pure blue color may be too intense, which is why we often
I am a Believer THAT
add tone, tint and shade to balance the colors out.
Color Affects
color, pick from inside the
dashed square.
People’s Moods
comfortable for most eyes,
as more saturated colors
can come across as harsh.
Color
like features
follow the
TINT changes of the
Adding or removing white from color changes its tint. As a
result, it also lightens its saturation.
do
Do use tints on text or components to arrange or reflect
their order.
do
Do add a slight tone to colors as good practice.
do
When it means
Do add shade to header/title text that requires priority.
• Monochromic colors
• Analogous colors
• Triadic colors
Color
By using a single color and a mix of tint, tone, and shade,
Great Value
Of making the outlines and
you will be able to create several color variations.
Structural PLANES SEEM MORE
ENERGETIC
These options will have different levels of saturation. The
darker shades can be used for titles and buttons, while the
lighter tints for backgrounds and borders.
— Antoni Gaudi
50% 25% Primary 75% 50%
Shade Shade Color Tone Tint
Example 1 Example 2
Analogous The best color
Colors In the whole world, is the
One
that
Picking multiple colors that look good together is done by
selecting the colors next to the primary color. For example,
Looks
green has neighboring colors of blue and chartreuse. Good
We can select 3 analogous colors to use, mix, and match on
using this method.
You
— Coco Chanel, Glamour,
50% #1 Primary #2 85% vol.103
Shade Analogous Color Analogous Tint
Example 1 Example 2
All Colors
Complementary are the
friends
Colors of their
NEightbors
Alternatively, we can pick 2 colors that work together by
selecting their counterparts. These complementary colors AND THE
LOVERS
are located on the opposite side of the color wheel.
Blue works with orange, red with green. We can then adjust
the tint, tone and shade to complete our color selection.
of their
Example 1 Example 2
Triadic Colors
To select 3 colors with strong contrast, you can use the tri-
adic combination by selecting them on a triangular
arrangement based on the color wheel.
Example 1 Example 2
WHAT IS Courage
Nobility
Highlight
Fun
COLOR Psychology?
Luxury Expression
Using different background colors can also play a vital part Secure Highlight
in how people visualize a website’s authority. Financial Positive
Loyal Energic
Bright colors like greens, yellows and pinks can bring a Details Info
more vibrant youthful vibe to a website, while dark blues Communication Safe Positive
Trust Stable Education
and blacks can come across as business or corporate.
Balanced
VARIABLES
FOR COLOR WEIGHTS and Their Use
Light Mode
Backgrounds 100 Text
Tags
200
300
Overlays
Button Hovers
Secondary Shade
400
500
Primary Color
Secondary Tint
Like fonts, colors can have weights ideally ranging from Button Hovers 600 Tags
options like 100,200... to 700,800.
Overlays 700 Labels
The lower values indicate lighter tints, while the higher
values add more shade, bringing it closer to black. Text 800 Backgrounds
USING by using a ratio. This ratio depends on the size and weight of
the text being used.
A tip to see if you are using enough contrast for your website Ratio 2.01:1 Correct contrast
is to view the website in greyscale. ratio. This allows for the
text to be read on the
Insufficient ratio for screen easily.
readability
Colors
Using triadic color options, the selection
of purple, green and orange work well
as primary, secondary and tertiary
colors. Select base color as white or
black for text.
The elements of an effective color schema include: 100 #ffbee5 #ffbee5 #ffbee5 #ffbee5
How to use
TYPOGRAPHY Typography
is an art.
Understanding typography helps us effectively use fonts and
sizing for headers, paragraphs, buttons etc. We will cover:
Good
• Serif and sans serif
• Bold, italics, underlines and caps
• Letter spacing and line height
• Text color and contrast
•
•
Sizing fonts and headers
Font weights typography
is Art.
• Legibility & readability
• Hierarchy
After completing this section, you will be able to do the — Paul Rand
following things with typography:
Aa
SANs SERIF do SERIF
Do set paragraphs to
use sans serif fonts.
On the web and in
applications, we use sans Do set small text in la-
serif font families as they bels with sans serif.
are easier to read. Do use sans serif for mo-
bile applications.
The exception is when
we have large headers or
decorative text for hero
banners. Don’t abcdefghijklmnopqrstuvwxyz
Don’t use sans serif for
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Always opt for using sans large text as it reduces
serif when possible. style, flair and
emotion.
SANs SERIF
BOLD
For websites and applications, we recommend only bolding
the essential text in your paragraph. This can be for a link,
or to emphasize an important message, or a warning.
Overuse of bold text can make sentences and websites
overwhelming for users.
BE BOLD
Avoid using italics where possible. Use regular text where
you have a label or button.
do Don’t
Italics can be used to
emphasize a statement,
Using italics for a full para-
graph makes it very difficult
OR ITALIC
feeling or expression, or to
add character to your text.
to read and you can lose the
message you wish to convey.
NEVER REGULAR
Submit
Do use it on one item to
make it stand out.
Don’t use italics for but-
Do use it for quotes or tons.
testimonials.
Don’t use italics on
everything line/text.
If you can design one thing,
you can design everything. Don’t use italics links,
- Massimo Vignelli they are difficult to
spot.
DIFFERENT TYPES
OF UNDERLINe
There are many types of underline that can be used to add
some creativity to important elements or when hovering
Default Underline
In the early days of the internet, underlined text was pre-
dominantly used to representat hyperlinks. .
Double Underline
Today, the design preference is to underline text to add em-
phasis to important text.
Dotted Underline
Hyperlinks are now often represented by using different text
color or weights.
Wavy Underline
don’t do don’t do
Use a different color for
Important
On some sites like Wikipedia, In situations where you do have
there could be many hyper- hyperlinks and underlining for a
a hyperlink, apply the underline
Header Title
links in a single paragraph that core statement to have a much
better effect. on the hyperlink hover
can be overwhelming.
Do use underlining for Don’t overuse underlines Do use underlining for
Don’t underline
emphasising text. on large text. the hyperlink hover.
hyperlinks.
AA
don’t do
A FULL SENTENCE WRITTEN Having an alert or warning
IN CAPS WILL APPEAR UNPRO- needs attention for the user, LOGIN SMALL LABEL ATTENTION
FESSIONAL. WARNING them of a delete.
Letter spacing is the space between each letter. It often Don’t reduce letter spacing to the point where there is
does not need to be changed for regular font sizes. no gap between the letters.
• Hero section
• Banners
• Large titles
do
• Headings Do reduce letter spacing for text above +64px by a
small amount such as -0.025em or -1px.
• Large font families
Do use consistent letter spacing throughout the de-
sign.
This enables text to be read more easily and allows more
room for other components like banners or headers.
A
B “Too much line height will
doN’T
cause the text to feel too far
Don’t set line height >1.75
Paragraphs
Titles / Headers
Leading is the technical term for the line height of text.
Good line height gives more space for paragraphs and less doN’T Headers use
for headers, making them visually easier to read. Don’t set line height
>1.25 for large text less leading.
Poor leading can give the appearance that the content is
disjointed, which may make the content more difficult to
follow and users to quickly lose interest.
Font size for a website must be readable no matter the It is based on the harmonious relationship of sizes, making
device or viewport. it easy to find the right px amounts quickly.
Header 1
There is no “ideal” or “perfect” font size, but a good starting
point is 16px. From there, you can adjust as needed based Use 3.125em / 50px for H1
on the specific font you are using and the overall design of
your website. For example on larger screens you can even Header 2 Use 2.618em / 42px for H2
increase this to 18 or 24px.
Header 3 Use 1.931em / 30px for H3
Remember that not all fonts are created equal. Some fonts Header 4 Use 1.618em / 25px for H4
are easier to read at smaller sizes, while others are more Header 5 Use 1.194em / 19px for H5
difficult. Consider – Regular paragraph, avoid using
lorem ipsum as filler text. Use 1.0em / 16px for body P
• The amount of text on the page: If there is a lot Small labels, placeholder text above inputs, or other
small alerts. Use 0.667em / 11px for small
of text on the page, it may be necessary to increase
the font size to make text more readable.
TIPs
• The target audience: If the website is aimed at
To learn more about the Modular Scale and how it uses the
older users, it may be necessary to use a larger font t
golden selection to identify the best sizing
size. options for headers and text, visit the link below.
content that is provided to them. closely related to for users Smaller Header 3 Header 3
18-24 px with 0% reduction 16 px 10% reduction 14 px 25% 64 px -0% reduction 30 px-50% reduction 25 px -20%
reduction reduction
do don’t don’t do
Do use font size for Don’t start with Don’t set header Do use larger font
body paragraphs small desktop fonts size to be the same size for desktops and
between 18-24px. of below 16px. as paragraph text. tablets.
Do reduce font size Don’t use excesively Don’t oversize Do significantly
for smaller view- large font sizes of headers so that a reduce header sizes
ports by 10-25%. above 30px for text. line break occurs. for smaller devices.
aaa
Regular
headers for different effects or to make specific text stand
out.
do
Do increase font weight on
small text.
Small text like labels, toasts or on buttons, benefit
from being in bold so that they are easier to read.
Text
Medium
The larger the font
Do reduce font weight as The less weight needed
text size increases. to look good.
Do combine font weights in
Bold
large text to make Use combinations to
certain words stand out
your advantage!
Overwhelm
don’t
Don’t overuse bold on
Black
large & loud large text.
Good legibility is essential in web design and user • Avoid using busy patterns of text behind busy
interfaces because it helps users locate the information images.
they need and navigate the website or app more easily. It
can also reduce frustration and increase user satisfaction
with the overall experience.
don’t
Don’t use the same sans-serif font for your Typography
headings and paragraphs.
Don’t overdo contrast or spacing to try and fit all the is two-dimensional
architecture,
text into a small area.
based on experience
Great legibility and imagination,
A good sentence needs to be large enough,
with good contrast and line height.
and guided by rules
and readability.
do
Do use sans-serif font that is smaller with only subtle
contrast or opacity to the header.
— Hermann Zapf
Do use serif for titles so that it stands out from the de-
scriptive text under the title.
User Login
Keep things simple for users
without too many instructions
Username
Password
• Spacing: define your line height and letter spacing. Tablet, 18px, 1.25 line-height Mobile, 16px,
1.15 line-height
• Examples: provide styled examples for typography and
its use (see next page).
There are four main aspects to consider when designing
components –
The building blocks of any website are components. These • Accessibility: The ability for everyone to use it.
can be small and simple (like a button), or large and
complex (like a carousel).
• Buttons • Cards
• Shadows • Tables
but
• Icons
• Labels
• Breadcrumbs
• Tabs
significant
— Don Draper
• Dividers • Lists
Spacing
Spacing, or a spatial system, is the amount of room or
pixels inside, outside, and around elements.
SPACing 0 10 20 30 40 50 60
BaseLINE Units 5 15 25 35 45 55
Discard Submit
8 px
Submit Discard
Inconsistent spacing can look Using 4 point system, spacing 36px
unprofessional. can be consistent. The baseline unit can also be used to measure space between
Don’t use variable spacing (eg. 1,3,11,9)
elements. Use 12 px of space between buttons and other elements.
Do use increments of (4, 12, 24) for equal
for each side element spacing on top, bottom, left, right. Set all margins, paddings, and space between components in increments of 4.
12 Column DESIGN
SPACing
GRids & Columns
Grids and columns should have consistent spacing based
on the baseline units. These keep things aligned correctly
and positioned asthetically.
4 px
do 4 px NEWSLETTER Footer
Title & Form Sitemap Logo
Using 3 columns provides consistent sizing to provide a clean look.
Do use pre-set column sizing to keep elements width and gutters uniform
B
Button
B
B
B
B
Buttons B
Tips
For effective button spacing - set 1 EM padding for the top and
bottom, and 2 EM padding to the left and right
Buttons are elements that when pressed, allows the user to
perform an action. The design of a button depends on the
priority of the resulting action and will determine how visible
it should be on a website or application. do don’t
The 3 main types of buttons are: Button Button
• Tertiary buttons Primary buttons use vibrant colors and are larger
Passive actions which are rarely used.
Primary to signify the main action you want a user to take.
Avoid having multiple primary buttons on a page.
Design considerations for buttons should include ample
space for users see and select them. This means having Secondary buttons use more subtle colors and
more padding around text, along with clear colors that Secondary often have smaller and lighter backgrounds to
reflect they are alternative actions users can take.
contrast against the background of a website or application
to make the button stand out. Tertiary buttons use simple outlines or no
Tertiary background because they are the least important
actions users take.
Navigation
Apply a border to specific text (border bottom) to show an active item
BORDERS
on a header menu.
don’t do Curves
Too much color or A subtle border color Border radius adds curves to a border. If your design uses this
focus takes attention allows attention to asthetic, you can apply it to the buttons, inputs and components as
away from content. remain on content. well
Don’t make borders too light or dark in Do reduce the opacity or color of a border Email Address... Signup
contrast to their background to allow content to be more in focus.
Tips NO Borders
The more content or sections Keep borders light and simple to When in doubt, do not add borders. Less is is always more.
you have, the more borders can ensure they help separate
help to separate them. information sparingly.
First Name... First Name...
Set only minimum use of borders when possible. One line can do better than a whole border box.
SHADOWS Depth with Shadows
Shadow is an effect we can apply to components to draw Add shade or tone to the box backgrounds to emphasize
attention to them. Adding shadow to an element also adds components. Creating darker and heavier shadows with an
depth to allow it to stand out. offset on the Y axis will create additional depth on a page.
Often, the darker and larger the shadow, the more depth. box-shadow:
Shadows should be applied gradually in minimal amounts. 0 Depth 0px 0px 0px 0px rgba(0,0,0,0);
Add icons to elements like action buttons or labels (see next Username
section) to provide your user visual information on what the 1
button does or what the label means.
Password
Only add icons to aspects of the interface that you want your #
user to notice. Avoid overusing icons, as too many can cause
the interface to become overwhelming.
Submit 3
In some instances, you can remove text entirely & use icons. Forgot your password? Reset it by clicking here.
Save Save
Tips Tips
Icon is used to signal data is No icon was added to the
Discard Discard missing and that the user’ submit button as too many
attention is required. icons can be overwhelming.
Set appropriate icons for labels to give Set icons only when required. Too many
Don’t have different sized icons. Do use similar style and keep the size the user visual information on action required. can make a page feel clustered.
same as the text. (ie 18px font = 18px
Don’t use icons larger or smaller than font. height icon)
Don’t use low contrast icons that are hard Do space icons around 1em away from text
to see on a element background. equally.
do
Info Label: Make sure you read this label before the comments below.
Labels Ensure that information based labels are read first by placing them
before content. Messages such as a successful change, or
requirements for a form should be placed at the top of the page.
Do place information based labels above content that it refers to.
Labels remain hidden until they are needed to alert the user
don’t
When an error occurs, add warning labels below the item with the
that their attention is required, or if the user has to complete error. This allows the the element in focus to stay in position, while other
specific tasks. content is pushed down by the warning label.
Keep labels placed next to the item they are related to and Warning: Read this after an error to keep attention on element.
ensure the right color provides meaning. Don’t add warnings at the top or bottom of a page, but next to the element they are related to.
The 3 common types of labels are – error, success and infor- Info: Notify the user with additional methods or context for their interactions.
mation. Pick the correct label for the the message you wish Set the right color for messages, with useful information that helps the user.
to display.
Single Line
Dividers A single line is the perfect divider to separate content. Reducing the line’s
opacity ensures it does not stand out too much as a diver to ensure focus re-
mains on the content.
Don’t cluster lots of information together Do add dividers where there are lots of
without dividers. grouped elements.
Country Country
Don’t add dividers when there is no Do add extra spacing between the divider
additional content such as below. and the elements.
City City
FORMS
A form has several components that often lack style when
using on a browser.
Placeholder
The text input components are form fields that are provid- Full name
ed for user input of text information.
Jane Doe
They are made up of three main UI elements:
Enter your first and last name
• Label that titles the input item
Input
• Input itself for entering the information
name@mail.com janedoe@mail.com Strong colors on inputs can cause them to look like buttons.
Don’t use overwhelming borders or colors for inputs.
Don’t set the placeholder color to the same color as input text
Don’t use icons or labels inconsistently.
focus invalid
The focus state indicates The invalid state is used to do
the user that the input is indicate the users that they Enter username... Enter email...
selected and that they can have provided invalid infor-
start typing. mation. A subtle background shade makes inputs stand out better.
Do use shade or tint for inputs that can increase on hover and focus state.
Do use opacity of at least 50% for placeholder text to make it passive.
Email Email
Do add icons to all inputs, or remove from all inputs to keep consistency.
janedoemail.com
Email should be in the format of example@mail.com
disabled Tips
The disabled state is when Adrian Adrian
Email
the user should know that name@mail.com
Error: username already taken Confirmed: username available
it is there, but can’t interact Outlines and labels with color can provide additional details about the
users information visually.
with it.
Set colors in the border or background to indicate if a user input is correct or not.
Set corresponding label with the style change to acknowledge what happened.
Input Hover & Focus
Apply a different shade or outline to an input on hover or fo- don’t do
cus allows the user to know it was selected.
don’t do
Username... Enter username... Instead of using the outline property to indicate the fo-
cus state, you can use the box-shadow property which is
Submit Form Enter email... more flexible and lets you achieve a better look.
Don’t use the same style for borders or Do add changes of only 5% - 15% for tint or
background for a button and input. shade added to the background of an input
color change.
Don’t add extra styling elements like a bor-
der of 2px that changes the height or layout Do take away styling that doesn’t change
of an input height or width, such as having the border
color the same as background color.
tips
sizing Full Name
Jane Doe
Most use cases don’t require more than 3 input sizes: small,
Enter your first and last name
default and large. As a good rule of thumb you can use the
following defaults: • Spacing between label, input and helper text should have a ra-
tio of 2 / 1.
• Spacing from label to input: 8px
I
I
I
I
rem) rem)
When adding icon’s, apply the same 1em of padding between it and
Full Name
Full Name
40px /
the text following the input.
32px / Jane Doe Jane Doe
2rem 2.5rem Do use the same spacing between the left and right padding as applied for icons and text.
16px / 16px /
1rem 1rem
don’t do
large First Name
Account Details
First Name Last Name
Last Name
• Height / Horizontal padding Login Details
Username
ratio: 3 / 1 Username
• Height: 48 px (3 rem) Password
• Horizontal padding: 16 px (1 Email Password
rem)
Having too many inputs grouped Simple structure and layout
Full Name
together is overwhelming. makes a better user interface.
48px /
3rem Jane Doe
Don’t add lot’s of inputs in a sequence Do use labels and space to make
16px / with no space or grouping. inputs easy to see and enter.
1rem
FORM
CHECKBOX Ingredients Label to
The checkbox component is used to let the user select one
or more items from a list. group
Tomato checkboxes
It consists of three main elements:
Checkbox Onion
• Primary Label that titles the group of checkboxes
Lettuce
• Checkbox itself for that can be have three states
(checked, unchecked, or indeterminate),
Tomato
When using multi-level checkboxes, the parent category
tips
may appear in an indeterminated state if only some of the Ingredients
child items are selected. This means that the parent catego-
Bacon Lettuce Mushrooms
ry is neither fully checked nor unchecked.
Tomato
Font-size 16px /
1rem
FORMS
RADIO Radio button group label
selected burger?
cheese with
bacon
User account
Business account
Mayonnaise
The input is selected
Don’t have overflow to Do let text wrap be-
Medium additional lines. neath the radio but-
ton so the control and
Don’t use confusing neg-
label are top aligned
ative statements and
similar option options. Do start with capital
letter
unselected Don’t forget to ensure the
label wraps the whole
Do include mutually
exclusive options
item to allow the input to
The input is not selected be clickable when select- Do use label tags as
ing text. click targets
Medium
tips
• Have the most common
option selected by default
Difficulty Difficulty
whenever possible.
Easy Easy
Medium Medium • When having less or equal
Hard Hard than 5 options, use a radio
button instead of a select
Don’t Do (Dropdown), as dropdown
menus require an extra
step and they hide the
options.
sizing
8px / .5rem
Size
Small
6px / .375rem Medium
8px / .5rem
you. On mobile devices, it’s important to make sure that the radio
good design is the silent inputs are large enough for users to easily tap with their fin-
ger. To ensure a good user experience, both the radio button
and its associated label should be increased in size.
24px / 1.5rem
FORMS
Label Character indicator
ue text
Review your purchase
Don’t make a full page width tex- This product has completely • As you type, add a
tarea on desktop surpassed my expectations. remaining characters
Keep up the excellent work!
text
Don’t rely on the placeholder text
Maximum 100 characters (8 remaining)
as label
look at
or confusing.
usual
user experience. As a good rule of thumb you can follow this
guidelines:
• Height: 100px (50 cols, 4 rows)
• Horizontal padding: 16 px
things with
• Spacing between label, input and helper text should
8px /
.5rem
have a ratio of 2 / 1
unusual eyes
— Vico Magistetti
Review your purchase 82/100
tips
Toggle switches should take immediate effect and should
not require the user to click Save or Submit to apply the
new state.
sizing
8px / 18px /
.5rem 1.125rem
26px /
Show average price 1.6rem
Dropdown boxes and menus are a great way to present a list - Select -
of options to the user.
Afghanistan
Selected item
Albania
Algeria
American Samoa
occurs:
Yes - Select -
tips
Choose a country
United
United Kingdom
United States
- Select - 1px /
8px / Choose a country .06rem
.5rem 40px / Afghanistan
40px / 2.5rem
- Select - 2.5rem
Albania
error
Choose a country
- Select -
4px / Please complete this field
.25rem
8px / 16px /
.531rem 1rem
FORMS
submit button Button
Create Account
it’s implicit that creating something will result in something
new.
8px / .5rem
do
Cancel Create Account
Cancel Loading
When designing positive badges, use a green background When using badges, make sure to use a blue background
color to signify success. color to help them stand out. The labels for the badges
should be clear and concise, such as “active”, “in use”,
Labels should be clear and positive, such as: approved, “live”, or “published”.
complete, success, new, purchased, or licensed. This will
help to reinforce the positive feedback and create a more This will help users quickly understand the status of the
enjoyable user experience. page or feature they are viewing.
Licensed Live
Negative tips
When creating negative badges, it is important to use a red
background color to clearly differentiate them from posi- 32
tive badges.
toasts Title
action
-alerts-
Icon
Toasts (or alerts) are notifications that provide feedback in-
formation to the user about a recent operation.
They should be used to inform users of updates or changes Notification title Action
to system status, and provide immediate feedback of an ac- The message text of this notification goes here.
tion. This helps to build trust between the user and the sys- 10:08:00 AM
tem, and can be used to communicate success or failure of
an action. They are made up of the following UI components:
do
New release Update Notification title 2 Action
Version 3.1 is available. The message text of this notification goes here.
10:08:00 AM
Do provide a close button. Only display two toasts at one time and when more
than two, fade out the previous one.
Do provide information on how to resolve the issue by
including any troubleshooting actions or next steps.
sizing
• Width and height can vary based on content.
16px /
1rem
20px / Font-size: 13px /
1.25rem
everything is designed.
.813rem
Notification title
The message text of this notification goes here.
10:08:00 AM
Action
14px /
designed well
— Brian Reed
.875rem
breadcrumbs 1
Breadcrumbs inform users of their current location, and
enable them to quickly move up to a parent level or previous
step. Categories / Women / Shoes
Use this pattern when you have nested content organized in
a hierarchy of two or more levels. Don’t use it if your prod-
uct has a single level navigation because it adds unneces- 2
sary clutter.
Don’t use breadcrumbs for sites with flat hierarchies Silver Drone 2021 Model
do Description:
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Aenean commodo ligula eget
Home / Women / Apparel dolor. Aenean massa. Cum sociis
natoque penatibus et magnis
dis parturient montes, nascetur
ridiculus mus.
Do use a short and concise text, ideally no more than
one word. Users should be able to anticipate where
they’ll get redirected to after clicking on the link.
Example of an e commerce site, if users land on a
Do make it clear that is a link that will redirect them out Product-detail page, they may want to see other product
of the current page. options in that same category, so a breadcrumb linking up
to the parent level in the hierarchy will suffice.
Do include the current page as the last item in the
breadcrumb trail.
tables Search
Sorting
Tables are used to display groups of information across rows Search product by name
and columns.
Product Category Price Date modified
Use it when you need to display a collection of structured
Avocado toast Breakfast $10.00 02/05/2021
data, and you want to provide sorting, searching, pagination
and filtering on this data. Hotcakes Breakfast $10.00 02/23/2021
Filet Mignon
Garnish
Smashed potatoes
Category
Lunch/Dinner
color Hotcakes
Spring rolls x 12
Breakfast
Snacks
$10.00
$20.00
02/23/2021
05/22/2021
Filet Mignon Lunch/Dinner $30.00 02/05/2021 • Make a clear distinction when a row is hover or selected.
w/smashed potatoes
• Use opacity 100% for the header row, and 60% with the
same color for the rest of the rows.
UX TIPS tips
Search product by name
Price: $10.00
Spring rolls x 12 Snacks $20.00 05/22/2021
Category: Breakfast
Keep column headers fixed when scrolling down, and Category: Breakfast
the first column should be locked if the users scrolls
horizontally, this will help on giving context to the Smoothie
data.
Price: $15.00
data.
Filet Mignon Smashed potatoes Lunch/Dinner Filet Mignon Lunch/Dinner $30.00 02/05/2021
w/smashed potatoes
Grilled chicken Salad Lunch/Dinner
Hotcakes Breakfast $10.00 02/23/2021
Spring rolls x 12 - This is a very long text for this column
Loading more
Do give cells proper padding (white space), information is
easier to scan this way.
Don’t use unnecessary borders as they clutter the UI.
Do add clean contrast between the header row and the
Don’t use things like infinite scroll or load more, as this remaining rows.
decreases usability. Use pagination instead.
Do keep text aligned to the left as it’s easier to read.
Don’t put similar data types in two different columns.
If you have a dish with a garnish you can group those in Do keep numbers aligned to the right.
one column.
Do use colors to mark significant data.
Don’t try to fit entire text in column, when text is longer
than the column width truncate it with an ellipsis. Show
a tooltip on hover and provide the ability to resize the
column.
sizing short
Product Category Price Date modified
Hotcakes
Lunch/Dinner
Breakfast
$30.00
$10.00
02/05/2021
02/23/2021
expandable
Hotcakes Breakfast $10.00 02/23/2021
rows
Eclair Pastry $10.00 02/05/2021
Chocolate
Filet Mignon
w/smashed potatoes
Lunch/Dinner $30.00 02/05/2021
pagination
Hotcakes Breakfast $10.00 02/23/2021
16px / 1rem
lists Style
indicator
1. Directions
1.1. Stir together
Lists are vertical groupings of related content. List items 1.2. Chill
begin with either a number or a bullet.
1.3. Roll into balls
They are made up of three mainUI components:
List items 1.4. Serve
• Style indicator to indicate the style of the list, e.g. or-
dered or unordered
Text
• List items with information quantity (numbers, bul-
lets, letters, etc) that can vary. A consistent format
helps the user to scan and read the content efficiently
and every list item must have text
16px / 1rem
8px / .5rem
don’t do
How to register for the conference: How to register for the conference:
1. choose the day you will attend
2. pick the workshops you wan to join 1. Choose the day you will attend
3. enter your discount code (if you have one) 2. Pick the workshops you wan to join
3. Enter your discount code (if you have one)
Don’t start lists with lowercase letter, always use up-
percase. Do use indentation to specify a subset of a list item.
Don’t add list item children at the same level as the Do use bulleted lists when you don’t need to convey a
parent. specific order for list items.
tooltips $23.00
Tooltips are used to display additional information when
the user hovers over, focuses on or taps an element.
How is this price calculated?
They should be used to add non-essential, useful informa- Container
tion. Actual prices will be calculated
at the warehouse when we mea-
They are made up of two main UI components: sure and package your items.
Text
• Container to hold the text
Print +P
Print +P Print +P
• Supporting text (optional) e.g. a restaurant descrip- Lorem ipsum dolor sit amet, consectetuer
tion adipiscing elit. Aenean commodo ligula
eget dolor. Aenean massa. Cum sociis
natoque penatibus et magnis dis parturi
• Buttons (optional) for actions ent montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentes
• Icons (optional) for actions
Action1 Action2
• Media (optional) like photos and graphics
16px / 1rem
don’t do
Don’t visually clutter the card, use appropriate white Do make the whole card the primary action if no primary
space between elements. CTA is available on the card.
accordions
How can I pay for a course?
Summary text
UX TIPS
What if I don’t like a course I purchased?
accesible design
Where can I go for help?
is good design Make sure to give people the capability to open multi-
ple sections at a time so that different chunks of con-
tent are readily available.
— Steve Ballmer
Don’t use accordions when users need most of the
content on the page to answer their questions.
don’t do
How can I pay for a course? How can I pay for a course?
What if I don’t like a course I purchased? What if I don’t like a course I purchased?
All courses purchased can be refunded within 15 days. All courses purchased can be refunded within 15 days.
If you are not satisfied with a course, you can request a If you are not satisfied with a course, you can request a
refund. refund.
For steps on how to request a refund, please click here. For steps on how to request a refund, please click here.
.5 8
16px
64px
Location
16px
1 16
16px
1.5 24
16px
2.25 36
36px CANCEL SAVE
16px
16px
48px Start and end dates Start: Feb 29, 2016 End: Not set
Do keep the text size of tab at 14px minimum with a line height
of 24px.
design is a formal
2px / 16px /
.125rem 1rem
1px /
.063rem
iconography
scale the icons from there.
Store Store
6. touch/click target
For smaller screens icons of 24px can use a touch target of
4. icon clarity 48px (about twice the size of the icon).
For icons you should use icon fonts or svg, don’t use images
to display web icons as they lack in scalability. 48px / 3rem 24px / 1.5rem
png For larger screens (desktop) icons of 20px can use a touch
target of 40px.
SVG
Click/touch target
7. universal icons UX TIPS
Don’t change commonly understood icons.
Dashboard
don’t do Chat
Teams
Tasks Delete
1.5em /
24 x 24px
Inbox Font-size:
16px / 1em
everything you
1em can imagine is
real
1em = Current computed font size (16px)
1.6em/
32 x 32px
Inbox Font-size:
20px /
1em
— Pablo Picasso
1em
avatars
An avatar is a graphical representation of a person
through a profile picture or image, an icon, or a string with
initials.
Initials avatar
JD
The most common avatar types are:
• Image avatar
Icon avatar
• Initials avatar
• Icon avatar
usage sidebar user settings
Although avatars may appear in different places, the same User settings are usually found on the lower left side of an
image, initials or placeholder should appear for a given ob- application, and they often are represented with the avatar
ject instance throughout the application. user handler or email and a settings icons.
toolbar contact
The avatar can represent information providing additional information
the dropdown selection for
a profile We can provide additional information to the avatar to in-
The avatar helps to stand
form of a certain action or behavior:
out unique data when there
is lots of information, e.g.
The indicators that show if the user
when viewing a large list of is online or offline.
contact information. These status indicators should live
in the lower right hand of the avatar.
Preferences
Information by notifications and
3
Theme
Jane Doe visual feedback with a numbered
label.
Web Designer
Sign out
London
These notificatoiin badges should
live in the upper right hand of the
avatar.
avatars.
Don’t make avatars square, is an industry standard to When the user is adding a picture provide a basic
use rounded avatars. cropping tool, this will prevent the user from having
Don’t oversize avatars, make sure they have an appro- to manually crop the image in an external tool.
priate size in relation to the context.
Make sure you position the face along the square in
the middle, and that the face doesn’t touch the bor-
ders of the circle.
do If you want to indicate prog-
ress (e.g. onboarding prog-
ress) consider using a prog-
JD FS GD MA ress bar around the avatar,
which serves as an indicator
of user’s achievements.
Do provide the users’ initials if they choose not to pro-
vide an image.
Cheryl Gardner
Do keep good contrast with the avatar background color,
50% completed
when using an avatar with initials or icon.
• Minimum: 56px
small
• Easily embedded
Robert May in a contact list
robert@mail.com
and similar repet-
(03) 9830 7761
itive scenarios.
• Minimum: 24px
24px / 1.5rem 56px / 3.5rem
Katarina Brookes
medium kbrookes@mail.com
• Minimum: 40px
40px / 2.5rem
visual hierarchy
design is
In web design visual hierarchy is used to rank design ele-
ments in the order you want your users to view them.
thinking
By properly laying out elements one can influence user’s
perceptions and guide them to desired actions.
1 2
visual hierarchy 3 4
visual patterns 5
E.g. company logo on the upper left as it’s the first thing the
users look at.
3 4
visual hierarchy
how to alter good art
visual hierarchy? inspires,
There are many factors that can play a role in visual hierar-
chy, let’s take a look at some of them:
good design
motivates.
• Size • Alignment
• Text • Consistency
• Color
• Contrast
• Proximity
ABC
visual hierarchy
size & text
Sizing is a very basic yet powerful principle that can give people don’t use a product
elements more importance than others and help draw the
viewer’s attention towards a certain area or element. because of the great
The bigger the element, the greater are the chances that a
user will scan it first. People scan bigger things first. design;
The smaller the element, the more likely the user is going to
leave the element to scan it last. People scan smaller thing
great design helps them
last.
use the product.
For text, we can significantly increase the importance of an — Viran Anuradha Dayaratne
element by increasing its font size.
You want the user eyes to see titles first, lead paragraphs
second and less important sections last.
don’t do
There is no clear hierarchy es- 1 The user sees the name of
1
tablished between the name, the the person first because it
occupation and years of experi- has the largest font size.
ence.
tips
Use sizing to override the reading patterns we saw before.
Lead
40px
24px
simple
song flows naturally from the one before.
that’s why it is so
Ac vi es
Save
Save
a graphic designer
visual hierarchy is a machine that
inputs turns coffee into
Inputs that should be seen by the user first should be given
a larger size while less important inputs should be smaller
beautiful, functional
imagery
to not distract the users focus from the main action.
— Lisa Manson
don’t do
By reducing the size
of the search input we
Both search input
now put users focus
and email input have
on the email address
the same size which
input, encouraging
can prevent the user
them to subscribe.
to focus on the pri-
mary action, which is
subscribe.
use case 1
Let’s go ahead and improve the following landing page There is no clear hierarchy between the main title, paragraph,
using the concepts we just learned. navigation links, so let’s go ahead and fix that by giving the
main title a bigger font size and make it the first thing the user
Blog About Home
sees on the page.
Contact me
Company Logo
Subscribe
Second, let’s put the users focus on the main call to action here
which is to subscribe to the newsletter. For that we are going
to make the email input be bigger than the “Search blog post”
input.
3
Company Logo
disastrous
— Ralph Caplan
How to use COLOR in text?
Texts that are more important should have a higher contrast
between it’s color and the background, body text and less
important sections should be given a lower contrast.
We Build Awesome
Web & Mobile Apps
Don’t make the body Do make the title have
We cultivate expertise in every stage of product creation,
resulting in extraordinary digital experiences. text have the same a higher contrast than
color and contrast as the body text.
the main title.
You should use the red color for actions that can’t be un- In the next example, the delete account button color gives a
done, for example permanently removing an account. clear visual cue to the user that is an important action.
don’t do
Delete Account Delete Account
Are you sure you want to delete your account? Are you sure you want to delete your account?
If you delete your account, you will permanently If you delete your account, you will permanently
lose your profile, messages and photos. lose your profile, messages and photos.
Don’t make the destructive action Do use a red button to warn users
button have a normal color like blue. they’re about to commit a dangerous
act.
When elements have the same color and layout, there is no A good example of this could be when we want to encour-
clear distinction between any of them, if you want to create a age the user to pick a certain pricing plan, for that you can
focal point you can use a different color to emphasize one of change the background color of a specific plan to make it
them. more prominent and eye catching.
don’t do
Subscribe Subscribe
2
Let’s change the background of the main call to
action to a nice orange gradient to make it more eye
catching.
Let’s increase the contrast of the main title by
3 choosing a lighter shade of white.
good
between the two, making a focal point in the
title.
design
Blog About Home
Contact me
Company Logo
I build performant
web apps
I’m John Doe, a fullstack developer with
an eye for design.
is good
Enter your email address
Subscribe business
— Thomas Watson Jr.
4
Without color With color
Blog About Home Blog About Home
Contact me Contact me
Subscribe Subscribe
don’t do
Don’t: There’s no clear visual hier- Do: We created a focal point on the
archy between the contact me and subscribe button by changing its col-
subscribe button, this creates con- or and make it more prominent than
fusion on which action users should the contact me button.
focus first.
Do: We created a clear distinction
Don’t : Both title and paragraph text between the title and the paragraph
have the same color, making it more by choosing a lighter shade of black
difficult to figure out what to read for the paragraph.
first.
Do: We highlighted the word perfor-
mant to create a focal point within
the title.
visual hierarchy
contrast design isn’t finished until
In web design, contrast is the practice of making elements
look different from each other in order to make the import-
somebody is using it.
ant elements eye-catching while others less so. — Brenda Laurel
It can be used in color, size, space to stablish a clear visual
hierarchy between elements.
How to use CONTRAST in COLOR? don’t
Contrast in color is the most common use case, you can use
a different more contrasting color for a particular element, in Request Demo
order to make it stand out from the rest.
In this example our eyes are drawn to the lighter circle, because
do
it has a higher contrast than the rest.
Request Demo
Don’t choose the same size for every text, this con-
fuses the user on where they should start reading.
do
In this example our eyes are drawn to the bigger circle, because
4x This is a title
bigger elements are scanned first.
2x This is a subtitle
1x This is the paragraph which usually
contains more text than the title and
subtitle.
elements.
My website
By surrounding important elements with some extra blank
space you will draw more attention to that element and
make it stand out.
Don’t make the ui look too cluttered, this will prevent users
from finding what they are looking for faster.
do
In this example the extra white space around the bottom right Company
My website
do
In this example the eyes are drawn to the square shape because
its the only one different among all shapes in the example.
A digital
product design
— Charles Eames
don’t
visual hierarchy Don’t group together unrelated
elements, this may camouflage
proximity
Logo
them from users.
Users
Payments
In the sidebar example, all
Reports seems to be part of the same
Proximity is the practice of placing related elements close
group.
together and separating unrelated elements.
Log out
don’t
Account Information
Label
Email
Don’t place labels far away from inputs, this
Label makes it hard to associate a form group. Group 2
Password
Don’t use the same amount of white space
Label
between the label/input and the next label.
don’t do
Company Home About Works Contact me Company Home About Works Contact me
Don’t leave large gaps of white space between the Do keep the title and paragraph close together,
main title and paragraph. this gives the user the feeling they are both part of
Don’t keep the company logo and main navigation the same group, making it easier to scan.
items close together. Do space out the company logo and the navigation
items, this clearly suggest the belong to separate
groups and can be scanned separately.
Use additional space buffer to separate groups. This will
use proximity in larger layouts help the user to scan the page and to identify different
groups.
Whenever you have different groups of elements you need
to make sure that the space within a group of them is small-
er than the space to the next group.
don’t do
Don’t leave the same amount of white space Do space out group elements, this will make it
between group elements, this gives the easier for the user to find specific groups.
impression that every group is related to each
other, making it harder for the user to scan the Do add buffer to the call to action and the aside
page. menu.
This example of proximity applies better spacing and prox-
How to use proximity in PRODUCT imity of elements to represent information in an easy to read
format.
CARDS?
Product cards are a great group element to harness the
power of proximity.
don’t do
$ $ $
$ $ $
Company Logo
I build performant
everything
web apps
I’m John Doe, a fullstack developer with
an eye for design. is design.
everything!
Enter your email address
Subscribe
— Paul Rand
2 3
Let’s close the gap between the Reduce the space between
title and the paragraph. the button and input to
make it clear they belong
to the same group.
VERTICAL ALIGNMENT
visual hierarchy Vertical alignment refers to how elements align on the hori-
zontal (x) axis. When elements align on a horizontal line, you
alignment
create vertical alignment.
When you have different heights you can align all the
cards to the baseline of the heights card.
In this example our eyes are drawn to the lighter circle, because
it’s not properly align like the rest of the circles.
Top or Bottom Vertical AlignmenT The vertical alignment of items influences the behavior of
users causing them to miss visual cues such as in the exam-
ple below to see the search box.
When the height of two or more elements are significantly
different, it’s usually a best practice to vertically align the
content to either the bottom or top
don’t do
Search Search
Don’t have different starting points for the cards Do align both cards to the top. This makes it clear
as it makes it more difficult for users to scan a that although they serve different purposes they
page and find related elements. are both related to each other.
centered Vertical Alignment horizontal ALIGNMENT
When the height of two or more elements are slightly differ- Horizontal alignment refers to how elements align on the
ent it might make more sense to vertically align them to the vertical (y) axis. When elements align on a vertical line, you
center instead of top or bottom. create horizontal alignment.
don’t
LOGO
do
LOGO
don’t do
Don’t make the container larger than the screen. Do keep them align with the navigation.
Don’t make the container larger than the 1200px. Do keep 30px of padding from left and right side.
centered horizontal alignment use case
When you don’t have multiple elements or large amounts
Let’s vertically align the company logo, the navigation
of text you can make use of centered horizontal alignment, 1 items and the contact me button to the center.
keep in mind that in most cases text and content should be
align to the left.
tips
Company Logo Blog About Home Contact me
SUBSCRIBE
Subscribe to our newsletter and receive I build performant
the latest updates and promotions
web apps
I’m John Doe, a fullstack developer with
an eye for dessiign.
Subscribe
Enter your email address Subscribe
This is important because a consistent site or app lets the design creates culture.
user transfer knowledge they already had collected and ap-
ply it on other sections within your site or app. culture shapes values.
When a UI works in a consistent manner, it becomes
predictable (in a good way), which means users can under-
Values determine the future.
stand how to use certain functions intuitively and without — Robert L. Peters
instruction.
don’t do
Don’t change primary actions colors as they might Do make sure primary actions have the same color
confuse users on the meaning behind that action. throughout your site, this makes the user learn
that XYZ color on a button means he is about to
perform an important action.
consistency in TYPOGRAPHY
Consistent typography helps to create a complete and co-
herent website, this is why it’s crucial to set apart headlines,
bodies, and secondary texts by giving
them each a distinct typography.
do — Alan Fletcher
don’t do
Don’t remove the sidebar on specific pages, users Do use the sidebar pattern for web apps on all
are used to rely on it therefore removing it results pages to allow users to quickly find what they are
in confused and probably lost users. looking for at all times.
Having different styles, sizes or colors in icons can be mis-
consistency in icons leading for users as they might think they communicate
something different than the rest.
Icons are visually intuitive representations of actions or con-
tent of your website, keeping consistency across them en-
sures you always communicate the same thing.
don’t do
Export images Export images
Home Home
Dashboard Dashboard
Messages Messages
Settings Settings
Don’t mix icons styles as it affects the overall Do make sure to use either outline or solid icons
composition and aesthetics of the page. for a given set.
Don’t use different colors within a given group of Do use outline icons for primary navigations.
icons, the only case this would be acceptable is to
highlight a particular state like hover or pressed. Do use solid icons for buttons, form elements and
to support text.
consistent communication The terms and vocabulary you use have to remain consis-
tent throughout your app or website to make sure the user
understands and feels familiar with the message.
Primary actions, form submit messages, error messages,
every interaction with the user must be kept consistent.
don’t do
You post was added Category added You post was saved successfully You category was saved successfully
Don’t change your vocabulary on messages or Do keep messages and labels consistent
labels, it will be harder for the user to feel familiar throughout your app or website.
with the app on the long term.
use case
Let’s make the font family and style consistent
1 in the navigation items, this will help to
creativity is
I build performant
web apps
intelligence
I’m John Doe, a fullstack developer with
an eye for design. having
Enter your email address Subscribe
fun.
— Albert Einstein
negative space in text
Space between text is important because it improves read-
negative space margins between chunks of texts and line height between
lines of text.
1. Margin
2. Padding
3. Letter spacing & line height
do
Do leave generous amounts
of white space between
heading, subheading and
body text.
Do leave a balanced
amount of white space
between lines.
don’t do
Don’t leave too much white space as it makes Do surround elements with appropriate negative
elements look like they belong to different groups. space to bring in attention to them, e.g. the main
button clearly draws the user’s attention almost
Don’t leave too little space between text and immediately.
background images.
Negative space and consistency Inconsistent white space leads to abrupt changes in the UI
that affect the overall flow of the page.
don’t do
don’t do
Don’t make elements touch or even come too Do leave a generous amount of white space
close to the edges of the wrapper/container around atomic elements like text or images and
unless you are absolutely sure this will not wrapper containers.
disrupt reading and aesthetics.
Negative space between sections When building sections on a website or app it’s crucial to
know when to use large amounts of white space to separate
groups. e.g. if two sections talk about different
We know that negative space helps in bringing elements things and convey different messages it makes sense to
together, making them part of the same group, also large leave a larger amount of negative space between them.
amounts of negative space make elements feel far
apart, which translates in separating groups.
don’t do
Don’t leave little to no negative space between Do keep larger amounts of negative space
different sections as it makes it look they all between different sections within a page, this
belong to the same group, which might confuse gives time for the user to disassociate from
the user on why different things are being previous sections. E.g. the call to action and the
presented close and which item to focus on first. hero title.
Symmetrical harmony
Symmetrical harmony occurs when everything on one side
mirrors the other side, therefore, the visual weight is distrib-
uted evenly.
design is the
An abstract example showcasing asymmetrical harmony.
silent embassador
One side of the composition might contain a dominant ele-
ment, which could be balanced by a couple or more lesser
focal points on the other side. Such as an image on the left
and text on the right.
of your brand
— Paul Rand
don’t do
Don’t have elements be presented in the same Do use asymmetry in your design to convey a
way trough out your page, mix them up from left more modern and playful message.
to right to make it more aesthetic.
don’t do
Don’t display your elements without a clear Do use radial balance and contrast, to create a
balance, although this might be consider focal point in the center of the screen, by doing
asymmetrical there is no clear pricing card the so users will have less time to think which is the
user should focus their attention to. Overall main element on the page they should focus their
composition and aesthetics feels off. attention to.
Achieving harmony through colors
Harmony in colors can be achieved by sticking to a simple
rule: use a baseline color ratio of 60% for the primary color,
30% for the secondary color and 10% for the accent color.
don’t do
Don’t mix multiple colors, specially opposite Color palette: #ff008e (30%) #9ba2ae (60%) #2e528d (10%)
colors as they often contribute to a cluttered and
unbalanced interface. Do use an appropriate amount of different colors
(ideally 2 or three tops), this will help to create a
more balance page.
Achieving harmony between text Harmony can be achieved by correctly placing text and im-
ages so that one doesn’t overpower the other.
and images One way to do this is by finding empty spaces in your main
Harmony can be achieved by correctly placing text and im- image and placing your text there, let’s take a look at an ex-
ages so that one doesn’t overpower the other. ample.
don’t do
Don’t position text that overlaps heavily between Do reposition text and image in a manner where
the image content which cause to lose the both coexist in a harmonious way, where the text
harmony between the text and the image. doesn’t overlap on the heavy elements of the
image.
There is no perfect ratio for the amount of text that should If the text block is larger than the image, maybe is time to
go with any given image, this highly depends on the compo- break it into smaller chunks with smaller images.
nent you are building, remember that balance and harmony
can be found when either overpowers the other, let’s take a
look at another example.
don’t do
Don’t place large amounts of texts next to images. Do balance the visuals and text for any given
component.
2. Color: some colors are perceived as weighing more than
visual weight others. Red seems to be heaviest while yellow seems to be
lightest.
In web design visual weight refers to the perceived amount
of weight an element has.
It’s a powerful concept to understand in order to achieve don’t
harmony.
When applied correctly visual weight can help us create fo-
cal points to draw the user’s attention to.
don’t While the red color makes the user focus on the whole sec-
tion, it reduces the users attention on the primary action.
do
do
3. Density: mixing elements together into the same space
gives more weight to that space.
S
ES
OC
The design process is a set of steps that are aimed to get an
PR
end result/product that feels an looks better, interfaces that
feel more intuitive and help you to get a better overall un-
GN
derstanding of the problems to solve.
SI
In this section we will have a look at:
DE
• Wireframing
• Styleguide
• Prototyping
wireframes?
The perfect tool
We have created software for each
employee of your team.
Analytics API
our API manager can help you
connect it safely and get the latest
statistics.
Remember the purpose of a low fidelity wireframe is to
Cloud storage
just sketch out a rough outline of where we think text and You can store your projects with-
out leaving our product
one primary color and one accent color to make cer- dolor sit amet, consectetuer
adipiscing elit.
tain actions pop.
dolor sit amet, consectetuer
• Don’t wait to have high fidelity text, either use plain adipiscing elit.
don’t don’t
do
styleguide
A style guide is a reference source where you put together
all of the design elements that conform your website or web
app. This includes a color palette, typography (fonts and siz-
es), spacing, icons, imagery, components and all the visual
language that is used throughout your website.
First, you’ll need to include the font families and sizes for
your main headings H1-H6, in addition to this you’ll want to
include the font family and sizes for the body text.
For the line height and letter spacing its useful to enter large
amounts of texts and play around with each other to see
which one has the best readability.
imagery
Here is where you put every illustration and icon your web-
site is going to use. You should also create some rules and
guidelines regarding what kind of images to use on your
website.
The scale should include small increments than you can use
throughout your styleguide, for example, to determine the
space between a label and an input element.
components
Once the main style definitions are in place, we should think
about adding the main components of your app or website
into the styleguide.
Then we’ll create a basic section for the images and icons
that we will be using, followed by a layout grid and we’ll end
it by creating some basic guidelines for components such as
inputs, buttons etc.
creating the logo
The styleguide should include the size, placement, and all
the variations that are acceptable for the logo.
that holds
system is a collection of reusable components, design pat-
terns, and other standards used throughout an organization
to create a consistent visual language and user experience.
The icons used in FlowBite are the SVG-powered Hero Icons built by one of
the creators of Tailwind CSS.
• Components: These are pre-designed UI elements • Templates: These are pre-designed page layouts that
that can be reused throughout the product, such as can be used as a starting point for creating new pages
buttons, input fields, and other common elements. or sections of the product.
All of the elements are built using the utility classes from
Tailwind CSS and vanilla JavaScript. This means that is su-
per easy to customize, you can add your own colors, fonts,
sizings, shadows, and other styles to the default set of utili-
ty classes from FlowBite and Tailwind CSS.
This will not only save you months of works, but also you
can rest asure that your UI is following best practices all
around, accessibility, colors, contrast etc.
Let’s get a feel of how we can easily use Flowbite from de-
sign to implemantaion shall we?
If you take a look at the right hand panel, you’ll see differ-
Customize components super fast ent variant properties for the button. These help you quickly
change the appearance of the button to fit your particular
In this section, we’ll explore how you can harness Fig- needs, for example if we’d want a larger button, we can click
ma’s powerful features to customize Flowbite components the size property and select L or XL from the options.
quickly, resulting in efficient and visually appealing UI de-
signs.
From there you need to select the variants that have the
Primary color applied, in our case all the buttons that have
the blue colors, given that we want to change those to yel-
low.
Scroll down to the color section (while having the yellow Now, if we go back to the components instance, we can
variant value selected) and change it to any shade of yellow choose the Primary color variant option from the dropdown
that you want. and you should see the color button change to yellow like
this:
Next, create a new file in Figma for your UI design. You can
do this by clicking the “File” menu and selecting “New File”.
Let’s call it Flowbite login form.
In your new file, you can start building out your UI using
the design elements from the design system file. You can
do this by dragging and dropping UI components from the
design system file into your new file, and then customizing
them as needed.
Next, lets drag and drop the element into our frame. From
here we can right on the element and select “detach from
instance”. Given that the navbar is a Flowbite component, if
we want to change anything we need to either change the
base component which will reflect the changes to all in-
stances of the component, or we can detach this instance
from the component itself and customize it as we please.
And let’s add a Title for this I’ll add the following text “Build
websites even faster with components on top of Tail-
wind CSS” but you can add whatever you want.
Next lets go to the middle right section where the text styles
live, and select the Header style, the one that has 34pt.
Let’s center align the text, and center it in the frame.**
Let’s repeat this process for a smaller text now, create a text I’ll change the color to be gray/400 and reduce the size to
layer, add some text and change the text style to be text-xl be around 840px. After centering the text in the viewport
font-normal this time. just below our main header you should have something like
this:
Next lets see how easy it is to add a Get started primary Let’s repeat the same process but this time lets add a sec-
button right below our paragraph. Lets go to the asstets ondary button with this settings:
section on the upper left side and search for button. Let’s
grab the main button component (the blue one) and drag
and drop it to the frame.
Now with the button selected, on the right side panel you
can see all of the button’s variants that we can play with.
You can choose the color, the size, even the icons that the
button will have. For now just copy this settings.
Buttons are an excellent example of the different variants
a flowbite component can have. These are easily customiz-
able and extensible.
These are some examples of flowbite blocks:
Pricing page
Create modal
Features section
Now we should have something like this: I encourage you to keep on building upon this landing page
and try out different styles and components that flowbite
has to offer.
final thoughts
I hope you’ve enjoyed the book and now you feel confident
to put in practice what you learned to create awesome web-
sites and products.
Now that you are familiar with these web design princi-
ples, you have everything you need to create something that
looks and functions well. As you get experience over time,
don’t be afraid to break and play around with some of these
rules. Web design is continuously changing, evolving, and
It’s likely that you won’t be able to follow each practice ex-
actly, so don’t worry if you need to adapt some principles to
Learn the key phases of an effective UX process
the nature of your website.
that leads to great products.
But now before bending these rules, you will be aware that Learn how to uncover problems in a design, and
they exist, what is their purpose, and accomodate them to exploit opportunities to enhance the user expe-
your website accordingly, that is what makes a great web rience.
designer. Become proficient at identifying when to apply
the most used UX laws in the industry.
Learn how to save time and money by building
solid prototypes that will help you validate de-
sign decision before development starts.