Канал Ильи Бирмана
13.4K subscribers
5.42K photos
173 videos
21 files
3.49K links
Заметки, советы, находки

Чат для обсуждения тем из канала (офтоп нельзя):
https://t.me/ilyabirman_chat_2

Классический заблокированный чат канала (там творится дичь):
https://t.me/ilyabirman_chat

Реклама, нюдсы и другие темы:
@ilyabirman
Download Telegram
Во втором выпуске подкаста обсуждали шизоидное использование интерфейсных элементов на Ютюбе, как будто ребята ваще не в теме того, зачем они, как их комбинировать. Возможно, кстати, этот дизайн делала нейросеть, все признаки налицо: просто взято чё попало, чтобы внешне было похоже на интерфейс.

1. Вот один из шагов загрузки видео. «Есть ли в вашем видео или его метаданных следующие материалы?» Тут идёт набор выпадаек, из которых, видимо, надо что-то выбрать. Типа вместо ненормативной лексики выбрать нормативную или околонормативную? А вместо контента для взрослых — контент для детей. Других идей у меня нет. Справа написано «Вы дали следующую оценку: Поставить оценку». Кнопка недоступна. Ладно.

2. Если эту дичь прокрутить вниз, там будет чекбокс (!) «Ничего из указанного выше». В смысле?! Выше же выпадайки, а не чекбоксы, вы чё, больные? Мало того, он ещё и сформулирован задом наперёд. Ладно, относимся к этому просто как к тексту, игнорируя бессмысленность оформления. Ставлю галочку!

3. В этот момент все выпадайки вдруг дисейблятся! Что? Это вообще как, почему? Зато кнопка «Поставить оценку» просыпается. Ладно, жму...

4. Всё дисейблится, а на линии сверху вдруг загорается галочка через два шага после этого. Взрыв мозга. О, зато снизу проснулась кнопка «Далее». Жму! Кажется, этот уровень я прошёл, давайте следующий.
Лайкли 3.2

Лайкли — клёвые социокнопки. В версии 3.2 добавилась поддержка соцсети «Икс» — это так переименовался твиттер (<div class="xcom">).

Мы долго думали, что делать, ведь «Икс» — тупейшее название, и все говорят «Твиттер»! Решили просто: мы поддерживаем «обе соцсети». То есть вы можете на свой вкус выбрать, ставить ли себе твиттеровскую птичку или иксовый икс. Можно даже и то, и другое. Работает в любом варианте.

О проекте и зип-архив:
http://ilyabirman.ru/projects/likely/

Гитхаб:
https://github.com/NikolayRys/Likely/releases/tag/v3.2.0

Лайкли ведёт Николай Рысь:
http://linkedin.com/in/nikolay-rys
Доллар в регвыражениях не всегда означает конец строки

Долго боролся сейчас с одним багом, поэтому пишу себе, чтобы не забыть.

Есть регулярное выражение (для примера):
/(some|any)thing$/i


Доллар, уверен я, означает «конец строки». Выражение должно проверять, что строка заканчивается на слово something или anything в любом регистре. Но вот оно иногда срабатывает, даже если строка не заканчивается на него! Я в отчаянии уже проверяю впрямую, что строка заканчивается на g или G, и точно вижу, что она не заканчивается. А выражение срабатывает!

Замечаю, что это происходит, если в конце выражения стоит возврат каретки. Думаю: какого хрена? У меня же написан доллар сразу после g, никаких возвратов каретки там! Модификатора m, который разделяет текст на отдельные строки, нет. Может, он как-то там по умолчанию включился, и надо его, наоборот, отключить?

От безысходности иду читать документацию:
https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php

Никакого антонима модификатору m не нахожу. Читаю про сам m:

m (PCRE_MULTILINE)
By default, PCRE treats the subject string as consisting of a single «line» of characters (even if it actually contains several newlines). The «start of line» metacharacter (^) matches only at the start of the string, while the «end of line» metacharacter ($) matches only at the end of the string, or before a terminating newline (unless D modifier is set).

Что? Что ещё за нахрен D?

D (PCRE_DOLLAR_ENDONLY)
If this modifier is set, a dollar metacharacter in the pattern matches only at the end of the subject string. Without this modifier, a dollar also matches immediately before the final character if it is a newline (but not before any other newlines).

Как же можно было такую дичь придумать? Исправляю регулярное выражение:
/(some|any)thing$/iD


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

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

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

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

Если вы сорвали настоящий дедлайн, надо сначала сказать: «Мы договаривались, что сегодня я покажу то-то и то-то в таком-то объёме, в том числе... (перечислить всё, что вы обещали). К сожалению, я сделал не всё: не успел сделать то-то и то-то». Все извинения, уточнения и, главное, предложения должны звучать уже после этого. Доверие начинается с того, что клиент хотя бы видит, что вы понимаете, что создали проблему.

