Rose debug info
---------------

Блог Михаила Озорнина

Как айтишники делают физические вещи

Яндекс, кроме айти-сервисов делает разные физические товары. Не только свой мерч, но и вообще много разного:

  • инструменты Нокорд,
  • домашнюю технику Тувио,
  • компьютерные аксессуары Коммо,
  • домашнюю утварь Прагма и Хомсли,
  • какие-то игрушки с брендом Huina (не шучу) и много другое.

Посмотрите, сколько всего:

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

Например.

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

Ну бывает, сделали брекинг-изменения. Но даже не выпустили переходники. Посмотрите на любой российско-китайский бренд инструментов. При смене формата аккумуляторной платформы сразу выпускают два адаптера: старый→новый, новый→старый. Здесь — нет. Вообще, поверит ли купивший у них шуруповерт в них и продолжит ли вкладывать в платформу? Не уверен.

Частая смена ассортимента
Я купил одеяло, пользовался — понравилось. Захотел через полгода купить еще одно такое. Сорри, но такие больше не продают. Есть другие: с другими названиями, с другим наполнителем, без понятной шкалы тепла. Как выбрать максимально похожее? Никак, гадай.

Куплю я какой-нибудь набор посуды или столовых приборов. Что-то побью, что-то потеряю. Захочу купить такое же. Каковы шансы, что смогу? Нулевые. Купишь какую-нибудь штору, неудачно постираешь, она сядет. Как было с Икеей? Пошел и купил еще такую же. А тут — хоба, и не купить уже, вывели из ассортимента.

Гугл плодит кладбище цифровых сервисов, а Яндекс— вымерших категорий.

Расходники
Не только сами вещи сразу пропадают из наличия, но и расходников не купить. Представьте, что я купил увлажнитель или строительный пылесос. Через год, два, три и даже десять лет мне будут нужны фильтры и мешки. А их уже сейчас нет. Купить мешков на десять лет вперед? — глупо. Надеяться, что китайцы сделают? — тоже маловероятно, бренды не самые популярные.

Смены брендов
Бренда Раскат (велосипеды) уже не существует, но есть новый, тоже с велосипедами. Cейчас есть целых два бренда, под которыми продаются сапы. Кому от этого удобно? Я понимаю, что айтишникам привычно, когда в средней компании есть восемь самодельных нереляционных баз и двадцать не менее самописных логгеров. Но делать так для клиента, зачем?

Обидно, что так происходит, потому что сами вещи — хорошие. Понятно, что это просто СТМ (собственная торговая марка), но вещи нормально сделанные, с честными неплохими характеристиками и достаточно конкурентной ценой. Зарядки — отличные, если знать про особенности. Инструменты, судя по отзывам, отбивают свою цену на 100%.

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

Мне бы хотелось, чтобы и в айти учитывались принципы из реального мира.

Айти Физический мир
Горизонт планирования На ближайший релиз, а там разберемся На несколько лет вперед, пока товары будут в эксплуатации. И чем лучше товары, чем дольше они проживут, тем дольше горизонт планирования
Возможность докатить изменения при ошибке Легко, особенно легко в клаудных сервисах, даже приложения клиентов обновлять не надо Даже софтварные вещи, типа прошивки, сложно обновить. А аккум или формат мешка не поменять в принципе, только всякими переходниками
Дистрибуция Клаудная очень удобная: выкатил новую версию докер-контейнера, и всё, у всех клиентов новый сервис Даже, если ты выпустил переходник со старого аккумулятора, клиент должен про него узнать, купить, доставка должна его привезти. На каждом этапе воронки клиенты отвалятся
Поддержка Поддержки облачных сервисов отдельно от развития нет. Ты и поддерживаешь, и сразу развиваешь. Нужно думать о цикле поддержки, расходниках и запчастях
Линейки товаров. Понятные классы, понятный нейминг, наследственность. Надо помочь человеку, если у него было одеяло Снусмумрик, то следующее поколения этих одеял должно называться так же.
Эксперименты Запустил, не выстрелило, закрыл Неправильно как-то выпустить телевизор, а если за месяц не полетел, то и запчасти к нему не продавать

