<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aleś Karoza</title>
    <description>The latest articles on DEV Community by Aleś Karoza (@karoza).</description>
    <link>https://dev.to/karoza</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F659274%2Fc1d54eba-961b-4a73-85d1-8d6a93491640.png</url>
      <title>DEV Community: Aleś Karoza</title>
      <link>https://dev.to/karoza</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karoza"/>
    <language>en</language>
    <item>
      <title>Go offline</title>
      <dc:creator>Aleś Karoza</dc:creator>
      <pubDate>Fri, 02 May 2025 12:10:30 +0000</pubDate>
      <link>https://dev.to/karoza/go-offline-7pc</link>
      <guid>https://dev.to/karoza/go-offline-7pc</guid>
      <description>&lt;p&gt;I mean, really. Read a physical book, not an e-book. Go to a live show of an artist or a band. Go for a walk. Attend an organ concert. Really.&lt;/p&gt;

&lt;p&gt;I spend most of my time online, looking at the screen. But the best parts of my day are mostly offline. I love watching how birds eat treats from the feeder outside my window. I enjoy sitting on a bench and watching the ducks chill on the pond. I love walking and feeling the sunlight on my skin. I cherish intimate moments with my wife. I enjoy dining out at nice places.&lt;/p&gt;

&lt;p&gt;None of this is online.&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>AI's Negative Expectations</title>
      <dc:creator>Aleś Karoza</dc:creator>
      <pubDate>Wed, 13 Nov 2024 11:31:31 +0000</pubDate>
      <link>https://dev.to/karoza/ais-negative-expectations-2afb</link>
      <guid>https://dev.to/karoza/ais-negative-expectations-2afb</guid>
      <description>&lt;p&gt;In the past, whenever I saw an AI button in a program, I wanted to at least try how it worked. And almost always, it performed quite poorly and was incapable of solving my real tasks.&lt;/p&gt;

&lt;p&gt;Over time, I accumulated so much of this experience that now, when I see yet another AI feature in some service, my main interest is simply to close it as quickly as possible and use the core part of the service where AI hasn’t interfered yet.&lt;/p&gt;

&lt;p&gt;The key is not to forget to occasionally check whether AI is still incapable or has actually learned something because negative assumptions don’t lead to progress.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>ux</category>
    </item>
    <item>
      <title>Tabs are cool</title>
      <dc:creator>Aleś Karoza</dc:creator>
      <pubDate>Fri, 11 Mar 2022 03:37:37 +0000</pubDate>
      <link>https://dev.to/karoza/tabs-are-cool-28hb</link>
      <guid>https://dev.to/karoza/tabs-are-cool-28hb</guid>
      <description>&lt;p&gt;I like tabs in a browser. The main feature of tabs are launching two different instances of the one web app.&lt;br&gt;
And I dislike it when developers broke this feature. In Telegram web app I cannot run two tabs, because of "Such error, many tabs". But I need many tabs when I copy some information from notes to my public channel or personal messages.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6b43w00w4yb1vjb1pktw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6b43w00w4yb1vjb1pktw.jpg" alt="Image description" width="800" height="457"&gt;&lt;/a&gt;&lt;br&gt;
Tabs are a reason why I use web apps against desktop apps. I like when developers add tabs to desktop apps also. We have tabs in Total Commander and Figma.&lt;br&gt;
But we have no tabs in Notion, and this is a reason why I use the web version of Notion even the web is much slower than the desktop app.&lt;/p&gt;

</description>
      <category>ux</category>
      <category>tabs</category>
      <category>design</category>
    </item>
    <item>
      <title>Local time of employees in Notion</title>
      <dc:creator>Aleś Karoza</dc:creator>
      <pubDate>Thu, 30 Dec 2021 01:38:48 +0000</pubDate>
      <link>https://dev.to/karoza/local-time-of-employees-in-notion-12c7</link>
      <guid>https://dev.to/karoza/local-time-of-employees-in-notion-12c7</guid>
      <description>&lt;p&gt;Companies that have many employees working remotely, it's important to know the time of employees in their local time zone.&lt;/p&gt;

