Как стать автором
Поиск
Написать публикацию
Обновить

Дизайн

Сначала показывать
Порог рейтинга
Уровень сложности

Как я создал Vanilla Calendar Pro — легкий и гибкий календарь на JavaScript с использованием TypeScript

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров19K

Привет, Habr!

Честно говоря, долго сомневался, стоит ли писать эту статью. Я понимаю, что среди комментариев наверняка будут такие, кто скажет: «Очередной никому не нужный датапикер». Но сегодня, когда Vanilla Calendar Pro собрал больше 480 звезд на GitHub и получает 17 тысяч скачиваний в месяц, я решил поделиться своей историей.

Хочу сразу отметить: я не претендую на лавры лучшего разработчика календарей и датапикеров. Эта статья о моем первом опыте в open source, о том, как я создавал проект с нуля и как он стал полезен другим разработчикам.

Читать далее

UX/UI + AI. Как нейросети меняют работу продуктового дизайнера. Полный перечень возможностей и мой практический опыт

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров10K

В этой статье я хочу рассказать зачем AI нужен UX/UI дизайнерам. Как его внедрение может улучшать пользовательские интерфейсы, и как AI инструменты облегчают и ускоряют работу дизайнера. Я расскажу об использовании AI в интерфейсах — о возможностях, ограничениях, проблемах и способах их решения. Покажу несколько примеров, из своей практики. В заключении я попробую предположить чего можно ждать от AI в будущем.

Читать далее

Эффект матового стекла для веба

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров11K

В процессе разработки UI для игр Forza Horizon 3 и Forza Motorsport 7 я имел возможность поработать с потрясающими акриловыми матовыми элементами дизайна.

Вдохновлённый этим дизайном, я захотел создать похожий эффект при помощи HTML. В этом посте я расскажу о своих попытках создания красивого эффекта стекла, а также представлю пример кода и ассетов для тех, кто захочет попробовать реализовать эту методику самостоятельно.

Читать далее

«Я — робот Вертер» или Нулевой закон робототехники

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров11K


В этой статье речь пойдёт не об Азимове и его законах. Великий фантаст не мог предусмотреть всё. А о порочной практике, когда текстовые и голосовые роботы представляются человеческими именами. Или вообще не представляются. Разработчики и собственники таких роботов рассчитывают на то, что люди, собеседники роботов, будут введены в заблуждение, что говорят с человеком. Это даёт небольшой шанс владельцу робота что-то продать или предложить потребителям, сэкономив деньги на зарплате сотруднику колл-центра.

Разберём подробно, как правильно должны представляться роботы и почему это важно.

А также обсудим пути к созданию цивилизованной среды, в которой взаимодействие с роботами будет приносить больше пользы.
Почему же роботы ВСЕГДА должны говорить о том, что они роботы?

«У Центрального банка заледенели ноги»: нелепые ошибки в UX-переводах и как их исправить

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.9K

Привет, я Акбота Хасенова. Работаю UX-переводчицей в крупнейшем казахстанском телеком-операторе. Хоть эта компания и занимает больше половины телеком-рынка Казахстана, но при этом всего 2% пользователей сидят на казахской версии приложений.

В этой статье я расскажу об опасностях, которые могут подстерегать продукты на двуязычных рынках и как их можно избежать.

Будет полезно, если вы:

• запускаете продукт в двуязычной стране, особенно — в Казахстане;
• работаете с переводами и интерфейсами;
• ищете проверенные базы и гайды по UX-переводам на казахский, но об этом в конце.

Читать далее

Воспоминания о GeoCities, предтече социальных сетей из 1990-х годов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2K

Если в 90-е годы вам приходилось пользоваться интернетом, возможно, вы помните сайты на домене GeoCities. Это популярный веб-хостинг, действовавший в США с 1994 по 2009 год включительно. В Японии он и вовсе продержался вплоть до 2019 года. На пике популярности хостинг GeoCities обслуживал десятки миллионов персональных сайтов. В сегодняшней статье мы кратко пройдемся по истории компании и в заключение посмотрим на наиболее «характерные» сайты ушедшей эпохи 90-х.

Читать далее

Найм дизайнеров глазами лида

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5.9K

Есть много статей о том, как дизайнеру попасть в продуктовую команду. Я же хочу поделиться своим опытом найма дизайнеров с точки зрения лида, отвечающего за качество онбординга, эффективность работы новых сотрудников, их развитие, а также заинтересованного в том, чтобы дизайнеры оставались с нами надолго.

Меня зовут Таня, я лид группы дизайнеров в Альфа-Банке. Мы работаем над мобильным приложением и интернет-банком для физических лиц. Я регулярно провожу собеседования, и в течение 3 лет наняла более 15 дизайнеров. В этой статье я расскажу о том, как у нас выстроен процесс найма, что мне важно увидеть в кандидате и как проходят собеседования.

