Object-Oriented User Experience
Одну з двох книг у замовленні ще навіть не відправили читачеві, а система вже показувала статус «частково повернено».
Це був один із моментів, коли я зрозумів, що міграція бібліотеки KyivUX на Notion не буде легкою прогулянкою.
Спочатку я сприймав її як механічну задачу - перенести каталог, прив'язати наявні замовлення й читачів, відтворити поточну логіку. А вже потім братися за досвід читачів.
Так я думав, поки не почав будувати бази даних.
Книги, примірники, читачі, замовлення, оренди, черга й ще купа баз, частина з яких виявилася зайвою. Усе це було взаємопов'язане. Я кілька разів перебудовував тестову структуру, але щоразу знаходив нові логічні помилки. Виправляв одну - з'являлася друга, третя…
У якийсь момент стало зрозуміло, що проблема не у формулах чи ролапах. Notion рахував саме те, що я в нього вніс. Нелогічною була сама модель системи.
Тоді я й згадав про OOUX. Про Object-Oriented UX я колись читав у Софії Прейтер, але в реальному проєкті ще не застосовував. Схоже настав час.
Я відклав бази й описав бібліотеку через ORCA (Objects, Relationships, Calls-to-Action, Attributes). Виписав на стікери об'єкти, їхні атрибути, зв'язки й дії. Сформувати дії мені допоміг фреймворк CRUD. Так склалася модель із п'яти об'єктів: книги, примірники, читачі, замовлення та оренди.
Перше відкриття: книга в каталозі й книга на полиці - різні об'єкти. Читач обирає назву, а бібліотека видає конкретний примірник. Примірників у книги може бути кілька, і кожен у своєму стані: доступний, зарезервований, у читача чи взагалі втрачений.
Друге стосувалося замовлень. Одне замовлення може містити кілька книг, але кожна проходить свій шлях: одну вже відправили, другу ще готують, третю читач повернув. Тож замовлення треба було розкласти на оренди, по одній на кожну книгу, зі своїми датами й статусом. Примірник прив'язується до оренди, щойно звільняється, тому оренда може існувати й без нього. А вже зі статусів оренд складається статус замовлення.
Третє - кому належать властивості. ТТН і дату повернення логічно було б тримати в замовленні, якщо книги їдуть однією посилкою. Але вони можуть їхати й окремо, тож ці поля переїхали в оренду. А доступність книги ніде не зберігається: вона рахується зі станів її примірників.
Щойно об'єкти й зв'язки стали явними, статуси нарешті склалися. Замість латати помилки формулами, я описав правила, яким підкоряється вся система.
Ця модель визначила не лише структуру баз, а й інтерфейс читача. Сторінка книги на сайті - це по суті атрибути й дії об'єкта "Книга".
OOUX змушує дивитися на продукт не як на екрани й флоу, а як на систему: що в ній існує, як усе пов'язано і які дії мають сенс для кожного об'єкта.
Звісно, одного Notion не вистачило: публічний сайт не бачив внутрішньої бази. Довелося під'єднати допоміжні сервіси, дописати трохи коду й налаштувати автоматизації. Але з готовою моделлю було ясно, які дані де зберігати і за що відповідає кожен інструмент.
OOUX я давно знав у теорії, але зрозумів по-справжньому, лише коли моя модель почала ламатися об реальність. Тепер думаю, що такі підходи варто випробовувати на невеликих проєктах, перш ніж вони знадобляться у великих. Бо навіть невелика бібліотека може виявитися складною системою.
І жодна автоматизація не врятує, якщо ти сам до кінця не розумієш, як вона має працювати.
Дякую нашій чарівній засновниці KyivUX Тані Зав'яловій за довіру, а тіммейтам Богдану, Наталці, Олені, Вероніці й Карині - за час і сили, які вони знаходять для цього проєкту між work-life balance і тривогами.
Одну з двох книг у замовленні ще навіть не відправили читачеві, а система вже показувала статус «частково повернено».
Це був один із моментів, коли я зрозумів, що міграція бібліотеки KyivUX на Notion не буде легкою прогулянкою.
Спочатку я сприймав її як механічну задачу - перенести каталог, прив'язати наявні замовлення й читачів, відтворити поточну логіку. А вже потім братися за досвід читачів.
Так я думав, поки не почав будувати бази даних.
Книги, примірники, читачі, замовлення, оренди, черга й ще купа баз, частина з яких виявилася зайвою. Усе це було взаємопов'язане. Я кілька разів перебудовував тестову структуру, але щоразу знаходив нові логічні помилки. Виправляв одну - з'являлася друга, третя…
У якийсь момент стало зрозуміло, що проблема не у формулах чи ролапах. Notion рахував саме те, що я в нього вніс. Нелогічною була сама модель системи.
Тоді я й згадав про OOUX. Про Object-Oriented UX я колись читав у Софії Прейтер, але в реальному проєкті ще не застосовував. Схоже настав час.
Я відклав бази й описав бібліотеку через ORCA (Objects, Relationships, Calls-to-Action, Attributes). Виписав на стікери об'єкти, їхні атрибути, зв'язки й дії. Сформувати дії мені допоміг фреймворк CRUD. Так склалася модель із п'яти об'єктів: книги, примірники, читачі, замовлення та оренди.
Перше відкриття: книга в каталозі й книга на полиці - різні об'єкти. Читач обирає назву, а бібліотека видає конкретний примірник. Примірників у книги може бути кілька, і кожен у своєму стані: доступний, зарезервований, у читача чи взагалі втрачений.
Друге стосувалося замовлень. Одне замовлення може містити кілька книг, але кожна проходить свій шлях: одну вже відправили, другу ще готують, третю читач повернув. Тож замовлення треба було розкласти на оренди, по одній на кожну книгу, зі своїми датами й статусом. Примірник прив'язується до оренди, щойно звільняється, тому оренда може існувати й без нього. А вже зі статусів оренд складається статус замовлення.
Третє - кому належать властивості. ТТН і дату повернення логічно було б тримати в замовленні, якщо книги їдуть однією посилкою. Але вони можуть їхати й окремо, тож ці поля переїхали в оренду. А доступність книги ніде не зберігається: вона рахується зі станів її примірників.
Щойно об'єкти й зв'язки стали явними, статуси нарешті склалися. Замість латати помилки формулами, я описав правила, яким підкоряється вся система.
Ця модель визначила не лише структуру баз, а й інтерфейс читача. Сторінка книги на сайті - це по суті атрибути й дії об'єкта "Книга".
OOUX змушує дивитися на продукт не як на екрани й флоу, а як на систему: що в ній існує, як усе пов'язано і які дії мають сенс для кожного об'єкта.
Звісно, одного Notion не вистачило: публічний сайт не бачив внутрішньої бази. Довелося під'єднати допоміжні сервіси, дописати трохи коду й налаштувати автоматизації. Але з готовою моделлю було ясно, які дані де зберігати і за що відповідає кожен інструмент.
OOUX я давно знав у теорії, але зрозумів по-справжньому, лише коли моя модель почала ламатися об реальність. Тепер думаю, що такі підходи варто випробовувати на невеликих проєктах, перш ніж вони знадобляться у великих. Бо навіть невелика бібліотека може виявитися складною системою.
І жодна автоматизація не врятує, якщо ти сам до кінця не розумієш, як вона має працювати.
Дякую нашій чарівній засновниці KyivUX Тані Зав'яловій за довіру, а тіммейтам Богдану, Наталці, Олені, Вероніці й Карині - за час і сили, які вони знаходять для цього проєкту між work-life balance і тривогами.
❤13🔥4
Тіме, щиро дякуємо за цей тиждень! Було змістовно й корисно. Сподіваємося, NDA не порушено 🤝️️️️️️
Нам було цікаво спостерігати за твоїм досвідом і підходом до роботи. Особливо запамʼятався інсайт про зміни в продукті, з якими рано чи пізно стикаємося. Не завжди вистачає сміливості відстояти свою думку й донести її до інших. Тому ще раз нагадуємо собі, що дизайн-мислення розвивається разом із досвідом.
Будемо раді бачити тебе знову!
Залишаємо LinkedIn Тіма та залишаємося на звʼязку 💙
Нам було цікаво спостерігати за твоїм досвідом і підходом до роботи. Особливо запамʼятався інсайт про зміни в продукті, з якими рано чи пізно стикаємося. Не завжди вистачає сміливості відстояти свою думку й донести її до інших. Тому ще раз нагадуємо собі, що дизайн-мислення розвивається разом із досвідом.
Будемо раді бачити тебе знову!
Залишаємо LinkedIn Тіма та залишаємося на звʼязку 💙
Linkedin
Tim Roman - KyivUX Design Community | LinkedIn
UX/UI Designer with 16 years of experience delivering large-scale digital products for… · Experience: KyivUX Design Community · Education: Projector Institute · Location: Ukraine · 500+ connections on LinkedIn. View Tim Roman’s profile on LinkedIn, a professional…
❤4🔥2👍1😇1
Цього року наша Black Friday зі знаком плюс: купуєте один курс, а ще десять отримуєте в подарунок!
Обирайте перший курс під конкретні плани, а ще десять допоможуть опанувати все, що давно лежить у вішлісті 💙
Більше про Black Friday — https://bit.ly/47Wad9e
Як це працює?
1. Обирайте курс
Шукайте курс з позначкою Black Friday. Подайте заявку й оплатіть повну вартість до 30 листопада. Почати навчання можна в будь-якому потоці до 20 листопада 2027 року.
2. Додайте ще 10 безоплатно
Після оплати на пошту прийде анкета — оберіть в ній 5 курсів і 5 відеокурсів зі списку подарунків. Анкету заповнювати треба лише один раз.
3. Навчайтеся у своєму темпі
Доступ до подарункових курсів відкриється протягом 24 годин після заповнення анкети та діятиме до 20 листопада 2027 року.
Обирайте перший курс під конкретні плани, а ще десять допоможуть опанувати все, що давно лежить у вішлісті 💙
Більше про Black Friday — https://bit.ly/47Wad9e
🔥11❤3
Друзі, вітайте нову людину на каналі 💙
Марія Шниркова — копірайтерка в NovaPay, авторка каналу 404 | сторінку не знайдено
В маркетингу Марія понад 10 років. Починала волонтеркою в Мінекономіки часів ProZorro. Далі працювала з темами impact tech, health tech, legal tech
Найцінніший в карʼєрі проєкт — комунікація відкриття стартап-центру 1991 Mariupol
Марія, канал твій, успіхів 🫂
Instagram
LinkedIn
Марія Шниркова — копірайтерка в NovaPay, авторка каналу 404 | сторінку не знайдено
В маркетингу Марія понад 10 років. Починала волонтеркою в Мінекономіки часів ProZorro. Далі працювала з темами impact tech, health tech, legal tech
Найцінніший в карʼєрі проєкт — комунікація відкриття стартап-центру 1991 Mariupol
Марія, канал твій, успіхів 🫂
❤41🥰5
Друзі, привіт!
Маю велику радість вести цей канал для вас. Сподіваюся, буде корисно.
Колись у часи навчання в інституті я влаштовувала вечірки. Збирала людей, домовлялася про локацію, навіть грала як діджейка)
Так і почуваю себе зараз: ніби на великій сцені. Хвилююче, але дуже цікаво.
Почну з музики.
⛰️ Це ісландський гурт Sigur Rós, або «Троянда Перемоги». Цей трек моментально додає настрою – https://youtu.be/WgaQC7B3GIE?si=tNjaUd3TlcNBD89t
Запрошую послухати)
І хай у нас із вами буде гарний тиждень 🤍
Маю велику радість вести цей канал для вас. Сподіваюся, буде корисно.
Колись у часи навчання в інституті я влаштовувала вечірки. Збирала людей, домовлялася про локацію, навіть грала як діджейка)
Так і почуваю себе зараз: ніби на великій сцені. Хвилююче, але дуже цікаво.
Почну з музики.
⛰️ Це ісландський гурт Sigur Rós, або «Троянда Перемоги». Цей трек моментально додає настрою – https://youtu.be/WgaQC7B3GIE?si=tNjaUd3TlcNBD89t
Запрошую послухати)
І хай у нас із вами буде гарний тиждень 🤍
❤27
Випадковий список улюблених рідних слів. Додавайте свої у коментарях)
Мружитися
Колихати
Ночівля
Звідусіль
Ластовиння
Скриня
Стеля
Навпростець
Пошепки
Мерехтіти
Бовваніти
Кришталь
Ґазда
Наодинці
Смолоскип
Шибеник
Натщесерце
Перепочити
Мружитися
Колихати
Ночівля
Звідусіль
Ластовиння
Скриня
Стеля
Навпростець
Пошепки
Мерехтіти
Бовваніти
Кришталь
Ґазда
Наодинці
Смолоскип
Шибеник
Натщесерце
Перепочити
❤29
Досліджую сторінки 404 вже два роки і відчуваю, що добряче ними всіх дістала. Але що поробиш, хобі таке)
Поглянула і на сторінку 404 Проджа:
✅ Цікавий віж
✅ Рідне «отакої»
✅ Нагадування шукати курси й лекції
✅ Кнопка
Me gusta 😌
https://prjctr.com/404
Поглянула і на сторінку 404 Проджа:
✅ Цікавий віж
✅ Рідне «отакої»
✅ Нагадування шукати курси й лекції
✅ Кнопка
Me gusta 😌
https://prjctr.com/404
❤12🔥4