Я в интернете

РСС    Джейсон-фид

Есть автоматические трансляции в Тумблер и Же-же. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

Блог

Стабильное меню на новом сайте

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

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

Идея решения простая: каждый пункт меню должен всегда занимать столько места, сколько занимал бы, будь он жирным, даже когда на самом деле он не жирный. Но как это сделать?

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

Можно положить внутрь каждого пункта невидимую жирную копию текста, распорку. Это лишний элемент в разметке, тоже не идеально, но смириться можно. Я не нашёл решения совсем без изменения разметки, но зато нашёл, как обойтись атрибутом, без лишних элементов: слово, жирность которого нужно мерить, ставится в атрибут, а потом в ЦССе делается псевдоэлемент, контент которого берётся из этого атрибута. Так уже неплохо.

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

Соответственно надо как-то так сверстать, чтобы подчёркнутая часть осталась по ширине видимого текста, а вокруг неё уже была обёртка по ширине жирного текста, которая бы влияла только на лейаут меню. При этом ради Фиттса область нажатия пункта меню у меня дотянута до середины отступа с соседним пунктом. То есть сама ссылка на самом деле больше и чем её обычный текст, и чем её жирный текст. И да, все эти отступы ещё и адаптивятся по-всякому.

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

В общем, теперь всё распутал: атрибут, используемый ЦССом для измерения жирного текста, стоит у обёртки, а сам текст пункта меню стоит у элемента внутри. Любой пункт можно делать и жирным, и обычным, и подчёркивание при наведении всегда остаётся ровно под буквами. Кликать можно в отступ между пунктами, и ничего никуда не прыгает при переключении. Жирность как бы переезжает с пункта на пункт при переключении, но каждый из них остаётся на своём месте. И расстояние между пунктами растягивается так, чтобы всегда было видно, что есть ещё пункты за краем. Красота!

Как Артём Горбунов показал мне справочник Атабекова

Когда-то в начале моей работы в бюро Артём Горбунов рассказал мне о справочнике Атабекова:

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

В каждой статье — гора знаний, многие классно иллюстрированы примерами или объяснениями. Посмотрите, какая красота:

Особенно мне нравятся вот такой фарш, как справа, когда на иллюстрации тридцать (!) картинок, а в тексте они коротко прокомментированы:

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

Словарь-справочник проектировщика пользовательского интерфейса

Представляю новый раздел на моём сайте — Словарь-справочник проектировщика пользовательского интерфейса. Мы запускаем его небольшой редакцией, состоящей из Александры Озкан, Настасьи Тулаевой и меня в роли главреда.

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

Это не просто перечень определений — их и так можно найти в интернете. К каждому термину в справочнике мы предъявляли простое требование: от его наличия должна быть польза. В редких случаях определение полезно само по себе, но чаще всего мы задавали вопрос к каждому термину так: что проектировщику нужно знать об этом? И старались дать качественный ответ.

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

На интерфейсном курсе: обсуждаем компоновку окна

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

Это фрагмент № 207 онлайн-курса «Пользовательский интерфейс и представление информации». Записано на курсе 13 декабря 2024 года.

Идёт запись на ноябрьский курс, сейчас −20%. В рассрочку это 6320 ₽ / мес.

Почитать о курсе
Программа, отзывы, запись

Это лучший курс об интерфейсе. И про адаптивность там тоже есть лекция большая.

9-я версия моего сайта

 5 мин

Добро пожаловать на мой новый сайт:

Я начал думать над новым дизайном много лет назад, но в конце лета наконец сел доделывать, и вот — открываю. Работы ещё много, но я решил, что лучше докручивать по живому, чем тянуть много месяцев. Там внутри большой задел на будущее развитие.

Зацените адаптив от 320 до 3200 и хитрую навигацию по проектам.

Адаптив

Вот как ведёт себя адаптив на сегодняшний день (кое-что ещё буду допиливать постепенно):

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

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

Отдельно зацените меню:

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

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

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

Оказывается, оно вмещается даже в часы:

