Избранное

Позднее Ctrl + ↑

Яндекс.Маркет пока ждёшь такси

Яндекс давно придумал такую фишку: пока ждёшь такси, тебе показывают какие-то товары на Яндекс.Маркете, и тебе они нет-нет, да нравятся. Я сам не раз туда залипал и добавлял в корзину всякие клёвые вещицы. А что, ловко придумано: тебе всё равно нечего делать, стоишь тупишь в телефон несколько минут — почему бы тебе чего-нибудь не продать? Удобно, когда у тебя «экосистема», и один акаунт работает и для такси, и для Маркета.

Да вот только за все месяцы или годы, что эта фича существует, я не купил ни одного товара! В корзине у меня там наверное их уже сто. Это поразительно, но эта штука вообще ничего не делает, чтобы я купил. Я просто добавляю клёвое, а потом приезжает такси и я больше никогда об этом не вспоминаю. Когда я жду следующее такси, мне не показывают, что я добавил в прошлый раз; меня просто развлекают новыми товарами, как будто это лента соцсети, а не магазин. И ни приложение Маркета, ни приложение такси не может додуматься прислать мне напоминалку, мол, эй, ты там добавил в корзину чё-то, может, хочешь купить?

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

Листаемые галереи товаров — это плохо

Иногда у вас что-то не влезает в ширину и вы делаете листалку:

Если вы пытаетесь так показать товары, то это неудачный дизайн.

Дело в том, что листать — сложно. Прокрутка — самое приятное и дешёвое действие, для которого у нас есть выделенные жесты и элементы управления на всех устройствах. А для листания приходится целиться в какие-то маленькие стрелочки (Фиттс негодует), да ещё и кликать потом.

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

Крутить в бока в принципе нормально, если ты смотришь с телефона или Мака, но у многих людей мышки с вертикальными колёсами — и в их мире нет нормальной горизонтальной прокрутки.

Бывает, листание делают автоматическим:

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

Кроме того, непонятно, что надо сделать, чтобы оно таки пролисталось. Тут тоже много вариаций: стрелочки для ручного листания могут появляться при наведении либо сами эти полоски могут кликаться (в любом случае снова привет от Фиттса). Всё это — это явные костыли.

Ещё хуже — когда листание работает вертикально:

Тут ко всем бедам добавляется ещё и противоречие с существующей прокруткой.

Если вы хотите показать несколько разных, но равнозначных элементов на странице, используйте прокрутку.

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

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

Прокрутка не должна прыгать из-за изменений за пределами поля зрения

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

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

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

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

Антифриз и незамерзайка

А вот ещё удивительный термин наоборот. Охлаждающая жидкость в автомобиле называется антифризом. А вот незамерзайка — это вообще зимняя жидкость для мытья стёкол.

Активное и пассивное избирательное право

Быть политиком, чиновником, общественным деятелем — большое дело, требующее активного вовлечения. Есть даже слово такое — активист. Но вот право избираться называется «пассивным избирательным правом».

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

Это так потому, что избирать это active voice, а быть избранным — это passive voice. Логика ясная (в отличие от логики, по которой синхронное называется асинхронным), но всё равно каждый раз приходится в голове это переворачивать. Но я считаю, что раз логика тут лингвистическая, то, надо было идти дальше, и по-русски называть это действительным и страдательным избирательным правом! Другой вариант — перейти на математическую терминологию и разделить избирательное право на действительное и мнимое.

Синтаксис и автономность подписи элемента интерфейса

На вчерашнем семинаре интерфейсного курса разбирали элемент настройки окна:

Открывается: 1) влево, 2) вправо, 3) не открывается

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

Чтобы исправить синтаксис, нужно все радиокнопки сделать обстоятельствами, то есть чтобы они отвечали на вопрос «как?»:

Открывается: 1) влево, 2) вправо, 3) никак

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

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

Во втором варианте последняя радиокнопка потеряла автономность. Чтобы понять, что именно «никак», приходится читать общую подпись. А вариант «не открывается» был самодостаточным.

Что же в итоге лучше? Кажется, что удобство важнее формализма, и первый вариант побеждает. Но это ловушка! Нет причин выбирать между плохими вариантами, когда можно найти хороший. Вчера, например, сразу же придумали, что вместо слов можно использовать графику: понятные стрелки в две стороны; крестик между ними.

Как срывать сроки

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

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

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

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

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

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

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

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

Обратимость элемента интерфейса

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

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

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

Другой пример необратимости — обозначение незаполненных обязательных полей красной рамкой после расфокуса. Изначально поле выглядит просто пустым; пользователь заходит в него, а потом выходит, так и не заполнив (или заполняет, но потом стирает то, что ввёл). Система обводит поле красной рамкой, подсказывая, что оставить его пустым нельзя. После этого невозможно вернуть поле в начальное «чистое» состояние. Решением могло бы быть плавное затухание красной рамки, чтобы поле вернулось в начальное состояние через секунду.

Презентуйте простыми и точными словами

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

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

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

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

Дважды двусмысленная навигация на Павелецкой

Иду на днях по переходу в Москве, вижу такое:

Читаю на бегу, сам продолжаю идти прямо. Уже пройдя, думаю: что я сейчас увидел? Во-первых, на красном фоне написано, что вход закрыт, но меня зачем-то всё равно в него ведут стрелкой вперёд. Во-вторых, меня ведут туда ещё и стрелкой вправо. Куда в итоге идти, прямо или направо? И зачем мне вообще туда идти, если вход закрыт, открытый-то где?

Возвращаюсь обратно, чтобы сфоткать пример дебилизма в коллекцию. Замечаю, что сверху под загибом мелко написано, что вход закрыт не всегда, а только с 8 до 9 по будням. Окей, с первым противоречием разобразились, просто дизайн тупой.

Но две стрелки по-прежнему противоречат друг другу. Я это называю итальянской навигацией. В Италии на дорогах я не раз встречал рядом знаки типа «Римини прямо» и «Римини направо» — можно ведь и так и так доехать! Это взрывает мозг.

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

Ранее Ctrl + ↓