<?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>UXPUB 🇺🇦 Дизайн-спільнота: Frorex</title>
    <description>The latest articles on UXPUB 🇺🇦 Дизайн-спільнота by Frorex (@frorex).</description>
    <link>https://ux.pub/frorex</link>
    <image>
      <url>https://ux.pub/images/D8fisW0i5mgoR0sraVQlMCnsr7Uujlc7D5wUTxH_OGc/rs:fill:90:90/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9v/cmdhbml6YXRpb24v/cHJvZmlsZV9pbWFn/ZS8zMS83Zjg2ZGY5/OC0yNDZkLTQ3NzMt/YWViYy05ZDMzZTVj/ZDliZjguanBn</url>
      <title>UXPUB 🇺🇦 Дизайн-спільнота: Frorex</title>
      <link>https://ux.pub/frorex</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://ux.pub/feed/frorex"/>
    <language>en</language>
    <item>
      <title>Кейс: Як я перетворив 30 варіантів компоненту налаштувань в 1 варіант і зробив його ще гнучкішим</title>
      <dc:creator>Edward Korytsky</dc:creator>
      <pubDate>Thu, 30 Apr 2026 19:08:50 +0000</pubDate>
      <link>https://ux.pub/frorex/kieis-iak-ia-pierietvoriv-30-variantiv-komponientu-nalashtuvan-v-1-variant-i-zrobiv-iogho-shchie-ghnuchkishim-299d</link>
      <guid>https://ux.pub/frorex/kieis-iak-ia-pierietvoriv-30-variantiv-komponientu-nalashtuvan-v-1-variant-i-zrobiv-iogho-shchie-ghnuchkishim-299d</guid>
      <description>&lt;h2&gt;
  
  
  Контекст і хід робіт
&lt;/h2&gt;

&lt;p&gt;На етапі вайрфреймів ми повністю затвердили логіку з клієнтом і базовий стиль.&lt;/p&gt;

&lt;p&gt;Після цього я почав налаштовувати дизайн-систему та паралельно збирав hi-fidelity екрани&lt;/p&gt;

&lt;p&gt;Коли дійшов до &lt;strong&gt;меню налаштувань&lt;/strong&gt;, реалізував його як окремий компонент з &lt;strong&gt;10 варіантами&lt;/strong&gt; під різні сторінки&lt;/p&gt;

&lt;p&gt;На етапі адаптації з’явилось ще 10 варіантів для мобайлу.&lt;/p&gt;

&lt;p&gt;І тут стало очевидно що планшет ще &lt;strong&gt;+10&lt;/strong&gt;, а підтримка і правки перетворяться на повний треш.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/KSKFslXFRS2WhZCV-w7wxwrOxhZX_y1iRAAHUg8w1JM/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy82NXA3/YWd3Y2s2ajRnbzFi/MHNoei5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/KSKFslXFRS2WhZCV-w7wxwrOxhZX_y1iRAAHUg8w1JM/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy82NXA3/YWd3Y2s2ajRnbzFi/MHNoei5wbmc" alt="30 варіантів однотипного дизайну в компоненті меню налаштувань." width="800" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Приблизно ось так виглядав старий компонент&lt;/p&gt;

&lt;h2&gt;
  
  
  Проблема
&lt;/h2&gt;

&lt;p&gt;Поточна реалізація &lt;strong&gt;не масштабувалась&lt;/strong&gt; і створювала технічний борг.&lt;/p&gt;

&lt;h2&gt;
  
  
  Основні болі:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;3 девайси (Desktop / Tablet / Mobile) в одному компоненті без чіткої структури&lt;/li&gt;
&lt;li&gt;Дублювання елементів, які доводилось правити вручну&lt;/li&gt;
&lt;li&gt;Відсутність стратегії наповнення контентом усередині компоненту&lt;/li&gt;
&lt;li&gt;Кожна нова правка = потрійна робота&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Що потрібно було
&lt;/h2&gt;

&lt;p&gt;Компонент має бути:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;єдиним&lt;/li&gt;
&lt;li&gt;гнучким&lt;/li&gt;
&lt;li&gt;контент-незалежним&lt;/li&gt;
&lt;li&gt;Адаптив і наповнення мають керуватись системно, а не через копіювання.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Рішення і підхід
&lt;/h2&gt;