Тоже всё прокручивается так же. Я сам удивился, это мне в комментариях показали. Прикольно! Правда, там не всё работает, и теперь появился соблазн докрутить. Но часы рендерят так, как если бы ширина была 320, так что никаких новых приёмов там не применяется.

Навигация

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

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

Или вот взять схему челябинских трамваев:

Это, конечно, схема, и хочется её показать в контексте других схем. Но она ведь и одна из работ, что я делал для Челябинска, и хочется показать её среди других работ для Челябинска. И вот теперь я так могу сделать.

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

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

Ну и в концах страниц проектов теперь тоже есть ссылки на связанные проекты:

Расскажите, какие видите косяки в каких случаях.

Две формулы Эйлера

Можно встретить утверждение, что формула Эйлера — самая красивая формула в математике. Это вот эта:

eiπ = −1

Формула прекрасная, спору нет. Но авторы утверждения о её предельной красоте иногда приводят её в таком виде:

eiπ + 1 = 0

А тут уже никакой красоты. Тут и лишнее действие, и лишняя константа. Как будто кому-то показалось, что с минусом некрасиво, и он решил «поправить», прибавив единицу. Очень плохой вкус и полное игнорирование смысла ради формы.

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

 5 мин

Сегодня — как выглядят железные дороги в Израиле.

Типичная станция:

Другая:

На табло, почему-то в графе Train, отмечены поезда, останавливающиеся в аэропорту:

Если на входе турникеты человеческие, то на выходе — страшные крутилки-решётки, враг не пройдёт:

Это странная станция «Тель-Авив Савидор Центральная». Из всех станций Тель-Авива эта, кажется, последняя годится на роль центральной:

То ли дело Хашалом:

На станции аэропорта Бен-Гурион изображён не только логотип железной дороги, но и логотип самого аэропорта, который ещё и похож на Магендавид:

При письме справа налево скорость изображается наклоном влево.

На скаймейках логотип нанесён перфорацией:

Еврейский «майнд зе геп»:

От англоговорящих читаталей скрывают, что Нахария — Западная:

Поезд до станции Иерусалим Навон останавливается «в самолётике», но чтобы понять, что речь о нём, надо сверить номер поезда:

Табло с направлением:

Красный двухэтажный поезд. Если бы не подпись станции Реховот, можно было бы подумать, что это где-то в Германии:

Ещё поезд:

Внутри, на втором этаже:

Очень приятно, только всегда дубак из-за кондиционеров.

Бывают и такие вагоны:

Следующая станция — Беэр-Шева Центральная:

Розетки на потолке:

С одной стороны, всё время переживаешь, чтобы зарядник не вывалился. С другой — труднее забыть.

См. также: Таблички в туалете израильского поезда.

Фотографии из поездок в 2017, 2018 и 2022 годах. Слетайте в Израиль!

Просим с пониманием отнестись, что

Еду сейчас в трамвае, а там объявляют: «Просим с пониманием отнестись, что...» Отнестись, что! Как у людей такое получается произнести даже, вот вопрос.

Думаем дальше № 68 — «Чешуя какая-то» с Евгением Черновым

С Евгением Черновым обсуждаем теорию поля, также известную как векторный анализ, и обнаруживаем, что формула Остроградского-Гаусса — это теорема Ньютона-Лейбница на максималках.

Все выпуски подкаста:
Эпл · Ютюб · Я.Музыка · Спотифай · Мейв · РСС для подкастного приложения

0:00 Вспоминаем смысл производной
10:41 Производная как скорость изменения
13:41 Разбираем на синусе и косинусе
18:18 Как взять «производную» не на линии, а на гладкой поверхности
33:31 Что такое вектор и что такое поле
40:53 Градиент
43:34 Дивергенция
50:58 Дивергенция градиента и при чём тут физика
54:46 Ротор
58:24 Что дают интегралы в полях
1:07:37 Формула Остроградского-Гаусса
1:13:12 Теорема Стокса и общий принцип
1:16:50 Связь лестницы производных в точке и поведения функции на всей области определения

Дизайн Клод-дизайна

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

Ранее Ctrl + ↓