Читать далее

Как мы завалили фичу и чему научились за это время, или Почему идеи без исследований — это домыслы

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.5K

Всем привет. Меня зовут Яна Степаненко, я руководитель команды дизайна AI-сервисов Т-Банка. Сегодня хочу рассказать об одном провальном кейсе: как мы до конца не исследовали аудиторию, положились на свои знания об их болях, потратили полтора года, признали ошибку и начали с начала. 

Читать далее

Геймифицируй это! Или игровые механики в неигровых продуктах

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров4K

Привет, Хабр! 

На вебинаре для экспертов комьюнити Skillbox Code Experts я рассказала про игровые механики в неигровых продуктах. По итогу получилась статья, которую вы сейчас читаете. Особенно полезна она будет разработчикам, продактам, лидам, да и вообще всем, кто имеет дело с продуктом. Погнали! 

Читать далее

Адаптивный дизайн. Как собирать макеты девайсов в несколько кликов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.6K

Отрисовка адаптивов — тяжелая ноша для любого продуктового дизайнера. Вроде бы все «фишки», которые хотелось применить, уже реализованы. Все незаурядные вопросы решены и ваш интерфейс уже отшлифован до блеска. Но тут наступает момент, когда нужно забыть про креатив и вспомнить, что дизайн — такая же работа, как и все остальные. В этой статье методичка — о том, как за минимальное время создать адаптивный интерфейс, не жертвуя качеством.

Читать далее

Битва с кабелями

Время на прочтение3 мин
Количество просмотров14K

Позвольте поведать вам о моем, мягко говоря, нестандартном испытании на должность компьютерного специалиста. Передо мной поставили задачу, казавшуюся на первый взгляд несложной: соединить устаревший iMac с телевизором, находящимся на значительном (30 метров) расстоянии в офисе.

Читать далее

Нейросетевой апскейлинг дома: вторая молодость для классических мультфильмов

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9.2K


В мире цифрового контента существует множество старых видеозаписей, которые заслуживают второй жизни. Будь то любимый мультфильм с потрескавшейся VHS-кассеты или редкий аниме-сериал с DVD, качество которого оставляет желать лучшего, у каждого есть свои «цифровые раритеты», которые хочется сохранить и улучшить.

С помощью нейросетей можно это осуществить. Сначала мы рассмотрим наш инструментарий, а затем сразу перейдём к кейсам использования. Каждый пример будет сопровождаться сравнениями, видео и скриншотами, чтобы показать реальный процесс и результат улучшения качества. Причём сделать эти шаги может каждый — бесплатно и без глубоких знаний в области нейронных сетей. Однако, как и любая обработка оригинального материала, этот подход может вызывать разные мнения.

Внимание: все видео в статье загружены на ютуб.
Читать дальше →

Zero Tolerance Underground: постигая тайну дополнения

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.2K

Когда речь заходит о истории формирования видеоигрового жанра FPS на ум всегда приходят такие шутеры как Doom и Wolfenstein 3D. Но был еще один тайтл находящийся на рубеже становления жанра о котором может помнить юный обладатель 16‑битной приставки Sega Mega Drive и Genesis в далеких 90‑х и нулевых годах. Многие называют его как «Doom моего детства», так оно и было для геймеров нового тысячелетия. Имя этого шедевра Zero Tolerance.

Фанаты вселенной всегда считали Beyond Zero Tolerance прямым продолжением игры, но оставалось много вопросов. Например, как элитный ударный отряд узнал о родной планете пришельцев и как добрался до того самого мира, где происходит действие не вышедшего продолжения? Как будто существовала некая нерассказанная история между этими двумя частями.

Читать далее

Ближайшие события

Дебаг на максимум: секретные настройки Xcode, которые должен знать каждый разработчик

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров5.7K

Проблемы с графикой на iOS? Скрытые дебаг-фишки Xcode спасут вас!

Я прошёл через множество проектов — от стартапов до крупных компаний, и каждый раз графические глюки заставляли меня искать эффективные решения. Теперь я знаю, как пофиксить отрисовку. Вам понадобятся знания основ Swift, CPU, GPU и немного юмора.

Я расскажу, как исправить поехавшие пиксели с мощными дебаг-инструментами, и приведу примеры багов отображения на iPhone 16 Pro. Мой гайд поможет вам оптимизировать графику и сохранить пользователей, которых бесят тормозящие приложения.

Читать далее

«Робокоп 3»: скорее мёртвый, чем живой

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров10K

Говорить о предсмертных муках и неприятной кончине «Робокопа» — неприятная тема, но необходимая для обсуждения. Не только с точки зрения «мужик начал ретроспективу, мужик её и закончит». Но и для более глубокого понимания ошибок, совершённых голливудскими киноделами, и теми крайне неблагоприятными обстоятельствами, что сложились вокруг приключений офицера Мёрфи. Не будем более разглагольствовать, погнали разбираться.