&lt;p&gt;Я повністю переосмислив логіку компоненту.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Компонент зі slot-підходом&lt;/li&gt;
&lt;li&gt;Основний компонент меню має slot &lt;/li&gt;
&lt;li&gt;&lt;p&gt;У slot підставляються готові компоненти секцій&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Контент винесений окремо&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Кожна сторінка налаштувань = окремий компонент наповнення&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Його можна незалежно редагувати і перевикористовувати&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Також кожну таку сторінку можна адаптувати окремо.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Адаптив через токени&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Desktop / Tablet / Mobile керуються токенами&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Компонент автоматично адаптується без дублювання&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Допоміжний навігаційний компонент&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Створив компонент-обгортку на базі основного&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;В ньому зібрані всі сторінки одразу для швидкого перемикання і тестування&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  А тепер давайте детальніше по кожному моменту
&lt;/h2&gt;

&lt;p&gt;Почав я з брейншторму в режимі максималізму.&lt;/p&gt;

&lt;p&gt;Мета була одна - спроєктувати компонент так, щоб він покривав майже всі можливі сценарії, а не лише поточні екрани.&lt;/p&gt;

&lt;p&gt;Заздалегідь заклав такі вимоги:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Гнучке наповнення контенту без дублікатів&lt;/li&gt;
&lt;li&gt;Адаптація всього компоненту і його вмісту без створення окремих варіантів або з мінімальною їх кількістю&lt;/li&gt;
&lt;li&gt;Підтримка вспливаючих вікон підтвердження&lt;/li&gt;
&lt;li&gt;Різна навігація для різних девайсів&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Першим і основним кроком стало &lt;strong&gt;розділення компоненту на слоти (Доречі тут використані не нативні слоти від фігма, а зроблені власноруч).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/D8l2OcIJeP3MFU_OZhy_4Qe9IZ2EDjSG8UD4WY2PBdw/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9ybmJ1/Z2g4YXhxaHh2c3l3/bjQydC5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/D8l2OcIJeP3MFU_OZhy_4Qe9IZ2EDjSG8UD4WY2PBdw/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9ybmJ1/Z2g4YXhxaHh2c3l3/bjQydC5wbmc" alt="Створив новий компонент з Слот Підходом що скоротило 29 непотрібних варіантів в 1 варіант." width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Новий компонент зі слот підходом. Має тільки 1 варіант і все інше налаштовано через токени і слоти&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Slot-підхід дав:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;повний контроль над структурою сторінок&lt;/li&gt;
&lt;li&gt;можливість розглядати &lt;strong&gt;кожну сторінку як окремий незалежний компонент&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;заміну контенту без впливу на базову логіку меню&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Кожна сторінка налаштувань існує окремо і підставляється в слот, а не живе всередині головного компоненту.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/JJ6msaUpTwjDtZ-eiqieSndIwhXURxDlNZBm6u0j3vg/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy8xbGl3/bHo3azFpNHNpd3A1/dm5yOC5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/JJ6msaUpTwjDtZ-eiqieSndIwhXURxDlNZBm6u0j3vg/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy8xbGl3/bHo3azFpNHNpd3A1/dm5yOC5wbmc" alt="Компоненти сторінок для заміни в слот (Всього таких 10)" width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Компоненти сторінок для заміни в слот. (Всього таких 10)&lt;/p&gt;

&lt;h2&gt;
  
  
  Адаптив через токени і структурні компоненти
&lt;/h2&gt;

&lt;p&gt;Наступним кроком я вирішив &lt;strong&gt;не робити адаптив через варіанти&lt;/strong&gt;. Замість цього адаптація була закладена на рівні системи.&lt;/p&gt;

&lt;p&gt;Основою стали: &lt;strong&gt;дизайн-токени та структурні компоненти, які керують головним компонентом.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Як це працює
&lt;/h2&gt;