Я понимаю, что каждый третий айтишник мечтает соскочить с айти и делать что-то в реальном мире. Но давайте не тащить в него привычки?

Вместо вывода
В итоге покупать их вещи, для которых не нужны расходники — хороший вариант. Покупать проводной инструмент (типа болгарки) — нет проблемы: аккум не нужен, а расходники стандартные.

А вот покупать что-то, к чему нужны будут проприетарные аккумы или расходники — я бы с осторожностью, не хочется наколоться.

 Нет комментариев    100   9 дн  
Подписаться на блог…

Scrapp → Eagle

Шарю скрипт переезда из Скрапа в Игл

Я собирал картинки в Скрап. Собрал 4417 картинок. Но Скрап не развивается, поэтому я давно искал другую альтернативу.

Нашел её в лице Игла. Отличное приложение, синхронизация через внешний сервис (у меня — Яндекс-диск), с помощью простой автоматизации можно добавлять картинки и с телефона.

Подбешивало искать в двух копилка, так что я написал скрипт миграции, благо у Игла появилось веб-апи. Вдруг кому еще пригодится. Скрипт переносит все важные метаданные:

  • Описание изображения
  • Адрес изображения
  • Исходный сайт
  • Теги, отдельно помечая публичные
  • Время создания

github.com/mikeozornin/scrapp-to-eagle

Не расценивайте скрипт как сигнал «валите со скрапа», инфы о том, что с ним что-то будет, у меня нет. Скажу даже, есть обратная.

Подписаться на блог…

Ищу дизайнера интерфейсов-3

Снова ищем, прошлый поиск

Я руковожу одной из групп продуктовых дизайнеров в Positive Technologies и ищу в нашу команду несколько человек, чтобы делать корпоративные B2B-приложения.

Я слабо верю в поиск дизайнеров на хедхантере, но верю в нетворкинг и рекомендации. Самых хороших дизайнеров мне приводили по знакомству.

Апдейт с прошлого поиска

С момента прошлого поиска отдел вырос втрое по численности дизайнеров, у нас появился ресерч, мы подгребли под себя весь дизайн в компании, а продакты в своих годовых роадмапах планируют фичи «Улучшение UX продукта».

Мне нужны дизайнеры создавать общую платформу для самых зарабатывающих продуктов компании.

Чем мы занимаемся

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

А вот график стоимости наших акций (ну чем ещё я могу похвастаться):

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

В планах на 2023 год:

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

Все это не снижая скорости роста и развития продуктов.

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

Задачи, которыми придется заниматься

Разбираться со сложными системами и создавать для них элегантные решения.

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

Создавать интерфейсы B2B-продуктов: длинные формы, панели администрирования, конструкторы алгоритмов; определять внешний вид дашбордов, графиков, отчетов.

При необходимости — создавать прототипы, тестировать их на команде разработки или пользователях.

Наш дизайнер

Имеет опыт проектирования интерфейсов CRM-систем, систем документооборота, промышленных или других подобных систем.

Имеет минимальный технический бэкграунд (знает в общих чертах, как работает интернет) и способен разобраться в новой для себя предметной области. Один на один с иб не оставим.

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

Готов проверять свои гипотезы и макеты коридорным тестированием, анкетами, может провести сам или заказать исследование у отдела ресерча.

Обладает вкусом и чувством эстетики. Считает, что удобство, эффективность и красота могут сочетаться в одном продукте.

О команде

Группа из шести человек внутри департамента из 38. Каждый из них тесно работает со своей продуктовой командой, периодически все общаются между собой. Часть дизайнеров ведут внутренние задачи дизайн-отдела: гайдлайны, ui kit, дизайн-токены, развитие экспертизы в исследованиях.

Фигма, дизайн-система, база компонентов, гайдлайны — всё как у всех.

Фронтендеры и бэкендеры, которые не говорят «ой, это невозможно», и продакты которые говорят «Хочу удобно и красиво».

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