&lt;p&gt;Unfortunately, Notion doesn't have a function to display UTC time, but a little magic and here's the formula:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;formatDate(dateAdd(dateSubtract(now(), toNumber(formatDate(now(), "Z")), "hours"), prop("UTC"), "hours"), "HH:mm")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;UTC is the column that contains the difference between the employee's local time and Greenwich Mean Time. In the table, this column can be hidden.&lt;/p&gt;

&lt;p&gt;The formula is used to get the UTC time:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dateSubtract(now(), toNumber(formatDate(now(), "Z")), "hours")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The magic is hidden here: &lt;code&gt;formatDate(now(), "Z")&lt;/code&gt;, &lt;code&gt;Z&lt;/code&gt; is the time zone in ISO 8601. Our timezone is subtracted from our local time, thus obtaining UTC (GMT) time.&lt;/p&gt;

</description>
      <category>notion</category>
      <category>timezone</category>
      <category>utc</category>
      <category>gmt</category>
    </item>
    <item>
      <title>Generated ringtone</title>
      <dc:creator>Aleś Karoza</dc:creator>
      <pubDate>Thu, 15 Jul 2021 11:53:49 +0000</pubDate>
      <link>https://dev.to/karoza/generated-ringtone-29jk</link>
      <guid>https://dev.to/karoza/generated-ringtone-29jk</guid>
      <description>&lt;p&gt;Users use default ringtones. As a result, a huge number of people have the same ringtone.&lt;/p&gt;

&lt;p&gt;It would be nice to generate each user his own ringtone, so that he does not choose it himself, but it is different from everyone else. It is not right to have half of the people in a subway car reaching for their phones if one of the passengers rings.&lt;/p&gt;

&lt;p&gt;If the user doesn't like the ringtone, they tap "Don't like it, next." Other ways to select the generated ringtone are also possible.&lt;/p&gt;

&lt;p&gt;The main thing is that each user is given a fairly unique ringtone. Mubert has been able to generate music for a long time, to implement the idea we just need to tweak the algorithms in the direction of tunes better suited for the call.&lt;/p&gt;

</description>
      <category>design</category>
      <category>music</category>
      <category>ios</category>
      <category>android</category>
    </item>
    <item>
      <title>Альтернативы RGB</title>
      <dc:creator>Aleś Karoza</dc:creator>
      <pubDate>Wed, 30 Jun 2021 17:15:43 +0000</pubDate>
      <link>https://dev.to/karoza/rgb-60h</link>
      <guid>https://dev.to/karoza/rgb-60h</guid>
      <description>&lt;p&gt;Люди знают о цветовом кодировании RGB, где через смесь красного (Red), зелёного (Green) и синего (Blue), смешивается нужный цвет и отображается на экране. Печатники и дизайнеры знают о CMYK (Cyan, Magenta, Yellow, Key color), который применяется для печати на белом, а последний из цветов отвечает за чёрный.&lt;/p&gt;

&lt;p&gt;Но это не единственные способы закодировать цвет, например можно отойти от смешивания цветов, как это сделано в цветовой системе HSV, где Hue — цветовой тон, Saturation — насыщенность цвета, т.е. чем больше параметр, тем ближе к чистому цвету, а чем меньше, тем к нейтральному серому, а Value — значение, которое отвечает за яркость, чем выше, тем светлее, чем ниже, тем темнее. Также эту систему называют HSB, из-за Brightness.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcnx5ji1l4qkw5pft6vd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcnx5ji1l4qkw5pft6vd.png" alt="RGB vs HSV" width="770" height="383"&gt;&lt;/a&gt;&lt;br&gt;
Но сейчас будем говорить о цветовой системе Lab, которая учитывает человеческое восприятие и решает задачи, которые так просто не решаются в RGB. И немного об Lch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Проблема грязных градиентов
&lt;/h2&gt;

