203 private links
It worked well for me.
Because it can leads to (better) answers with less time needed.
In short, don’t try to make something beautiful. Try to make something well-organized, and watch the beauty emerge!
Some best practices to design interfaces.
- centering in a box: leave at least half its shortest dimension as a minimum margin.
- vertically centering text
Why is it called ‘x’ height? Because the letter ‘x’ is the only letter in the alphabet that has all its terminals touch both the baseline and the meanline, with no extending points.
- when centering text inside a box, you need to use the height of the lowercase letters to do the centering and make sure there is the same amount of space all around the text.
- when centering a polygon, center the circle passing by each point instead of centering the box around the polygon.
- when putting a rounded box into another one, a mistake I have seen often is to use the same border-radius on the box outside and the box inside. You need to use a proportional radius when doing such rounded box nesting.
- repetition is key to a rhythm: go for the design system.
- not so justified: use manually justify content instead of this ugly automatic one.
- a contrast ratio of 4.5 or higher is recommended.
- the contrast between each heading level should be high enough for the structure to be visible. if possible, a consistent ratio between different header levels usually looks more elegant.
Eine How-to guide
What are the common patterns of code smells?
And if one is recognized, how to avoid it?
A french guide on the rust language. It is not complete as the official documentation but provides a good start with lot's of the rust's features.
A way to set explicitly how a company is running. Here an example about an IT one.
A guide on how to write a custom HTML parser. There is a lot of stuff at stake.
A clear starting point on logical properties!
A good starter to use cases for the :has()
selector
This guide provides guideline for animations. Here are the following rules:
- 200-500ms is the optimal speed for interface animation
- on mobile device, the duration of animation should be limited to 200-300ms.
- on tablets, it should be longer by 3ß% as the screen is bigger so objects overcome the longer path when they change position.
- on wearables, the duration should be accordingly 30% shorter
- the duration of web transitions should last about 2 times shorter than on mobile devices — between 150–200 ms
- the more bigger the element is, a bot better when it lasts a little longer.
- When objects collide, the energy of collision must be evenly distributed between them according to physical laws. Avoid the bounce effect.
- The movement of the objects should be clear and sharp. Avoid motion blur.
- List items (news cards, article list items) should have a very short delay between its appearance: 20-25 ms.
Easing makes the movement more natural: the object should move with some acceleration or deceleration — just like all live objects in the physical world. There are 3 categories:
- linear motion: it looks very unnatural and artificial to the human eye.
- ease-in (acceleration curve): should be used when the objects fly out of the screen at full speed and won't be displayed again.
- ease-out (deceleration curve): should be used when the element emerges on the screen. his can also be applied to different cards or objects that appear from the outside of the screen.
- ease-in-out (standard curve): is the most frequently used in interface animation. In doubt, use this animation. Ease-in-out is used when the objects move from one part of the screen to another. The same movement type should be used when the element disappears from the screen but the user can return it to the previous place at any time.
Equal interaction: the appearance of all objects obeys to one particular rule
- A vertical list should be guided in one fluid direction
- Grid should have a diagonal appearance
- subordinate interactions (one central object which attracts all user's attention): animate as minimum objects as possible at one time.
- when the moving objects transform their size disproportionally, they should move along the arc rather than in a straight line.
- if the paths of the moving objects intersect one another, they cannot move through each other. In another case, the moving object can rise above other objects.
This is the best guide I have found so far.
A 4-days workshop to learn rust
How to build common ui patterns that are accessible 👍