&lt;p&gt;Ключові параметри компоненту - відступи, розміри, поведінка навігації - винесені в &lt;strong&gt;токени&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;При зміні брейкпоінту &lt;strong&gt;підтягується відповідний набір токенів&lt;/strong&gt; та Структурні компоненти змінюють вид без дублювання логіки і контенту&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/H8EcPRu2KnyfSa48De0XZm_fHZsuUenRgcuL0aaciWE/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9ja3Nv/dDU5Y2MxNGFjeXd3/dDI4aS5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/H8EcPRu2KnyfSa48De0XZm_fHZsuUenRgcuL0aaciWE/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9ja3Nv/dDU5Y2MxNGFjeXd3/dDI4aS5wbmc" alt="Винесення окремих структурних елементів в компоненти. Адаптив відбувається на базі конкретного елеменета." width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Винесення окремих структурних елементів в компоненти. Адаптив відбувається на базі конкретного елеменета.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/mLPXEM09SGuES5LZGYlr1w1Bg5tn35qHVqcgokOMarg/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9raXpi/ZTV3aHd2NTN0ZGZm/NWlueS5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/mLPXEM09SGuES5LZGYlr1w1Bg5tn35qHVqcgokOMarg/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9raXpi/ZTV3aHd2NTN0ZGZm/NWlueS5wbmc" alt="Токени для адаптації." width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Токени для адаптації.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Що це вирішило&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Один і той самий компонент працює для Desktop, Tablet і Mobile&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Адаптив &lt;strong&gt;перемикається автоматично&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Відпала потреба створювати окремі варіанти під кожен девайс&lt;/li&gt;
&lt;li&gt;Контент залишається незмінним і не ламається при адаптації&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Заміна слотів і навігаційний компонент
&lt;/h2&gt;

&lt;p&gt;Після цього робота з компонентом стала максимально простою.&lt;/p&gt;

&lt;p&gt;У &lt;strong&gt;slot&lt;/strong&gt; підставляється готовий компонент конкретної сторінки а Базовий компонент меню при цьому не змінюється взагалі&lt;/p&gt;

&lt;p&gt;Таким чином сторінка існує окремо, але повністю підкоряється спільній логіці і адаптиву.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/4W-rjiE0BVZcYKjrhK4uZcWU1uvZ-Q0hUYjp4pM3dLw/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy93MDho/b3dqMG9lY3FobzQy/bTlmNC5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/4W-rjiE0BVZcYKjrhK4uZcWU1uvZ-Q0hUYjp4pM3dLw/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy93MDho/b3dqMG9lY3FobzQy/bTlmNC5wbmc" alt="Готовий компонент з підтягнутим слотом." width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Готовий компонент з підтягнутим слотом.&lt;/p&gt;

&lt;h2&gt;
  
  
  Навігаційний компонент для зручності
&lt;/h2&gt;

&lt;p&gt;Щоб не перемикати сторінки вручну, я створив &lt;strong&gt;додатковий навігаційний компонент поверх основного.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Він містить &lt;strong&gt;усі сторінки налаштувань одразу&lt;/strong&gt;, дозволяє &lt;strong&gt;швидко перемикатися між ними&lt;/strong&gt; та не потребує перевідмальовування або дублювання компонентів&lt;/p&gt;

&lt;h2&gt;
  
  
  Що це дало
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Швидкий перегляд і тестування всіх сценаріїв&lt;/li&gt;
&lt;li&gt;Мінімум ручних дій&lt;/li&gt;
&lt;li&gt;Збереження єдиної структури і логіки&lt;/li&gt;
&lt;li&gt;Комфортну роботу з компонентом навіть при великій кількості сторінок&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Документація для дизайнерів і розробників
&lt;/h2&gt;

&lt;p&gt;Фінальним кроком стало &lt;strong&gt;створення документації&lt;/strong&gt;, щоб рішення працювало не лише зараз, а й у майбутньому.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/M6b_vzSMQPLd_dBQGb5vmyPwGWYIa99gCT0fIw6K6TY/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9obmRv/czFvNWJwd2M1dnh4/Mm5sbi5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/M6b_vzSMQPLd_dBQGb5vmyPwGWYIa99gCT0fIw6K6TY/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9obmRv/czFvNWJwd2M1dnh4/Mm5sbi5wbmc" alt="Документація для дизайнерів і розробників" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Документація покриває:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;структуру компоненту і логіку слотів&lt;/li&gt;
&lt;li&gt;правила підключення готових сторінок&lt;/li&gt;
&lt;li&gt;поведінку адаптиву через токени&lt;/li&gt;
&lt;li&gt;сценарії навігації і використання&lt;/li&gt;
&lt;li&gt;обмеження і принципи масштабування&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Цінність документації
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Дизайнери швидко розуміють, як додавати нові сторінки без дублікатів&lt;/li&gt;
&lt;li&gt;Розробники отримують прозору і передбачувану структуру&lt;/li&gt;
&lt;li&gt;Зменшується кількість питань і помилок&lt;/li&gt;
&lt;li&gt;Рішення живе довше за конкретний проєкт або команду&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Загальний результат
&lt;/h2&gt;