&lt;p&gt;Если построить градиент от одного цвета к другому в RGB, то с некоторыми цветами получится красиво, а с некоторыми полное уродство. Связано это с самим устройством цветового пространства RGB.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndv1ll1djjjfi8moq6sg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndv1ll1djjjfi8moq6sg.png" alt="Красивые и некрасивые градиенты" width="770" height="383"&gt;&lt;/a&gt;&lt;br&gt;
Между двумя цветами образуется какой-то странный и неестественный серый. Можно добавить промежуточный цвет, чтобы сделать красоту, но этот цвет сложно подобрать, чтобы он выглядел естественно.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0xyojykg3adkuihw87i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0xyojykg3adkuihw87i.png" alt="Попытка подобрать цвет вручную" width="770" height="383"&gt;&lt;/a&gt;&lt;br&gt;
Тут и помогает цветовая система Lab, учитывающее цветовое восприятие глазами человека.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzk65hlvpoluyv47m08jx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzk65hlvpoluyv47m08jx.png" alt="Некрасивый RGB-градиент и красивый Lab-градиент" width="770" height="82"&gt;&lt;/a&gt;&lt;br&gt;
Для создания такого красивого градиента заходим на &lt;a href="https://web.archive.org/web/20201112011026/http://davidjohnstone.net/pages/lch-lab-colour-gradient-picker" rel="noopener noreferrer"&gt;Lch and Lab colour and gradient picker&lt;/a&gt; и выбираем два цвета, между которыми надо сделать переход и нужное количество ступеней, семи обычно хватает.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa8d8i4z41w82benzzd2b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa8d8i4z41w82benzzd2b.png" alt="Alt Text" width="769" height="614"&gt;&lt;/a&gt;&lt;br&gt;
Далее копируем цвета рядом с колонкой Lab и переносим в свой редактор, делая линейный градиент из выбранного количества шагов. Получается красота.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6wlap4n2wrip4qelcxc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6wlap4n2wrip4qelcxc.png" alt="Интерфейс Color Picker в Figma" width="668" height="403"&gt;&lt;/a&gt;&lt;br&gt;
Сама система Lab устроена довольно сложно, но суть в том, что светлота задаётся через L, а цветовые показатели через координаты a и b. Внутри там страшные формулы, ведь система делалась для людей, а не компьютеров, зато очень кайфовый результат. Главное запомнить, что в Lab всегда получаются крутые градиенты, и грамотно это применять.&lt;br&gt;
Также для красивых градиентов создали &lt;a href="https://learnui.design/tools/gradient-generator.html" rel="noopener noreferrer"&gt;Gradient Generator Tool&lt;/a&gt;, который не использует Lab или Lch, но избегает грязных цветов в центре RGB-спектра.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feeoc0o0yy6awbap3r82d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feeoc0o0yy6awbap3r82d.png" alt="Градиент через дугу на цветовом круге" width="769" height="518"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Изменить цвет, не меняя яркость и насыщенность
&lt;/h2&gt;

&lt;p&gt;Очень часто надо сделать элементы разных цветов, но с одинаковой насыщенностью и яркостью, для этого в редакторе цвета дизайнер двигает полоску цветового тона снизу, не трогая положение кружочка вверху.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yxafwxzrca63bj6sjg4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yxafwxzrca63bj6sjg4.png" alt="Color Picker в Google-поиске" width="770" height="926"&gt;&lt;/a&gt;&lt;br&gt;
Но как это делать автоматически, ведь в системе RGB меняется значение каждой координаты при перемещении ползунка. Здесь на помощь приходят радиальные системы кодирования цвета, где цвет задаётся одной координатой, а не несколькими, например уже известная HSV, а также HSL. И радиальная версия Lab, которая называется Lch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Рассмотрим реальный кейс
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Задача:&lt;/em&gt; для пользователей одной роли должны генерироваться светлые аватарки с тёмными буквами, а для другой роли тёмные с белыми буквами.&lt;br&gt;
&lt;em&gt;Решение:&lt;/em&gt; копируем один из цветов в дизайне, переводим в HSL (Hue, Saturation, Lightness). HSL используем потому, что этот стандарт поддерживается в CSS.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6fymvj1lpx6mafgt5ac.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6fymvj1lpx6mafgt5ac.png" alt="Alt Text" width="769" height="427"&gt;&lt;/a&gt;&lt;br&gt;
Теперь меняя Hue, мы можем менять цвет, сохраняя светлость и насыщенность. Для светлого фона &lt;code&gt;HSL: [0°–360°], 100%, 78%&lt;/code&gt;, а для тёмного &lt;code&gt;HSL: [0°–360°], 100%, 30%&lt;/code&gt;. Параметр Hue можно генерировать из хэш-функции названия, либо из количества символов в названии.&lt;/p&gt;