Если вам интересно и вы узнали себя хотя бы наполовину, напишите о себе:
mozornin@ptsecurity.com или в телеграм: @mikeozornin

 2124   2023   вакансия   работа
Подписаться на блог…

Как бекапить фигму

Сегодня фигма написала, что она прекращает продажи в России (figma.com/blog/our-response-to-ukraine). Меня спрашивают и коллеги, и не только, что делать. Пишу, как забекапить файлы из фигмы.

Скачать в png

Если вы хотите скачать макеты в png, см. пост Автоматическое скачивание новых экранов из Цеплина и Фигмы

Скачать исходники

Формат фигмы проприетарный, исходники фигмы можно будет только загрузить в другую фигму (другую команды или личный аккаунт).

Если нужно скачать лишь несколько файлов, скачайте вручную, и не заморачивайтесь со скриптом:
File > Save local copy…

Если нужно скачать несколько файлов, то вручную можно задолбаться. Вот как сделать автоматически

  1. Выпускаете токен доступа (лучше завести пользователя только с read-only-правами). См. figma.com/developers/api#access-tokens
  1. Устанавливаете figma-backup из npm (github.com/mimshins/figma-backup). Пакет не наш, ответственности не несу.
npm install -g figma-backup
  1. Устанавливаете jq:
brew install jq
  1. Запускаете скрипт, заменив {{переменные}} на значения.
FIGMA_TOKEN={{token}}
TEAM_ID={{team-id}}

PROJECTS_ID=$(curl -H "X-FIGMA-TOKEN: $FIGMA_TOKEN" "https://api.figma.com/v1/teams/$TEAM_ID/projects" | jq -j '.projects[] | .id, " "')
echo "$PROJECTS_ID"
echo "====="

npx figma-backup -e "{{email}}" -p "{{password}}" -t "$FIGMA_TOKEN" --projects-ids $PROJECTS_ID
  1. Вы получите папку, в которой будет лежать все файлы, с которым имеет доступ пользователь {{email}}.
  1. Если нужно запускать регулярно, добавьте в крон и/или в CI-пайплайн.

Готовьтесь, это все работает медленно. Наши 2,5 гигабайта файлов экспортируются 3 часа.

Наверное, как-то можно сделать параллельно, не смотрели. Точно можно сделать вариант «не качать файлы, если они не менялись», пока не заморачивались.

Подписаться на блог…

Верстка под телеграм

Есть два вида пишущих в телеграме

Буквально за час в одном из чатов проскочило два сообщения из двух разных крайностей. В одной — собеседник пишет каждое словосочетание отдельным сообщением. Это даже хрен перешлешь кому-то. В другой — фигачит без всяких знаков и разделителей. Только пересылать и удобно.

Как должно быть:

  • Понятное обращение и краткая суть
  • Текст, разбитый на абзацы
  • Ссылки отдельно с новых строк (чтобы они не рвали сообщение на части)

Например, можно как-то так:

Если человек не может нормально отформатировать сообщение в мессенджере, то может быть два варианта:

  • Ему не важно ваше удобство
  • У него беспорядок в голове
  • Он очень торопится Да даже когда торопится так не сделать.
Подписаться на блог…

Одна небольшая тупость в iOS

Джобса на вас нет

Если при включенном хотспоте попробовать включить вай-фай, айфон покажет вот такое сообщение:

Чтобы сфокусироваться на главном, применим дизайнерский хак:

iOS говорит нам:
— Пс, парень! Хочешь включить хотспот?

Что произойдет при нажатии «Включить»?
Хотспот отключится.

Как. Такое. Можно. Было. Сделать.

Подписаться на блог…

Театральные спектакли за 2021

За четыре месяца (с сентября по декабрь 2021 года) я сходил на полтора десятка спектаклей. Мы не ходили в театр весь 2020 год, а деньги на статье семейного бюджета «театр» продолжали копиться. Нагнали пропущенное мы во второй половине года 2021.

Вот на что сходил:

Спектакль Театр Режиссер Понравилось ли
Ричард III (второй раз) Театр Вахтангова ★★★★★ ★
Война и мир Театр Вахтангова Римас Туминас ★★★★★
Дядя Ваня Театр Вахтангова Римас Туминас ★★★★☆
Маскарад Театр Вахтангова Римас Туминас ★★★★☆
Царь Эдип Театр Вахтангова Римас Туминас ★★★★☆
Бег Театр Вахтангова Юрий Бутусов ★★★★★
Король Лир Театр Вахтангова Юрий Бутусов ★★★★☆
Сын РАМТ Юрий Бутусов ★★★☆☆
Все тут Театр современной пьесы Дмитрий Крымов ★★★★☆
Костик Театр им. Пушкина Дмитрий Крымов ★★★★☆
Моцарт «Дон Жуан».
Генеральная репетиция
Театр П. Фоменко Дмитрий Крымов ★★★★★ ★
Горбачев Театр наций ★★★★☆
Сказки Пушкина Театр наций Роберт Уилсон ★★★★☆
Боюсь стать Колей МХТ Марина Брусникина ★★★★☆
Враки, или Завещание
барона Мюнхгаузена
МХТ ★★★★☆

★★★★★ ★ — что-то с чем-то
★★★★★ — очень понравилось, я бы сходил и второй, и третий раз (или уже сходил не один раз)
★★★★☆ — очень понравилось, но идти второй раз пока планов нет

Как начать ходить в театр

Мне кажется, те, кто не ходит в театр, не ходят не потому, что не нравится, а потому, что не пробовали. Я бы посоветовал сходить два-три раза, ну не понравится, значит не понравится.

Чтобы начать, я бы посоветовал сходить на два спектакля:

  • Евгений Онегин, театр Вахтангова
  • Ричард III, театр Вахтангова
    Оба спектакля я смотрел дважды и готов сходить ещё пару раз.

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

Хорошие места на Евгения Онегина:
5-6-й ряд, места в середине поближе к проходу.
10-й ряд, места 11, 12, 13. Этот ряд сдвигается на полряда в сторону относительного 9-го, сиденья становятся в шахматном порядке и никто не мешает спереди своей головой.

Хорошие места на Ричарда:
Любые места в центре поближе к сцене.



Если хочется спросить про какой-то из спектаклей, напишите лично. Я специально ничего не писал про сами спектакли, чтобы случайно ничего не заспойлерить.

Подписаться на блог…

Разделять вопросы и предложения

Бывают фразы ни туда, ни сюда. Например, «можно увеличить тут отступ и кегль». Я после таких сижу и туплю. Делать что-то надо или нет. Рассказываю, что с этим делать.

Допустим, говорят «можно увеличить тут отступ и кегль» — ну ок, можно увеличить отступ, можно кегль. Увеличиваем отступ, или кегль, или и то, и другое? Есть ли другие решения, что в итоге делаем?

Или вот «файлы можно выкладывать в артифакторий», — еще можно в гит лфс, фтп-сервер, на файловую шару, в S3. Куда нужно? Куда лучше?

Примеры выше — неудачно сформулированные предложения. Такое бывает. Если сформулировать предложения эксплицитно, то станет лучше. Следите за руками:

Непонятно что Отлично
Можно увеличить тут отступ и кегль Чтобы решить проблему, предлагаю увеличить тут отступ до 16 пк, а кегль до title. Заголовок будет держать конструкцию ниже, а лид и заголовок не будут слипаться.
Что думаешь?
Файлы можно выкладывать в артифакторий Файлы бинарные, файлов пока не очень много (100...1000 ГБ), не требуется доступ непосредственно с клиентов. Так?
Давайте тогда выкладывать в артифакторий, это оптимальный вариант.
Файлы можно выкладывать в артифакторий Давай выкладывать файлы в артифакторий.

Ещё пример.

Мне однажды написали буквально следующее «Будут ли замечания из твоего письма оформлять как баги? У меня по письму вопросы есть».