&lt;p&gt;Цей підхід дав відчутний системний ефект:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 універсальний компонент замість 30+&lt;/li&gt;
&lt;li&gt;Повністю прибрані дублікати&lt;/li&gt;
&lt;li&gt;Автоматичне перемикання адаптиву&lt;/li&gt;
&lt;li&gt;Швидке редагування без ризику щось зламати&lt;/li&gt;
&lt;li&gt;Робота з компонентом стала у ~4 рази простішою&lt;/li&gt;
&lt;li&gt;Компонент легко масштабується під нові сторінки і девайси&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ux</category>
      <category>ui</category>
      <category>cases</category>
      <category>ua</category>
    </item>
    <item>
      <title>QR-коди без помилок гайд для дизайнерів</title>
      <dc:creator>Edward Korytsky</dc:creator>
      <pubDate>Thu, 30 Apr 2026 04:57:38 +0000</pubDate>
      <link>https://ux.pub/frorex/qr-kodi-biez-pomilok-ghaid-dlia-dizainieriv-3m1n</link>
      <guid>https://ux.pub/frorex/qr-kodi-biez-pomilok-ghaid-dlia-dizainieriv-3m1n</guid>
      <description>&lt;p&gt;QR-код давно перестав бути просто технічним інструментом. Людина бачить постер, упаковку або візитку, сканує код - і за секунду опиняється на сайті, в чаті або в додатку.&lt;/p&gt;

&lt;p&gt;Саме тому QR-код потрібно розглядати як частину UX, а не просто чорний квадрат у макеті. Якщо його зробити неправильно, виникають дві проблеми: він або погано сканується, або псує естетику дизайну.  &lt;/p&gt;

&lt;p&gt;Щоб зрозуміти, як виглядає правильна реалізація, достатньо подивитися на QR-коди великих платформ.&lt;/p&gt;

&lt;p&gt;Наприклад, у QR-кодах Telegram, iOS або Instagram завжди є одна спільна риса: вони одночасно функціональні і вписані у дизайн системи продукту.&lt;/p&gt;

&lt;p&gt;Це і є головна задача дизайнера.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/PlJqqjB-dQnsWlKA7zAgE5bRfk4r2cIRAdHdfAYCesc/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy91czNy/YmVrMXFwcXJ0dzNw/Zng2OC5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/PlJqqjB-dQnsWlKA7zAgE5bRfk4r2cIRAdHdfAYCesc/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy91czNy/YmVrMXFwcXJ0dzNw/Zng2OC5wbmc" alt="Структура Qr-Code" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Технічна база, без якої нічого не працює
&lt;/h2&gt;

&lt;p&gt;Перш ніж думати про стиль, потрібно зрозуміти фундамент. QR-код - це математична структура, і якщо її порушити, він перестає працювати.  &lt;/p&gt;

&lt;p&gt;Найважливіше правило - &lt;strong&gt;контраст&lt;/strong&gt;. Класичний варіант працює найкраще: темний код на світлому фоні. Камера телефону повинна миттєво розпізнати структуру.&lt;/p&gt;

&lt;p&gt;Другий критичний момент - &lt;strong&gt;quiet zone&lt;/strong&gt;. Це чистий простір навколо коду. Він повинен бути щонайменше &lt;strong&gt;4 модулі шириною&lt;/strong&gt;. Без цього камері складніше зрозуміти де починається і закінчується код.&lt;/p&gt;

&lt;p&gt;Також важливий розмір. Для друку мінімальним безпечним розміром вважається приблизно 2×2 сантиметри, але для постерів або білбордів потрібно тестувати сканування з реальної дистанції. Код, який виглядає нормально на екрані, може бути абсолютно нечитабельним на стіні.&lt;/p&gt;

&lt;p&gt;Ще один момент - формат файлу повинен бути SVG / PDF. Растрові PNG-файли часто псують різкість і можуть ускладнити сканування.&lt;/p&gt;

&lt;p&gt;І останнє правило - тестування. Код потрібно перевіряти на різних камерах: iPhone, Android, старі моделі телефонів. Якщо він не сканується миттєво*, значить дизайн потрібно переробляти.&lt;/p&gt;

&lt;h2&gt;
  
  
  Типи QR-кодів: статичні та динамічні
&lt;/h2&gt;

