Я в интернете

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

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

Блог

Позднее Ctrl + ↑

Замкнутость интерфейса

 4 мин

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

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

Самое интересное и сложное — это то, что переход должен полностью определяться состоянием и событием. Он не может зависеть от истории предыдущих состояний (если только это не буквально переход по истории состояний типа «Назад» или «Анду»). Если переход из некоторого состояния S при событии E зависит от того, попали мы в S из Q или R, то это значит, что нет никакого состояния S, а есть состояния S1 (S после Q) и S2 (S после R), и важно это осознать. Может показаться, что это какая-то заумь и вообще, какая разница. Но если не обращать внимания на это, то в интерфейсе возникают неявные состояния, в которых вид и переходы не определены. Дизайнер-то думает, что рассмотрел состояние S, да вот только это мифическое состояние, а настоящие состояния S1 и S2 он не рассмотрел.

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

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

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

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

О замкнутости следует думать как о математическом качестве. Возьмём такую теорему: «Число 60 делится на все числа». Это легко проверить: на 1 делится, на 2 делится, на 3 делится, на 4 делится. Мне продолжать? Ну на 5 делится, на 6 делится, сколько ещё примеров надо? Какое число ни возьми — на всё делится: 10, 15, 20... Так ведь? Но нет, это ничего не доказывает. Чтобы доказать теорему, нужно искать не удачные примеры в большом количестве, а саму фундаментальную причину, по которой она неизбежно верна. В данном случае такой причины нет.

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

Список как способ организации интерфейса

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

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

Картинка с сайта Эпла

На этих примерах с Айфона друг за другом идут тумблеры, элементы навигации, кнопки, заголовки и просто блоки текста.

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

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

Картинка с сайта Эпла

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

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

Студенческая работа

Подпишете, что получили, — вот тогда и получите

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

Очередной пример — на выборах. Сначала тебя заставляют расписаться в журнале, что ты получил бюллетень, а потом уже, так и быть, бюллетень выдают. Я разумеется, говорю: «Вы мне выдайте сперва, я тогда и распишусь». Членка избирательной комиссии не понимает, меня, говорит: «Я вам не имеют права выдавать, пока вы не распишетесь». Я объясняю, что не могу расписаться, ведь там я расписываюсь в графе, что получил, а я-то не получил. Это же документ всё-таки. Она говорит: «Молодой человек, зачем вы устраиваете скандал? Вы видите, все нормальные люди расписываются, и потом получают?»

Это я хочу отдельно прокомментировать. Когда людям нужно от вас чего-то добиться, они часто прибегают к манипуляциям: пытаются создать чувство вины или такую картину, что выполнение их требований делает вас хорошим в глазах общества. Люди не любят чувство вины и хотят быть хорошими, поэтому легко ведутся на это. В данном случае эта женщина пыталась использовать слово «скандал», чтобы я почувствовал, что веду себя неприемлемым образом, ведь скандал — это плохо; а вот другие, «нормальные» люди — они хорошие, будь как они.

Это не какая-то хитрость с её стороны. Скорее всего, она просто так всю жизнь добивается своего, и внуков своих такими же приёмами воспитывает, не приходя в сознание. Такие вещи нужно спокойно пресекать: «Что вы, никакого скандала нет, и другие люди тут ни при чём. Просто вы просите меня расписаться в том, чего не было, я так не могу, получается как будто я вру».

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

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

Ну и есть смысл всё-таки смотреть, что написано в графе, в которую вы ставите подпись — мало ли.

Остатки Венеции

 4 мин

Вот вам ещё пачка фотографий из Венеции.

Сначала дневной:

1
2
3
4
5
6
7
8
9
10

Потом ночной:

11
12
13
14
15

Ну и ещё пара наблюдений осталась. Вёрстка меню:

Шрифт на автобусе:

Фотографии из поездки в октябре 2015 года. Слетайте в Венецию!

Ещё Венеция:

Ватрушка и пирожное

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

И ладно бы, если бы они это для внутреннего учёта так придумали — типа, короче чем «кусок торта». Но они настаивают на этой шизе каждый раз. То есть ты такой: «будьте добры вот этот кусок торта» (и прям указываешь пальцем). А они: «вы имеете в виду пирожное»?

Нет, я имеют в виду кусок торта.

Считаю, куски пиццы им надо бутербродами называть.

Разбор психотерапевтической сессии и другие выпуски Каноджии

В «Что послушать» я пару раз давал ссылки на канал психотерапевта Алока Каноджии — я в итоге подсел на подкаст и слушаю выборочно.

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

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

Ещё из недавнего понравилось «Самые красные флаги, которые я видел как терапевт».

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

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

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

Что делать в Баку?

Пришло время для традиционного вопроса.

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

Что почитать на выходных — 194

Вот:

  1. Backseat Software. Как софт превратился из инструмента в бесилово, которому всё время чё-то надо от пользователя.
  2. Экспертиза в активном поиске. Михаил Руденко про подмену экспертизы дурацкими исследованиями.
  3. Сервис стал отправлять в 2,5 раза меньше пушей и утроил конверсию. Занудная, но полезная статья про то, что иногда если меньше мучить пользователя, то не только совесть станет чище, но и цифры получатся лучше!
  4. You can just choose how many bugs you want now. Хорошая статья про программирование с нейросетями. Понравилась идея «эпициклов», хочется взять этот термин на вооружение.
  5. Output isn’t design. Почему умение нейросетей рисовать макеты не отменяет необходимости самому рисовать макеты.
  6. Как Школа дизайнеров Бюро Горбунова сделала меня дисциплинированным, честным и отвественным
  7. Luck and the Entrepreneur: The four kinds of luck. Пример с открывателем пенициллина Александром Флемингом — крутейший.

Вывески и таблички Венеции

 5 мин

На днях я перенёс из раздела «Мир» рассказы про Венецию и Верону из поездок в 2015 году — заодно перевыгрузил фотографии в более высоком разрешении.

Оказалось, что из Венеции много всего ещё хочется показать. Например вот, разные вывески и таблички.

1

Дневная версия:

2
3

Номерок:

4

Крутой эффект утоньшения букв к низу:

5

Ещё:

6
7
8

Фото-блиц:

9

Спагеттерия-пиццерия:

10

Государственные дела. Карабинеры:

11

Милитаристы:

12

Прикольный логотип:

13

Выезд машин:

14

Запрет:

15

Удивительный выбор расположения подчёркивания:

16

Куча всего

17

И ещё одна:

18

Жёлтую табличку хочу себе.

Фотографии из поездки в октябре 2015 года. Слетайте в Венецию!

Ещё Венеция:

Ранее Ctrl + ↓