&lt;h2&gt;
  
  
  Вывод
&lt;/h2&gt;

&lt;p&gt;Нужно знать об альтернативных системах цвета и использовать там, где это нужно.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ссылки по теме
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://davidjohnstone.net/pages/lch-lab-colour-gradient-picker" rel="noopener noreferrer"&gt;http://davidjohnstone.net/pages/lch-lab-colour-gradient-picker&lt;/a&gt; — сайт для создания Lch и Lab градиентов, в данный момент не работает&lt;/p&gt;

&lt;p&gt;&lt;a href="https://web.archive.org/web/20201112011026/http://davidjohnstone.net/pages/lch-lab-colour-gradient-picker" rel="noopener noreferrer"&gt;https://web.archive.org/web/20201112011026/http://davidjohnstone.net/pages/lch-lab-colour-gradient-picker&lt;/a&gt; — веб-архив сайта выше&lt;/p&gt;

&lt;p&gt;&lt;a href="https://learnui.design/tools/gradient-generator.html" rel="noopener noreferrer"&gt;https://learnui.design/tools/gradient-generator.html&lt;/a&gt; — Gradient Generator Tool для создания красивых градиентов с экспортом в SVG и CSS&lt;br&gt;
&lt;a href="https://jsfiddle.net/vis4/fsvVM/" rel="noopener noreferrer"&gt;https://jsfiddle.net/vis4/fsvVM/&lt;/a&gt; — инструмент для создания Lch-градиентов&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bl.ocks.org/mbostock/3014589" rel="noopener noreferrer"&gt;https://bl.ocks.org/mbostock/3014589&lt;/a&gt; — описание цветовых пространств с примером кода&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/kmlb272BAdo?t=81" rel="noopener noreferrer"&gt;https://youtu.be/kmlb272BAdo?t=81&lt;/a&gt; — видео Ильи Бирмана о применении цветовой модели Lab в дизайне транспортных схем&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/HSL_and_HSV" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/HSL_and_HSV&lt;/a&gt; — статья о цветовом пространстве HSL на английской Википедии&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/CIELAB_color_space" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/CIELAB_color_space&lt;/a&gt; — статья о Lab&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/CIELUV#Cylindrical_representation_.28CIELCH.29" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/CIELUV#Cylindrical_representation_.28CIELCH.29&lt;/a&gt; — статья о Lch&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Hash_function" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Hash_function&lt;/a&gt; — статья о хэш-функции&lt;/p&gt;

</description>
      <category>design</category>
      <category>gradients</category>
      <category>russian</category>
    </item>
    <item>
      <title>Типографика для самых маленьких</title>
      <dc:creator>Aleś Karoza</dc:creator>
      <pubDate>Wed, 30 Jun 2021 16:43:07 +0000</pubDate>
      <link>https://dev.to/karoza/-163f</link>
      <guid>https://dev.to/karoza/-163f</guid>
      <description>&lt;p&gt;Статья предназначена не для дизайнеров, а для совсем начинающих или любителей. Рассматриваем только основы, без погружения.&lt;/p&gt;

&lt;h2&gt;
  
  
  Шрифт
&lt;/h2&gt;