&lt;p&gt;QR-коди бувають двох основних типів.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Статичний QR-код&lt;/strong&gt; містить зашите всередині посилання. Воно записується прямо у код і більше не може змінюватися. Перевага такого варіанту - простота і довговічність. Якщо сайт працює, код працює завжди.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Динамічний QR-код&lt;/strong&gt; працює через проміжний сервер. Фактично код веде не на кінцеве посилання, а на спеціальний редирект. Це дозволяє змінювати URL навіть після друку матеріалів*. Саме тому такі QR-коди часто використовують у маркетингу.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;У динамічних кодів є ще одна цікава функція. Вони можуть визначати &lt;em&gt;операційну систему пристрою&lt;/em&gt; і відкривати різні посилання. Наприклад:&lt;/p&gt;

&lt;p&gt;користувач на iPhone відкриє App Store&lt;/p&gt;

&lt;p&gt;користувач на Android потрапить у Google Play&lt;/p&gt;

&lt;p&gt;Зазвичай такі сервіси працюють за підпискою, але для великих кампаній це дуже корисний інструмент.&lt;/p&gt;

&lt;h2&gt;
  
  
  Дизайн QR-коду: баланс між стилем і функціональністю
&lt;/h2&gt;

&lt;p&gt;Коли технічна база зроблена правильно, можна працювати зі стилем.&lt;/p&gt;

&lt;p&gt;QR-код можна &lt;em&gt;кастомізувати&lt;/em&gt;. Дизайнери змінюють форму точок, кольори модулів, додають логотип у центр або інтегрують код у графічну композицію. Саме так роблять великі бренди, щоб код виглядав частиною айдентики.&lt;/p&gt;

&lt;p&gt;Проте тут важливо не перейти межу.&lt;/p&gt;

&lt;p&gt;У QR-коді є три великі квадрати в кутах - finder patterns. Вони допомагають камері визначити орієнтацію коду. Якщо їх змінити або сильно стилізувати, код може перестати скануватися.  &lt;/p&gt;

&lt;p&gt;Також небезпечно зменшувати контраст, ставити код на шумний фон або використовувати складні градієнти без тестування.&lt;/p&gt;

&lt;h2&gt;
  
  
  UX-помилка, яку роблять майже всі
&lt;/h2&gt;

&lt;p&gt;Більшість дизайнерів думають тільки про вигляд QR-коду і забувають про головне - контекст використання.&lt;/p&gt;

&lt;p&gt;QR-код без пояснення практично ніхто не сканує. Людина повинна зрозуміти що вона отримає після сканування.&lt;/p&gt;

&lt;p&gt;Тому замість беззмістовного напису:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Scan me&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;краще використати чітку цінність:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Отримай доступ до турнірної сітки&lt;br&gt;
Забронюй місце за 10 секунд&lt;br&gt;
Приєднайся до закритої спільноти&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Крім цього варто додати короткий URL як альтернативу. Якщо камера не працює або людина хоче перейти вручну, вона повинна мати таку можливість.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/ModpuvIFbtB0uY1ofddqaveQRrsTWi8Y1DrLOyGrlD4/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy90MHdh/anFodmh1eW5wYnVl/OHp2Zy5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/ModpuvIFbtB0uY1ofddqaveQRrsTWi8Y1DrLOyGrlD4/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy90MHdh/anFodmh1eW5wYnVl/OHp2Zy5wbmc" alt="Дія після натискання на QR-Code" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Коли QR-код розміщується у цифровому інтерфейсі, особливо на телефоні, виникає інша UX-задача. На відміну від постера або упаковки, користувач не може відсканувати код тим самим телефоном. Тому QR-код у мобільному інтерфейсі потрібно сприймати не як інструмент сканування, а як контейнер для даних, які людина може швидко скопіювати.&lt;/p&gt;

&lt;p&gt;У таких випадках важливо підказати, що QR-код можна натиснути. Найкраща практика - додати короткий текст або мікро-interaction, який пояснює дію. Наприклад:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tap to copy &lt;/li&gt;
&lt;li&gt;Copy address&lt;/li&gt;
&lt;li&gt;Copy link&lt;/li&gt;
&lt;li&gt;Tap to copy wallet address&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Після натискання  повинна бути підказка  для копіювання "скопіювати дані в буфер обміну" і показати коротке підтвердження, наприклад: "Copied to clipboard". Це робить взаємодію зрозумілою і швидкою.&lt;/p&gt;

