Я в интернете

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

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

Красивая и бестолковая навигация

Гулял по нижегородскому парку «Швейцария». Там приятные элементы навигации:

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

Много где научились верстать красивые знаки, выбирать материалы и освещение. Само наличие таких элементов создаёт приятное ощущение благоустроенности места. Но всё-таки навигация это не только декор.

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

Вайбкодинг и качество

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

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

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

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

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

Оверкаст и лимит выпусков

В начале недавнего выпуска АТП Марко Армент рассказывал про фичу Episodes limit в Оверкасте (начало темы где-то в 7:50).

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

Так вот, Марко рассказывал о проблеме. Что, если человек вручную просит скачать какой-то выпуск, а у него уже три и так скачано? Не удалять же его сразу же для поддержания порядка! А как тогда быть? Марко ввёл в базе данных специальный скрытый флаг «выпуск скачан вручную», чтобы такие выпуски не учитывались в лимите.

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

В общем, Марко рассказывает дальше. Решение со скрытым флагом худо-бедно работает. Но если пользователь нет-нет, да скачивает выпуски вручную, у него копится расхождение между настроенным и фактическим количеством хранимых выпусков. Постепенно он, разумеется, забывает, что что-то скачивал вручную. Но он видит, что лимит не работает: в каких-то подкастах лежит пять, в каких-то семь выпусков без видимых причин. И он пишет Марко багрепорт или жалобу в Апсторе!

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

Марко решение понравилось, а мне нет. Оно конечно снимает проблемы с Марко, но не с пользователя. Теперь ведь получается, что программа не выполняет прямую просьбу пользователя скачать подкаст, причём делает это, как говорят юристы, «по формальным основаниям». Оверкаст, чё прикопался, видишь же, я прошу скачать этот выпуск? Просто скачай! Соблюдай принцип «Дай нажать!»

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

Я бы предложил в таком случае выводить компактное немодальное сообщение: “Episode limit for %podcast% raised to 4”. Так мы и просьбу пользователя уважим, и никаких скрытых статусов вводить не станем. Ну и при обновлении, соответственно, поднять лимиты тем подкастам, которые фактически уже больше набрали вследствие ручной скачки.

Весь спорт — после обеда

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

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


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

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

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

Кстати, плавать я утром никогда не пробовал. Чисто организационно у меня чаще всего получается днём. Но совершенно точно если плавать вечером после девяти, то потом спишь как младенец.

Терминалы Сбера красиво тормозят

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

Кассир:
— Можете оплачивать!

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

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

В общем, так делать нельзя. Интерфейс не должен тормозить ради красоты.

На интерфейсном курсе: мегаразбор приложения для съёмки и хранения документов

Большой разбор интерфейса приложения для съёмки и хранения документов. Самая важная мысль тут в том, что мы можем увеличить функциональность нашего приложения, уменьшив число экранов. Вместо того, чтобы рисовать помногу экранов на каждый из трёх сценариев, которые пришли нам в голову, можно покрыть любую комбинацию сценариев малым числом экранов, просто сняв на них ненужные ограничения. Целых 18 минут:

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

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

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

Это лучший курс об интерфейсе.

Голос говорит нажать двойку

Это поток сознания.

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

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

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

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

Но всё же спросите у меня что-нибудь про жизнь. Хочется проверить, насколько я вообще что-то ценное могу сказать в таком формате.

Что послушать — 90

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

Вот что я слушал в последнее время, что мне понравилось:

  1. David Deutsch: AGI, the origins of quantum computing, and the future of humanity. Дойч рассказывает про то, каким будет признак того, что появление AGI возможно; почему идея жизни в симуляции упускает самое главное чудо физики, заключающееся, наоборот, в том что в жизни возможна симуляция; и о том, как важно веселиться.
  2. Генерация случайных чисел. Невероятно (и неожиданно) интересный выпуск подкаста «Подлодка». Кто бы мог подумать, насколько сложно генерировать случайные числа!
  3. Саша и Идрак и невероятное краудворк шоу. Интересно, когда Долгополов, обращаясь к зрительнице, спрашивает: «Вы пилот?», у него мозги скрипят или он не замечает всех слоёв иронии?
  4. Как звучит настоящее техно? Артём «Лидваль» слушает треки лейбла Renegade Methods и комментирует.
  5. Илья Синельников. Владелец проекта — команда. Интервью Синельникова «Кто студенту», где он рассказывает, в том числе, как преподаватели совещаются при выставлении оценок в Школе бюро.

Помогает ли обращение к клиентам по имени?

Звоню тут в одну компанию, задаю свой вопрос, а девушка вместо ответа такая:

— Подскажите, как могу к вам обращаться?

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

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

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

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

Так вот вопрос. А как это вообще померить?

См. также:

Проектирование дизайна как создание объяснения

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

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

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

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

Я:

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

У меня всю жизнь так было, я терпеть не мог прототипы, потому что я с ними как слепой. Как мне увидеть и осмыслить саму систему, а не отдельные её случайные проявления, до которых я докликал? За прототипом очень легко спрятать, что у вас ничего не продумано.

После прочтения Дойча я понимаю, почему так: прототип — не объяснение. Что толку физику от результатов опыта, если у него нет объяснительной теории, которую эти опыты подтверждают или опровергают? Это же просто рандомные факты, вызывающие лишь недоумение. Чтобы понимать, почему они такие, мне нужно открыть, то есть придумать закон, который бы их объяснил.

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

Это всё снова показывает, насколько качественное проектирование близко к придумываю законов физики.

Ранее Ctrl + ↓