&lt;p&gt;Старайтесь использовать шрифты без засечек, откажитесь от избитых красивеньких шрифтов, вроде Comic Sans, Lobster и прочих. Шрифты, с которыми не ошибёшься: PT, Noto, Inter и Montserrat.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrft1iehtxelt598tnxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrft1iehtxelt598tnxh.png" alt="Первая строка: Блюющий смайлик и шрифты Comic Sans, Lobster. Вторая строка: Смайлик с влюблёнными глазами и шрифты PT, Noto, Montserrat" width="720" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ЗАГЛАВНЫЙ НАБОР
&lt;/h2&gt;

&lt;p&gt;Избегайте заглавный набор. Если используете заглавный набор, то делайте Р А З Р Я Д К У между буквами. Это необходимо, чтобы компенсировать разницу в геометрии букв. Не должно быть такого, что в одном месте символы почти слипаются, а в другом образуется дыра.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqeddu3exh2pc2yvuq01j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqeddu3exh2pc2yvuq01j.png" alt="Первая строка: Агрессивный смайлик и близкорасположенные буквы и надпись «СОВСЕМ НЕ ОЧЕНЬ» близким межбуквенным расстоянием. Вторая строка: Смайлик с поцелуем и надпись «ВПОЛНЕ НЕПЛОХО» со увеличенным расстоянием между буквами. Третья строка: Довольный смайлик и надпись «Правильный вариант» строчным набором. Четвёртая строка: Смайлик в очках и логотип Tommy Hilfiger" width="720" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  к и т а й с к и й н а б о р
&lt;/h2&gt;

&lt;p&gt;Не делайте разрядку в строчном наборе, так любят делать китайцы, которые ничего не понимают в европейской типографике. Можно изменять расстояние между буквами на 5-10% в некоторых случаях, но не более.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwlfgxtsez5gt61osrjj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwlfgxtsez5gt61osrjj.png" alt="Очень грустный смайлик и надпись строчными буквами с огромными расстояниями между ними, надпись парадирует описание товаров на Алиэкспресс" width="720" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Пространство
&lt;/h2&gt;

&lt;p&gt;Надписи не должно быть тесно в выделенном для неё месте.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ueho5zx130cwp5dx9ft.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ueho5zx130cwp5dx9ft.png" alt="Верхняя строка: Злой смайлик и надпись «ТЕСНОТА» вплотную прижимается к краям формата. Нижняя строка: надпись «НОРМАЛЁК» расположена на центру формата с гармоничными расстояниями от краёв" width="720" height="244"&gt;&lt;/a&gt;&lt;br&gt;
Близкие по логике блоки должны быть сближены в графике. Расстояние между текстом и его заголовком должно быть меньше, чем расстояние до следующего заголовка.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ixk6rmpt1d3p4gw6mo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ixk6rmpt1d3p4gw6mo.png" alt="Слева: Смайлик с закрытыми глазами и абзацы, где заголовки расположены на равном расстоянии от своего и чужого абзаца. Справа: Смайлик с поцелуем и абзацы, где заголовки прижаты к своему абзацу и удалены от чужого" width="720" height="262"&gt;&lt;/a&gt;&lt;br&gt;
Межстрочное расстояние должно быть больше межбуквенного, но не слишком.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9blr4zle10jfe7audns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9blr4zle10jfe7audns.png" alt="Верхняя картинка слева: Злой смайлик и строки прилипшие друг к другу. Нижняя картинка слева: Очень злой смайлик и строки на огромном расстоянии друг от друга. Правая картинка: Довольный смайлик и строки на стандартном расстоянии друг от друга" width="720" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Заключение
&lt;/h2&gt;

&lt;p&gt;Ни одно из этих правил не является обязательным. Часто даже очень профессиональные дизайнеры их нарушают. Но одно дело нарушать правила осознанно для достижения нужного эффекта, а другое — уродовать окружающий мир по незнанию.&lt;/p&gt;

</description>
      <category>design</category>
      <category>typography</category>
      <category>russian</category>
    </item>
  </channel>
</rss>