&lt;p&gt;Такий підхід особливо поширений у фінансових та крипто-продуктах. Наприклад, у криптогаманцях QR-код містить адресу гаманця, але поруч завжди є можливість скопіювати її одним тапом. Те саме використовується у фінтех-додатках, де QR-код може містити номер картки, IBAN або адресу для платежу. Користувач може або показати QR-код іншому пристрою, або просто натиснути і скопіювати дані.&lt;/p&gt;

&lt;h2&gt;
  
  
  З точки зору UX тут важливі три речі.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;візуальна підказка&lt;/strong&gt;, що елемент клікабельний. Це може бути текст під кодом, іконка копіювання або легка анімація при натисканні.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;миттєвий фідбек&lt;/strong&gt; після дії. Людина повинна зрозуміти, що дані скопійовані.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Показ текстового дублювання інформації&lt;/strong&gt;. Наприклад, частину адреси гаманця або номер картки, щоб користувач міг перевірити, що саме копіюється&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://ux.pub/images/LbBmbcYpgb2WGhQfp1ugFbt9i_QEjGwdcS_WhMH4gPo/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9xZGZ5/YTczZzd5b3loZzk5/ZXA1MS5wbmc" class="article-body-image-wrapper"&gt;&lt;img src="https://ux.pub/images/LbBmbcYpgb2WGhQfp1ugFbt9i_QEjGwdcS_WhMH4gPo/w:800/mb:500000/ar:1/aHR0cHM6Ly91eC5w/dWIvdXBsb2Fkcy9h/cnRpY2xlcy9xZGZ5/YTczZzd5b3loZzk5/ZXA1MS5wbmc" alt="Скопіювати попап підсказка" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;У результаті QR-код у мобільному інтерфейсі перетворюється з пасивного елементу на &lt;strong&gt;зручний інструмент передачі даних&lt;/strong&gt; - або через сканування іншим пристроєм, або через швидке копіювання одним натисканням.&lt;/p&gt;

&lt;h2&gt;
  
  
  Стратегія використання QR-кодів
&lt;/h2&gt;

&lt;p&gt;Ефективність QR-коду сильно залежить від контексту.&lt;/p&gt;

&lt;p&gt;На &lt;strong&gt;івентах&lt;/strong&gt; код повинен бути великим і читабельним з кількох метрів. Візуальний шум навколо потрібно мінімізувати, щоб камера легко його знаходила.&lt;/p&gt;

&lt;p&gt;У &lt;strong&gt;соціальних мережах&lt;/strong&gt; QR-коди використовуються рідше, тому що люди вже знаходяться у цифровому середовищі. Там часто простіше використовувати короткі посилання.&lt;/p&gt;

&lt;h2&gt;
  
  
  Типові помилки, які псують навіть хороший дизайн
&lt;/h2&gt;

&lt;p&gt;Найпоширеніша проблема - з&lt;strong&gt;анадто маленький QR-код&lt;/strong&gt;. Його ставлять у кут макету і очікують, що люди будуть сканувати.&lt;/p&gt;

&lt;p&gt;Інша помилка - коли дизайнери занадто захоплюються стилізацією. Декоративність починає переважати функціональність, і код стає складним для камери.&lt;/p&gt;

&lt;p&gt;Також часто забувають пояснити &lt;strong&gt;навіщо сканувати код&lt;/strong&gt;, або ведуть користувача на сторінку, яка погано працює на мобільному пристрої.&lt;/p&gt;

&lt;p&gt;У такому випадку навіть ідеальний дизайн не врятує досвід.&lt;/p&gt;

&lt;h2&gt;
  
  
  Простий професійний тест перед публікацією
&lt;/h2&gt;

&lt;p&gt;Перед тим як відправляти макет у друк або публікувати його, варто задати собі кілька простих питань.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Чи сканується код &lt;strong&gt;менш ніж за секунду&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;Чи працює він &lt;strong&gt;при різному освітленні&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;Чи можна прочитати його &lt;strong&gt;з тієї дистанції, де людина реально стоїть&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;Чи є &lt;strong&gt;зрозумілий заклик до дії&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;І чи є &lt;strong&gt;резервний URL&lt;/strong&gt;, якщо QR-код не спрацює?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Якщо всі відповіді позитивні - QR-код готовий.&lt;/p&gt;

</description>
      <category>ux</category>
      <category>tutorial</category>
      <category>ui</category>
      <category>lifehacks</category>
    </item>
  </channel>
</rss>
