To Improve User Interface Tips: by Victor Ponamariov
To Improve User Interface Tips: by Victor Ponamariov
TIPS
TO IMPROVE
USER INTERFACE
by Victor Ponamariov
Contents
Foreword 8
Typography
Forms
Validation
Visuals
Dropdown trick 38
Usability
Loading States
Use skeletons 49
Smart/Progressive loaders 52
Misc
Icon inconsistency 53
Large data 56
Give users a visual hint that there is more content 57
Foreword
Hi there!
Now I’ve put them all into a small book you’re reading right now.
It is my first try to write something. I’m pretty sure that there are
some mistakes.
Victor.
Typography 9
The proximity law states: objects that are close to each other
tend to be grouped together. The principle helps users follow
and organize information faster and more easily.
Headline
Headline
In the first picture the headline has the same distance between
the first and the second paragraphs.
Rivers are the white gaps in the text when there is too much
space between words on consecutive text lines.
Almost nobody will read your site entirely. People can barely
focus their attention for a few minutes. Instead, they scan sites.
One of the nice tricks is to use lists. You should list what is
listable.
This way you can also reduce the amount of text by removing
commas, conjunctions etc.
First, when you click on a date you probably expect to get all
tweets you had that day.
Second, the link doesn’t look like a link. It’s gray and small.
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Fusce consectetur adipiscing elit. Fusce
hendrerit viverra pellentesque. hendrerit viverra pellentesque.
Typography 13
Text line height should be proportional. The bigger the font size
is, the smaller the line height should be.
For headlines, the multiplier is ~1 - 1.4. For other text ~1.3 - 1.6
Line height
100%
100%
100%
Line height
110%
130%
150%
Typography 14
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum et
tellus sit amet pellentesque. Mauris in turpis et enim bibendum eleifend nec
et metus. Quisque sagittis turpis at finibus consectetur.
Required
First Name:
Last Name:
Email:
Password:
First Name
Last Name
Password
Forms 17
That will reduce the reluctance users might have. Also, there is
the goal gradient effect that may motivate them to finish
completing the form.
Forms 18
Please do not wait until the user hits the submit button to show
him a set of errors.
You can allow them to use the features that don’t require email
verification. And only ask it when they want to do something
crucial that requires verified email.
Forms 20
Do not try to fill the remaining space on your screen. Your forms
don’t have to be 100% wide.
While the user is filling the form, he might forget what you
asked him. To see the placeholder text, the user has to erase the
content in the input.
In rare cases, though, you can omit labels. In a sign-in form, you
have only two inputs, so it’s okay to use placeholders.
Last Name
Last Name
Password Email
Password
Forms 22
1. Radio buttons
2. Clickable tags/buttons
3. Clickable cards
4. Checkboxes (for multiple
selections)
They don't have many things like image preview, size validation,
asynchronous uploading, etc.
A simple but nice trick is to autofocus the first input in the form.
This way user won’t need to do it manually.
First Name
Last Name
Password
Validation 25
When the user scrolls down to the submit button and presses it,
some of the inputs placed above can be filled incorrectly. But
the user can't see them.
autoscroll to the
first error
user clicks
Validation 26
Even though you should have form validation, it'd be the best
case if you users fill the form correctly on the first try. There are
some tricks on how you can do it.
2. Pre-fill data if you can do so. For example, you can try to
guess the user's country, language, location, device, etc.
5. Visually show how long the content should be. For example,
don't make the input very wide for zip codes since it's not
realistic.
6. Limit the symbols that the input accepts. For zip code it's
reasonable to allow inputting only numbers.
Validation 27
It might not be necessary for small forms like login. But if the
form consists of dozens of inputs with some tricky data
required, show a green tick if the field is filled correctly.
Card Number
Phone Number
+1-111-30-4
Confirm
Validation 28
While if you show it somewhere else, the user will have to match
the text and the input.
There are three WCAG contrast levels: A, AA, and AAA. You’re
good if you have AA or AAA.
You can quickly check the contrast level with chrome developer
tools.
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
consectetur adipiscing elit. consectetur adipiscing elit.
Morbi faucibus, dolor non Morbi faucibus, dolor non
dapibus elementum, magna dapibus elementum, magna
tellus sagittis sem, sit amet tellus sagittis sem, sit amet
dapibus odio nibh eget ligula. dapibus odio nibh eget ligula.
Fusce at quam elit. Fusce at quam elit.
Grouping 32
Last Name
Last Name
Email
Email
Password
Password
Grouping 33
If your navigation has 10-15 links that are not divided into any
logical groups, then it'll be more challenging for users to
navigate through them.
Grouping 34
Two rules can help you make your table look better.
If you have a massive table with many rows and columns, it will
be hard to navigate through it. In this case, you can stripe your
stripe or border it.
Dropdown trick
In the first case, they have a dropdown with some options that
exactly fit the dropdown.
But it’s impossible to guess that there are, in fact, more options.
Especially on MacOS, when the scrollbars are hidden.
The fewer actions the user should take to achieve his goal - the
better. One of the tricks is to provide frequently used options
right away.
You can also remember what users often select and then show
it on the top. It perfectly suits search results.
Country… Country…
Albania Afghanistan
Algeria Albania
American Samoa
Usability 40
You should add the "copy to clipboard" button for links, images,
tokens etc. In other words, for everything that users have to
copy & paste manually.
Imagine you have a table of entities and the "add new" button.
When you click the button, you have two options: redirect the
user to a new page or show a modal.
In other words, the bigger the object is, the easier it is to hit it.
For small controls, you can add an invisible clickable area that
will help users hitting them.
But if the user asked something that cannot be undone, it's not
an option.
In this case, you should enhance your confirmation. You can ask
your users to do some manual work. For example, by asking
them to type something manually.
Usability 45
The same icon can mean different things. Every developer and
designer has his own opinion of what it should represent.
Recent Refresh
Usability 46
You shouldn't leave users without any clue of what they should
do next.
An error occurs, and you show users what happened, but you
don't tell them what to do next.
The user googled your site and clicked on the link, but instead,
he got a 404 error. Page is not found. But you didn't give him
instructions on what to do next.
Users should always know where they are at every moment they
use your app.
But if there are no records, you can use available space for a
more informative and engaging message.
No Credit Cards
Please add some credit cart to your account
Use skeletons
If you use loaders when loading big content, you’ll have a layout
shift after the content was loaded. While if you use skeletons,
the height will stay the same.
Smart/Progressive loaders
It will give users some assurance that the app is working and not
broken.
Misc 53
Icon inconsistency
When you find some free icons on the web that belongs to
different packs, it might turn out that they have different styling.
But if you download a single icon that doesn't exist in the pack,
make sure it conforms to the styling you already have.
Misc 54
App Links
Logout/Profile
Logo App Links
Links
Free space
Container
Logout/Profile links
Misc 55
If your code is simple (e.g., has four digits), you might avoid
asking the user to click the submit button.
1 4 2 9 1 4 2 9
verifying…
Misc 56
Large data
The main thing is not to forget that the data can be lengthy.
Misc 57
The article might've been written five years ago. It's a huge time
range for programming.