How To Design Better Ui Components
How To Design Better Ui Components
@uiadrian
Icon de
sign
James
Sanchez App de
sign
,, uiadria
n Web de
sign
,,
*******
*******
**
Remem
b er me
Upload
fi les
Login
Color m
ode Upload
8+
read ne Analytic
w mess s Repor
ages t - 1.09-
08.09-2
Mike Be 99+ ... ..60%
nder see eng
Congra ageme
nt
tulation
s!
accoun
t secur
ed!
James
C ameron
Table Of Contents
Introduction About me and this e-book 03
Chapter 2 Gradients 12
Chapter 3 Shadows 17
Chapter 5 Buttons 28
Chapter 6 Forms 37
Hey Everyone!
I decided to combine the first and the second part into one book
For those of who don’t know me yet and see this e-book the first
time, thinking, who the heck is this guy and how did I end up here
For now it’s just IG, but you’ll pretty soon see my face on another,
you’ll enjoy the reading. Make sure to check the outro too, I
P.S. This book is going to be updated every now and then with
Chapter 1
grid syste
how to use
grid system
Desktop Grid
Before you start your designs, you should create a custom grid
layout to help you place out elements in an organised way.
100px margins
1440px art board
20px gutters
8 px gutters 16 px margins
6 columns
Row Grid
Ok, we’ve covered columns, but what if you want to have your
designs be pixel perfect, align perfectly, and be easier for
developers to transfer to an actual code?
type: Top
8px height
8px gutter
8px offset
count: 800
make it a high
number if your
artboard takes a
lot of vertical
space
Containers
get started
Vertical Rhythm
TIP 6
Horizontal Alignment
boxes with their heights at a fixed value, and place them on the
Startup
It can help you create a layout template for all your key UI
components and pages with ease.
$1,121 - 8.28%
61,6% - 2.56%
gradients
gradients
Linear gradient
A linear gradient is a basic gradient that results from
combining two or more colors or hues in a straight line.
TYPE 2
Radial gradient
A radial gradient results from placing one color in the center
and another on the outer side. It 's a technique used for giving
flat objects the appearance of depth.
Angular gradient
Mesh gradients
TIP 2
Avoid ugly grey
The poor looking grey areas in the middle of the gradient are
definitely a reason to avoid “sharp” transitions. Gradients with a
rapid shift between two combined colors are immediately
unappealing creating gray and brown color transitions.
TIP 3
The best way to build a gradient is to start with two colors that
are the same and then increase the hue values of one of them
gradually by small increments.
shadows
DESIGN LIKE A PRO
TIP 1
Elevation
Create depth by adding elevation.
Login Login
Login Login
TIP 3
Material color
Add a really slight material color on colored surfaces.
Login Login
Login Login
TIP 5
Login Login
style guides
style guides
4.1. Grid
Layout and grid
I usually start my designs on a 1440x1080 artboard with 100px
padding on both sides so that my website box width is set at
1240px with 20px inner padding.
The emotions that colors evoke usually determine how users see
your products. That’s why it’s important to think about what
feelings colors induce just as much as how your designs look
when choosing a color palette for your brand.
logo logo
Component 01
Buttons
Component 02
Input fields
Label Label
Label Label
Label Label
Label Label
Typing
Label Label
Gilroy
SUBHEADER H3 - 24 px Gilroy light
When you’re not sure how to build your typography, try Material
Design’s type scale generator. It’s a tool for creating type scales
and corresponding code. Any font you choose is automatically
resized and optimized based on Material typography guidance
for readability. It’s powered by Google Fonts.
https://material.io/design/typography/the-type-
system.html#type-scale
If you’re not an icon designer you’ll need a good library to get the
icons from. My favorite ones are:
https://thenounproject.com/ (paid)
https://feathericons.com/ (free)
https://fonts.google.com/icons (android)
https://developer.apple.com/sf-symbols/ (iOS)
buttons
how to design better
buttons
TIP 1
Don’t reinvent the wheel
Button should look like a button. This one is pretty simple. We are
used to real-world buttons being most often rectangles (and
sometimes circles). Having a shape that’s neither a rectangle nor
a circle is a sure way to confuse your users.
Style hierarchy
TIP 3
Shadows are important. They help objects stand out against the
background and help identify them as something elevated that
is clickable or able to tap.
Size matters!
If the buttons are too small, it makes them incredibly hard to use
and very annoying to click. Buttons should be big enough to
comfortably use them. But how big is big enough?
TIP 5
The button size and the font size are also important. If you have
values to match.
TIP 7
Use of icons
Use icons along with text to give another visual cue about the
thumb is also to lead with the icon rather than have it shown
Download Download
here’s a follow up - It’s not a universal truth to put the icon first, it
depends highly on the context. It’s like with icon lists, you put the
icon first as a visual aid for easier content scanning. If you put
them on the right, they’re not helping in any way than to give the
context of where this action will lead them, like “Enter” followed
There’s really no bad designs when you follow these few steps.
quick note:
TIP 9
Strong CTA
If you want to direct users into taking specific actions you must
guide them in a proper and simple way. Using the right wording
makes it easy to understand what is the outcome of the button’s
action. Make it obvious enough so there’s no guessing.
Proper naming
Don't let the users think during specific action, especially the
easiest ones that don’t need additional thought. Send clear
messages, communicate in a simple and direct way. Use action
verbs to highlight what the outcome of clicking each button is.
TIP 11
Consistency
According to Jakob Nielsen, consistency is one of the most
powerful usability principles. When creating your button styles
try to find common elements like colors, shapes, sizes. That’s
where the design system comes into play!
Don’t overdo it
One icon is enough. Don't use too many icons on one label. It
can easily confuse the user as well as it's not a good UI practise.
TIP 13
forms boxes
form boxes
labels
First name
input field
primary CTA
Cancel Send
secondary CTA
Send
First name
Message
Send
Send Send
ACTIONABLE CTA
Make the primary CTA prominent and offer a secondary button
to cancel the form. Also make it look like something you can
actually click.
First name
Email *
Message *
Cancel Ok
First name
*
Email
Message *
ERROR MESSAGES
Use error messages with incorrect data input. Make them descriptive
enough to help users understand what step of the process, they are
wrong about and help them fix it faster.
First name
Email *
Message*
First name
Email *
Message*
INPUT FIELDS
Take note of what input fields you choose. If you want to allow
users to choose more than one option - use checkboxes, if you
want them to choose only one - use a radio button or a select
field. Make it easy to understand.
Email * Email *
Services * Services *
Message
PLACEHOLDER TEXT
Use descriptive placeholder text to help users get a sense
of what the ideal input should look like.
Name
Pay $29.95
Name
Pay $29.95
INPUT TYPES
Mind the input types too. Some input fields are made
specifically for email fields, phone numbers, credit card
numbers, file uploads etc. Use them wisely!
Johnny Johnny
Email * Email *
[email protected] [email protected]
Phone Number *
+441632 960530
Message
Send inquiry
Send inquiry
duct filte
product filters
STEP 1
Filter position
The golden standard for desktop devices is the sidebar filtering
interface located in the left column, usually taking anywhere
between 20-35% of the viewport width. It’s easily accessible at
all times, you can scan the content really quickly and fit a large
number of filters using collapsible lists.
K Home
Christmas
Price
USD 20 - 49
Categories
Add to cart Add to cart
show more
Brands
Filter types
When creating your filters you need to take into account what
type of filters are best suited for certain taxonomies. You want to
offer your users many different filtering options like filtering by
keyword, price, product category and subcategory, brands, and
specific product-related filters like color and material.
Christmas
USD 20 - 49
Categories
Add to cart
Checkbox Filter
Brands
K Home
Christmas
Refine your search Product categories: Coffee cups x Price: USD 20-49 x Brand: Starbucks
Price
USD 20 - 49
Categories
Coffee Cups
show more
Brands
Starbucks
Filter removal
Add an additional chip or a button near your active filters to
reset all of them in one click. It helps to quickly reset your filter
options, especially when you have an AJAX-type filtering
enabled that refreshes after each action taken.
K Home
Christmas
Refine your search Reset all filters x Product categories: Coffee cups x Price: USD 20-49
Price
USD 20 - 49
Categories
show more
Brands
Add indication that the filters have been reset and make it clear.
Filter groups
Price
USD 20 - 49
Categories
vs
show more
Brands
Filter indexing
Add indexing numbers to your filtering results. You don’t want
your users to filter the products by specific information only to
find out there are no matching products. Give them a sense of
what they can find when the filters are applied.
x
Refine your search
Reset all filters Product categories: Coffee cups
Price
USD 20 - 49
Categories
Add to cart
show more
Brands
Starbucks (32)
x
x x
x
Price
USD 20 - 49
Categories
Loading products..
show more
Brands
Starbucks (32)
cing page
pricing pages
TIP 1
Startup
Startup
Startup
Point them towards the most popular plan and offer an option
to scale the plan down or up when needed.
Startup
Startup
Social proof is not just reviews, rates, opinions, but also the
followers you have on social media, or subscribers on youtube.
Sticky headers
If you do have a comparison table then make sure to add a sticky
top pricing info for easier comparisons. It’s easy to get lost.
Blockchain.delivery.net
customer trust.
Basic Startup
You can use an arrow to indicate the exact component you refer
to. It’s especially helpful when your comparison table consists of
many elements that are positioned close to each other, and you
want to identify the exact component you target.
shopping carts
shopping carts
TIP 1
Make it easily accessible
Customers should be able to spot the cart icon. The standard is
to place the cart icon in the top right corner of an e-commerce
site or an app.
2
foodiez foodiez
cart cart
go to the shop
cart cart
My cart My cart
Neapolitana Neapolitana
Pepperoni Pepperoni
They must never lose the ability to modify the cart until the very
last step of the purchasing process.
cart cart
My cart My cart
2 $11.98 2 $11.98
Neapolitana Neapolitana
2 $11.98 2 $11.98
Pepperoni Pepperoni
1 $14.98 1 $14.98
cart cart
2 $11.98 2 $11.98
Neapolitana Neapolitana
2 $11.98 2 $11.98
Pepperoni Pepperoni
2 $14.98 2 $14.98
Also allow the user to set the quantity to zero to remove an item
from cart. Once the user clicks the remove selection link,
instead of removing the item immediately, you can ask if the
click was intentional.
cart cart
2 $11.98 2 $11.98
Neapolitana Neapolitana
2 $11.98 2 $11.98
Pepperoni Pepperoni
Total cart value:
pay
$47.94
2 $14.98
Remember all these points when designing your next carts and
cart cart
Margarita Pizza
Margarita Pizza
Neapolitana
Neapolitana
Pepperoni
Pepperoni
Total cart value:
pay
$47.94
$14.98
1 item
If they’re not designed well, they will most probably lead to a big
and leaving the website, so make sure you design them right!
nav bars
how to design better
navigation bars
TIP 1
TIP 3
Premium Account Contact Support Download our App Create account Log in
TIP 5
Think about responsive design and how you are going to present
No hover state
TIP 7
search boxes
search boxes
theshop theshop
theshop theshop
Search Search
recent searches
theshop theshop
Search Search
recent searches
Rounded corners are perfect for chips and grids, they help with
a friendly interaction, they are space-saving, they draw
attention to the content and not the component.
This goes without saying that you do need white space to make
your components easily readable, light and subconsciously easy
to look at. If your design is cramped and crowded it makes
everything looks badly thought-out and cheap.
theshop theshop
Search
Search
recent searches
recent searches
theshop theshop
Search Search
theshop theshop
theshop theshop
Search UI design|
recent searches recent searches
UI design for beginners
UI design for advanced
UI design handbook
theshop theshop
Search
recent searches
We’re sorry. We cannot find any matches
for your search term.
CHAPTER 12
odal wind
modal windows
OPTION 1
User onboarding
A modal window can be used as a simple welcome message that
warmly greets new users when logging into the app or a
website’s interface.
use our App for free for the next 14 days. Explore
Product announcements
A big modal splash is often used for product announcements —
an interface redesign or the release of a long-awaited feature.
OPTION 3
Long operations
Using a modal window with a “Loading” message is a common
practice for operations that take a few seconds to process.
OPTION 4
Irreversible actions
While we shouldn’t use modals for every error state, we should
inform the user about actions with serious consequences that
are impossible to reverse.
Deactivate account
Are you sure you want to deactivate your account? All of your data
will be permanently removed. This action cannot be undone.
Cancel Deactivate
James Cameron
verified professional
Quick view
James Cameron
[email protected]
+44 123 2134 4212
jcamerondev.com
Message
OPTION 6
Divide tasks into steps
Some tasks may involve various steps of actions. For example, if
you need to import new data and then configure options based
on the imported data you might want to consider using a modal
to keep your users on the same page after the data is uploaded
and configured.
Save Cancel
sign up flo
DESIGN LIKE A PRO
It should provide users with the quickest and most intuitive way
to create an account and start exploring the app or a website.
STEP 1
Artboard
Dimensions
side margins: 16 - 20 px
9:41
9:41
safe area: 40 - 44 px
148 px
Welcome screen
Goal of a welcome screen is to welcome new users and get them
excited to take the very first step on their way to exploring and
falling in love with your product.
9:41
Healthy Habits
already a member?
Add a secondary CTA for users
to log in with an account
already created.
Sign up screen
For this example, let’s add a sign up form as an overlay.
9:41
Sign up
9:41
Sign up
9:41
Sign up
9:41
Continue button
You don’t have to disable the Submit button, make it a different
color, but allow users to click on the button and see an error
message that directs them towards the wrong input.
9:41
Sign up
9:41
Sign up
didn’t mention
Sign up Sign in
+
or
Create an account Log in
+
STEP 8
EASY SWITCHING
When a user clicks on the button and starts a wrong flow, you
want to allow them to easily switch from the registration to
logging in – and vice versa.
By signing up, you agree to our T&Cs and Privacy Policy By signing up, you agree to our T&Cs and Privacy Policy
FORGOT PASSWORD
9:41
EMAIL VERIFICATION
9:41
MAGIC LINK
9:41
MANUAL VERIFICATION
ashboard
DESIGN LIKE A PRO
STEP 1
Use grid
Grids help structure the content and clearly define hierarchy.
You can start with a simple wireframe and place your content
into grids based on the importance.
Content hierarchy
Prioritize your dashboard content hierarchically and place it
according to an F-pattern or a Z-pattern to help guide users
towards their desired outcome.
1 2
3 4
5 6
Data arrangement
The uniform arrangement of controls and data inside cards is
also an important feature.
4,6% + 0.36%
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Track Events
Sep 1 Sep 5 Sep 10 Sep 15 Sep 20 Sep 25 Sep 30 3 AM
Total revenue View Details Total expenses View Details Session duration View Details Bounce rate View Details
Traffic Score ?
Download report
Top Selling Products
Product name Quantity Sold Sales Total Action
Customer Activity
Chocolate Milk Treato’s 32 $320 View Details
Place the name in the top left corner of the card, position the
view controls or actions in the top right corner, and leave the
rest of the space for the content itself.
When everything has the same structure, it's easier for users to
work with the interface because everything is where they
expect it to be.
Use one concept per card. Show smaller blocks or relevant data
September September
MON TUE WED THU FR SAT SUN MON TUE WED THU FR SAT SUN
1 2 3 4 1 2 3 4
5 6 7 8 9 10 11 5 6 7 8 9 10 11
12 13 14 15 16 17 18 12 13 14 15 16 17 18
19 20 21 22 23 24 25 19 20 21 22 23 24 25
26 27 28 29 30 26 27 28 29 30
😊 86.42% 😊 86.42%
Avoid situations where users can get confused and lost. Dividing
and splitting the content into smaller blocks can increase the
legibility and readability of the given information.
Total revenue View Details Total expenses View Details Session duration View Details Bounce rate View Details
$3,421 + 4.28%
$1,121 - 8.28%
2:42 min +0:36 min
61,6% -2.56%
4,6% + 0.36%
Total revenue View Details Total expenses View Details Session duration View Details Bounce rate View Details
$3,421 + 4.28%
$1,121 - 8.28%
2:42 min
+0:36 min
61,6% 5
-2. 6%
hero secti
DESIGN LIKE A PRO
Grid
I usually start building my websites on a 1440px artboard,
Hierarchy
When building out your hero sections mind the hierarchy. Follow
imaginary horizontal line. Then they search down and to the left,
The F-pattern happens when a user first reads the upper part of
the previous one. Finally a user reads the content’s left side in a
Send clear requests and don’t overdo it, you don’t want to
mislead or confuse the user. The main call-to-action is intended
to encourage everyone to the take the most desirable action on
the page e.g. make a purchase.
Besides using a main CTA you can also encourage your visitors
to take another action, that’s complementary to your main.
If they’re not yet certain if they want to use the main CTA, you
can ask them to leave their contact information, sign in to a
newsletter, watch a video, join a free trial program, or offer
something in exchange.
Relevant Visuals
Work on your visuals to help users get a glimpse of what the
product is about. It’s also a nice way to add in your brand
visuals. Treat it as an introduction to your site’s visual theme and
try to make it congruent across.
A hero image is the first photo that sits above the fold. The goal
of it is to add excitement to a page and show off the brand’s
style and visual direction.
simple association.
Make sure you implement all the tips from this chapter and your
hero sections should improve immediately.
paginatio
DESIGN LIKE A PRO
1 2 3 4 5 6 .. 32
1 normal state
4 active page
2 hover state
disabled navigation
normal navigation
1 2 3 4 5 6
STEP 3
Navigation controls
Add controls to simplify the navigation. Provide previous and
next button links, and add a simple access to the first and last
page of a website so that users can jump between pages
quickly and easily.
1 2 3 4 5 6
STEP 4
Page counter
There’s nothing more annoying than not knowing how many
pages of content are left to go through, or not being able to
choose the quantity of results shown on each page. Consider
adding a page counter to set user expectations.
50 items 3 of 32
1 2 3 4 5 6
1 2 3 4 5 6
STEP 6
Manual input
Provide users with a link label as a manual input to go directly
to a specific page of a site. Let users directly enter the
necessary page number and access it by putting the ‘Go to’
functionality into action.
STEP 7
Pagination link
For bigger page numbers you might want to split the pagination
results in two parts and add a three-dotted icon between them.
Consider showing hidden pages in that range after a mouse
hover or a click.
1 2 3 … 8 9 10
4
5
6
7
1 2 3 .. 32 | Go
tab bars
tab bars
TIP 1
Reduce opacity
This one is pretty simple. Choose a fill color for your active bar.
Reduce the opacity of the non-active icons to around 40-50%
TIP 3
Background color
Add a vibrant background color and revert the active icon color
to make the tab stand out more.
Naming
This comes in handy when your icons are not necessarily clear
home
TIP 6
Expanding chip
home
home
TIP 8
Dash indicator
Similar to a dot, add a color fill to your icon and add another
visual indicator of an active state - a dash.
I’d like to thank you for downloading this book, and supporting
me as a creator. Posting for you guys, sharing my knowledge and
learning new things became a sort of addiction to me. I hope
that this community will keep growing at a similar pace.
For now though, if you’ve enjoyed this free ebook I’d really
appreciate your opinion, and I’d massively appreciate if you
could go to gumroad.com/library and leave a 5-star rating. It will
help me make more (free!) educational content in the future.
Thank you!