Я опешил, перечитал несколько раз, но все равно остался опешившим. Вот что это такое было? Что от меня хотят? Как я могу ответить про действия неких неустановленных третьих лиц. Тогда все, что я смог — ответил на вопрос «не знаю, будут ли заводить баги». Не было проблемы — появилась проблема. Мне самому сейчас нужно убедиться, что мне эти какие-то вопросы зададут. Если я сейчас не проконтролирую, то фичу сделают не так, как я ожидаю.

Всегда ли нужно что-то предлагать? Нет, не всегда. Но и отсутствие предложения тоже надо сформулировать ясно. Пример ниже.

У нас есть три варианта:

  1. Сделать все своими руками. У нас мало свободных ребят, поэтому по времени — два месяца, по деньгам — K рублей.
  2. Своими силами сделать скелет макета, а для иллюстраций взять подрядчиков. По времени — месяц, по деньгам — N рублей.
  3. Все отдать на аутсорс. По времени — три недели, по деньгам — M рублей.

Как поступим?

И итоге вся схема рабочего общения выглядит примерно так:

См. также

Видео Артёма Горбунова общаться вопросами и предложениям

Все подобные посты — с тегом сделать удобно читателю

Подписаться на блог…

Игры для дизайнеров

Собрал разные дизайнерские игры потренировать насмотренность

Мастхевные

https://bezier.method.ac
Что делать: повторять форму фигуры кривой безье
Зачем: стать гуру вектора, рисовать крутые иконки и векторные иллюстрации
https://cantunsee.space
Что делать: находить мелочи и ошибки в картинках
Зачем: проводить авторский надзор 85 лвл, за секунду находить ошибки недочеты в реализации
Что делать: находить ошибки в инфодизайне
Зачем: натренироваться базовым важным вещам в инфодизайне

Если прошли игры выше

https://betterwebtype.com/triangle/
Что делать: играться с параметрами ширины блока текста, интерлиньяжа и кегля, чтобы собрать идеальный параграф
Зачем: потренировать чувство текстового блока
https://type.method.ac
Что делать: расставлять буквы в строке
Зачем: потренировать чувство букв, потренировать в кернинге, если делаете шрифт (ну да)
https://color.method.ac
Что делать: подбирать цвет по полному совпадению, искать противоположный и гармоничный к заданному
Зачем: потренировать глазомер цвета
https://boolean.method.ac
Что делать: пользуясь булевыми операциями сделать из запчастей иконку
Зачем: потренироваться, чтобы быстрее собирать иконки
https://shape.method.ac
Что делать: исправлять сломанную форму буквы усиками кривых безье
Зачем: потренировать чувство вектора и букв

Знаете ещё какие-нибудь?

Подписаться на блог…

Толщины шрифтов в CSS

Постоянно путаюсь Bold — сколько это в цифрах font-weight, сделал себе шпаргалку.

Вот толщины в названии шрифтов

Название font-weight
Thin / Hair 100
Extra Light 200
Light 300
Regular 400
Medium 500
Semi Bold 600
Bold 700
Extra Bold 800
Black / Heavy / Ultra 900

Это стандартные толщины по умолчанию. Если вдруг в шрифте есть более редкое, например, Book, то его толщину в цифрах тоже можно узнать:

  • Берете файл шрифта
  • Бросаете его в https://fontdrop.info/ (или другой просмотрщик шрифтов)
  • Открываете вкладку Data · OS/2 and Windows Metrics Table и ищете usWeightClass.

Например, как выглядит Fira Sans Book:

Чтобы использовать font-weight важно правильно настроить CSS-маппинг (замаппить название шрифта на толщине).

Вот правильный (code.cdn.mozilla.net/fonts/fira.css):

@font-face{
    font-family: 'Fira Sans';
    src: url('eot/FiraSans-Hair.eot');
    src: local('Fira Sans Hair'),
         url('eot/FiraSans-Hair.eot') format('embedded-opentype'),
         url('woff/FiraSans-Hair.woff') format('woff'),
         url('ttf/FiraSans-Hair.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}
 Нет комментариев    16111   2021  
Подписаться на блог…
Ранее Ctrl + ↓