Плагин для Фигмы

Захотелось понять, как у любимой Фигмы устроены плагины и заодно закрыть какую-нибудь макетную рутину.

На мой взгляд, у Фигмы своеобразное понимание плагинов. Они редко расширяют функционал редактора, ведь для этого надо уводить контент на сторонний сервис и уже на той стороне делать магию. Например, Remove BG забирает картинку себе, шуршит и возвращает Фигме, ведь сама она не умеет отделять фон. Remove BG — это plug-in в настоящем смысле слова.

Большинство же «плагинов» Фигмы — это макросы. Вы можете автоматизировать действия, которые редактор уже умеет делать, но не самым быстрым способом.

Моя частая и нелюбимая рутина — это рисовать модальные окна. А именно кидать на экран тонировочку. Обычно это происходит вот так:

Сначала рисуешь прямоугольник. Неловко подгоняешь размеры мышкой. Разумеется, слой создался не в том фрейме и надо руками вынести его выше. Красишь в получёрный. Ещё хорошо бы выставить констрейнты, чтобы тонировка за экраном тянулась.

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

Вот и выдался случай сделать плагин макрос самим. Задача несложная, кода чуть-чуть и шанс посмотреть на работу плагинов под капотом. Частично подходящие, готовые плагины наверняка есть, но это не важно :)

Спойлерну: с плагином холст тонируется быстро. Не моргайте:

Теперь про создание плагина. Документация Фигмы — ну норм: хорошо описан быстрый старт (VS Code + плагин для TypeScript). А вот примеров мало. Надо побольше базовых сценариев.

Конкретно мой макрос совсем простой:

Когда вы создаёте новый плагин через настольное приложение Фигмы, у вас появляется меню:

Ещё в разделе с плагинами появляется Development и, в позитивном исходе, Published:

Окошко для публикации плагина выглядит вот так:

В документации пишут, что плагин рассматривают 2 рабочих дня. В моём что-то разглядывали 2 недели. В итоге написал в поддержку и тогда его сразу же опубликовали :)

Город IT

Выступил на конференции Город IT. Дело было в сентябре, а вот и видео подъехало. Я там рассказываю как классно и быстро передавать анимации в разработку с помощью библиотеки Lottie.

Интефейс футбола

Тем временем технологии скакнули. Ну ладно, на самом деле они давно уже скакнули и американцы смотрят бейсбол с дополненной реальностью ещё со времён, когда аббревиатуры AR не было, но это не мешает мне офигевать.

Плеер на сайте первого канала умеет в разные камеры и статистику матча.

Внизу таймлайн с зарубками важных моментов.

Кайф.

Новое приложение YouDo

Как вы не знаете, я работаю ведущим дизайнером мобильных интерфейсов в YouDo. Коллеги усмотрели в моём нежелании полностью называть свою должность больше малодушия, чем скромности, так что шокотерапирую :)

Недавно закончили новую версию приложения. Пока только под Андроид. Где-то летом выйдёт под Иос. Ну и конечно обязательный дисклеймер о том, что ставить приложение YouDo полезно только в этих городах:

А вот и первый скриншотик вам. Только посмотрите на эти милейшие иконочки :з Навести милоту-няшкоту было личным челенджем окромя требований бизнеса. Новое приложение круглое, пушистое и вообще бро.

Заменили аватарку? Сообщение-выпускник курсов пикапа тут как тут (внизу экрана).

Анимашечки :з

Лесть поддержка.

Больше всего горжусь новым экраном профиля. Пришлось повоевать за это скругление, но больно уж люблю эту «улыбку».

Иконочки! Мои любимые это свинка, рупор, машинка и гаечный ключ.

Если кому-то ещё недостаточно мило, вами займётся наша иллюстратор. Теперь у нас есть экраны с картиночками — играем с козырей.

А вообще, кучу-тьму экранов передумали и перерисовали. На этой карте дай бог чтоб половина всего.

Специалист скажет: ну да, скинчик новый навернули, а что UX? Во-первых, мистер специалист, у меня в бложеке не матерятся. Во-вторых, переработка пользовательского опыта будет, но позже. Сейчас нашим программистам нужно было переписать былое кладбище костылей, чтобы экспериментировать с уксом вообще можно было. А так да: сейчас пойдут тесты шо ваш Фейсбук.

Кто совсем не в курсе: YouDo это Uber мира услуг. Если вам нужно починить/доставить/перевезти/научиться/намарафетиться — пишите чего хотите, умная строка вас поймёт, а далее уточняете детали.

Через некоторое время на ваше задание откликнется кто-нибудь из 500 000 зарегистрированных исполнителей, а вы выберите понравившегося. Собсна и всё. С вас никакой комиссии. Только оплата труда выбранного человека, но это уже ваши тёрки: мы только соединяем заказчиков и исполнителей. Ну если наликом решите рассчитаться. С безнала таки процент хапаем. Матвейке на пиццу, чо жопитесь то.

Врата Штейна и часы

Во «Вратах Штейна» были «часы» показывающие смещение текущей временной линии… Если честно я слабо понимаю конкретно эту часть аниме, но устройство миленькое, ламповое. Серёжа нашёл шрифт в точности как на этих часах. Захотелось что‑нибудь с этим сделать… Да хоть бы и часы!

Ну и вот, сделал:
sg.old.greatmatis.com — показывает время.
sg.old.greatmatis.com/ns — no seconds, то же, но без секунд.
sg.old.greatmatis.com/a — для фанатов этого аниме :)

Симпотненько запускать на полный экран и держать как скринсейвер. Мокапов вам.

Фиттс и угловые контролы

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

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

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

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

Полезно спрашивать себя. Почему я хочу очертить область срабатывания именно здесь? Почему какие-то 4−5 пикселей между контролом и пассивной сущностью (например заголовок экрана) не должны реагировать в данном случае? Зачем вообще человек устремляет палец в эту область экрана, и как сильно мы разрешаем недотёпе промазать?

Мысли.

1. Крайние контролы имеют все права реагировать по всей области до ближайших краёв.

2. Если учтено первое, то в крайний элемент попасть проще — сами края помогают осознать куда метить пальцем. В этом случае, если рядом есть не крайний контрол и они спорят между собой, не крайний имеет право на большую область, ведь в него сложнее прицелиться.

3. Области срабатывания у визуально равных контролов не обязаны быть равными.