Сравните с «почти готово»: выглядит, как будто вы то ли не понимаете, что подвели, то ли надеетесь, что клиент этого не заметит. Клиенту нужно не просто искать решение, а ещё и, возможно, другого исполнителя.

Оправдания не имеют значения, и по идее надо сразу переходить к предложениям: что теперь делать-то? Но все мы живые люди, и иногда очень хочется объяснить, почему что-то не получилось. Если вы просто начнёте оправдываться, клиент будет думать, что решать созданную вами проблему вы не собираетесь. Поэтому нужно хотя бы сказать: «Я хочу объяснить, почему не получилось, и потом, если позволите, расскажу, как предлагаю исправить ситуацию».

Каким бы ни было ваше предложение, нужно убедиться, что клиенту оно подходит. «К завтрашнему дню уже точно будет» — это предложение, но оно звучит, как будто вы сами назначили себе новый дедлайн, не спросив мнение клиента. Мало кому такое понравится. Более нормальный вариант: «Чтобы доделать оставшееся, я бы хотел договориться взять ещё два дня». Тут клиент может либо согласиться, либо возразить, и тогда вы сможете думать дальше.

Почему «ещё два дня», если завтра уже точно будет? Да чтобы завтра опять не пришлось этот разговор проходить. Так-то никто не расстроится, если вы завтра принесёте.
1. Ох уж этот современный интернет. Скинули ссылку, открываю. Как видите, на десктопе. Видимо, автор считает, что 1024 — это не десктоп?

2. Уменьшаю масштаб на один шаг ⌘-минуса (обычно помогает на таких сайтах). О, слова про «бест юзер-экспириенс». Да куда уже бесте́е! ⌘W
В прошлом году сделали с Ромой Мочаловым обновленьице схемы челябинских трамваев, и она уже висит в трамваях и на остановках повсюду:
https://ilyabirman.ru/chelyabinsk/trams/2023/

В галерее — эволюция за четыре года. Клёво, что пучки худеют: дублирование маршрутов постепенно устраняется. Сами трамваи тоже всё приятнее, а пути — всё обособлённее.
Мало кто помнит, но на первом Айфоне домашний экран ещё не листался, и иконки в нём нельзя было расставить по-своему. Иконка «Айтюнса» была стрелкой вниз и указывала на иконку «Айпода» — приложения с музыкой. Типа там скачиваются песенки и попадают в Айпод.
Сегодня ещё поразгребал фрагменты интерфейсного курса, дошёл до 75-го:
https://ilyabirman.ru/meanwhile/all/ui-course-frags-1-75/

От № 51 до № 75 — свежедобавленное, посмотрите.

Если всё смотреть лень, особенно рекомендую № 54 про маковскую скриншотилку, № 55 про соответствие между логикой и внешним видом, № 62 про клиента, который хочет фигню, № 66 про исследование Эпла и № 71, где я запрещаю выравнивание по центру.

Ещё раздел «Бизнесовое и продуктовое» пополнился полезными видосами.
Прикол, в Ярославле стырили нашу трамвайную экипировку. При этом передний квартет наклеили криво, «вынос» сделали какой-то свой по мотивам оригинала, а наклейку «Открыть двери» зачем-то испортили, выровняв текст по правому краю. Интересно, как к ним макеты просочились. Не надо так.
Audio
Думаем дальше № 4 — «Квота на пять истерик в год» c Сергеем Стеблиной

Обсуждаем с Серёжей Стеблиной секреты Иллюстратора, мудрости из его поста на день рождения и кто такой арт-директор.

0:00 — Фолоу-ап: Серёжа дорисовал схему метро Амстердама → https://steblina.myportfolio.com/amsterdam-metro-map
7:28 — Мощный секрет рисования пучков (попытайтесь понять на слух)
13:20 — Как не бояться экспериментировать и «ломать» хрупкие макеты
16:22 — Фолоу-ап: Адоби и неуважение к пользователю
24:12 — Скилл распознавать мудаков → https://t.me/ne_znal_ai/1695
35:19 — Срочность отпадает естественным путём
37:31 — У Ильи ощущение шаббата от 1 января
46:50 — Если чужой дизайн — говно
54:44 — Суперспособность Артёма Горбунова
57:45 — Кто такой арт-директор

Все выпуски:
https://thinkon.mave.digital

РСС, чтобы подписаться в подкастном приложении:
https://cloud.mave.digital/51724
Мигающие гирлянды

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

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