Thank You for Your Cooperation, Good Night

Библиотека EremexControls.NET для Avalonia UI — Большое обновление (v 1.1 EAP)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.2K

Библиотека Контролов EMX Controls для Avalonia UI позволяет вам создавать многофункциональные графические интерфейсы для Windows, Linux, macOS и WebAssembly. Почти полгода назад вышла первая версия контролов. С тех пор библиотека развивалась и расширялась – появились новые компоненты и новые функции. А сегодня у нас большая новость - мы выпускаем EAP (early-access preview) для версии 1.1.

Читать далее

Я угадаю, что рабочий цеха хочет ввести, с трёх букв

Время на прочтение6 мин
Количество просмотров30K
image

У нас есть система регистрации простоев оборудования. В ней рабочему нужно ввести комментарий о причине простоя вручную. А нам потом надо собирать статистику по этим данным для анализа, как работал цех и что приводило к простоям.

Рабочие вводят причины простоя разными словами, от души. «Шланг порвался», «они не успевают дать продукцию», «безобразно обрезана кромка» — это ещё цветочки. Одно только слово «железнодорожный» можно написать десятками способов — жд, Жд, ЖД, ж/д, ж\д, ж /д, ж д, Ж д, ЖД!!! — и так далее. С вывернутыми слешами, двойными пробелами и другими творческими формулировками.

В базе 13 миллионов записей, из них 700 тысяч уникальных, из которых остаётся примерно 500 тысяч после нормализации по регистру, слешам, пробелам и т. п. А нам нужно как-то разобраться, что не так и с кем.

Если вы сейчас думаете про ML, LLM и прочие модные слова, я вас огорчу. Оказалось, что есть простой кондовый способ, если применить немного ТРИЗа. В итоге получилось, что мы умудрились и рабочим сделать намного удобнее (что вообще-то редкость в реалиях производства), и дико помочь аналитикам.
Читать дальше →

Реализация алгоритма двумерной упаковки Skyline

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.6K

Упаковка 2D-прямоугольников в прямоугольники большего фиксированного размера необходима в большинстве мультимедийных проектов. В программировании GPU изменение текстур (binding) — затратный процесс. Поэтому при рендеринге текста не стоит использовать по одной текстуре на глиф, вместо этого желательно упаковать глифы в единую текстуру, называемую атласом. В 2D-играх содержащие спрайты атласы называются листами спрайтов (spritesheet). Листы спрайтов также используются для веб-сайтов, потому что скачивать один большой файл удобнее, чем по одному файлу на каждый значок/логотип.

Поначалу я думал, что это достаточно нишевая проблема, но оказалось, что она влияет и на целые отрасли. Сколько рекламных объявлений можно уместить на этой странице газеты? Сколько фигур можно вырезать из этого куска дерева? Сколько посылок поместится в кузов грузовика? Поэтому задача двухмерной упаковки изучалась и в научных кругах.

Самым ценным ресурсом из найденных мной стал превосходный обзор Юкки Йулянки. В нём описано четыре типа алгоритмов и их практическая оценка. Выделяются из них два:

MAXRECTS если вы знаете заранее, какие прямоугольники будете упаковывать («офлайн-упаковка»)

SKYLINE если не знаете («онлайн-упаковка»)

Офлайн-упаковка оптимальнее, потому что сортировка прямоугольников перед упаковкой сильно помогает. Однако в некоторых ситуациях реализовать её невозможно. В моём сценарии мне хотелось кэшировать растеризированные из шрифта глифы, но я не знал заранее все глифы, которые будут использоваться для каждого шрифта и каждого формата (полужирный/курсив/размер...).

Именно поэтому я остановился на алгоритме skyline. Он применяется в stb_rect_pack.hfontstash, а значит, и в nanovg.

В этой статье объяснён алгоритм skyline и представлена его реализация. Реализация доступна онлайн и в общественном достоянии (UNLICENSE).

Читать далее

Удачный дизайн в советских товарных знаках

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров6.9K

Настоящий рассвет в дизайне советских товарных знаков наступил после принятия одноименного Постановления Совета Министров СССР в 1962 году.

Читать далее

Работа с CoordinatorLayout: шапочный разбор

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров11K

Приветствую тебя, уважаемый читатель! Меня зовут Пятаков Никита, я Android-инженер в команде MT&S Авито. Здесь я делюсь опытом реализации двух версий шапки на главном экране приложения Avito. Эта статья будет особенно полезна разработчикам, которые хотят познакомиться с CoordinatorLayout и научиться делать похожие задачки с нетривиальным взаимодействием view между собой. 

Читать далее