Редактор UX Movement Энтони написал о цветовом контрасте и доступности интерфейса по стандартам WCAG

1. Требования WCAG не всегда оптимальны. Алгоритм оценки контраста занижает её для белого текста на ярком фоне (синем или оранжевом), хотя читать его легче чёрного текста.

2. Контраст текста не обязательно тянуть на уровень 7:1. Это полезно, если большая часть вашей аудитории — люди старше 70 лет с потерей зрения 20/80. Для определённого контента достижение уровня 7:1 невозможно вовсе.

3. Так как текст надо читать, его стандарты контрастности выше, чем у других компонентов интерфейса. У текста 4,5:1 против 3:1 у иконок.

4. Если у иконки есть доступная подпись (контраст 4,5:1), контраст самой иконки не важен. Также не важен цвет кнопки, если находящийся на кнопке текст доступен. Требование контрастности не распространяется на неактивные компоненты (например, отключённые кнопки).

5. Дальтоники нормально воспринимают различные уровни цветового контраста. Если для разграничения состояний использовать только контраст, вероятно, эти состояния будут им доступны.

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

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

https://ux.pub/mify-o-dostupnosti-tsvetovogo-kontrasta/

Самое тонкое место в UX

Прочность цепи определяется прочностью самого слабого звена.
Безопасность системы определяется безопасностью самого слабого звена. Как правило, админа.

А где самое тонкое место в UX?
Чаще всего самое тонкое место в UX — место, в котором пользователь соприкасается с человеком, представляющим продукт.
Для b2c продуктов узкое место в UX, как правило, поддержка.
Для b2b продуктов таких мест много: продажник, внедренец, поддерживатель.

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

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

Я решил уйти от МТС в Теле2 с сохранением номера.
На сайте Теле2 заполнил форму перехода, указал данные паспорта, чтобы, как написано на сайте: обработка запроса прошла быстрее в точке выдачи. Отправил запрос. Мне дали два дня, чтобы прийти в точку продаж, а после заказ протухнет.
Через день я пришёл в офис, а он закрыт, хотя время его работы уже давно наступило. А телефон менеджера офиса выключен или вне доступа. Подождал 15 минут и ушёл. Так меня Теле2 "выгнал" первый раз.

Я не сдался и написал сразу же красочное письмо в поддержку: пришёл, закрыто, как я могу вам доверять и что делать?
Мне не ответили в течение суток, как обещано на сайте Теле2. Я написал напоминание — сутки прошли, жду ответ.
Мне ответили и "не пустили" меня в продукт снова. Сапортница сказала: "Очень жаль. Заполните заявление на другой офис."
Другой офис, к слову сказать, в 10 км от меня. А новое заявление — это снова все поля и паспортные данные.

Что я подумал про такой сервис? Ничего хорошего. Заполнять я больше ничего не стал.

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

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

Психологические игры при найме UX-дизайнеров

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

  • Мне надо семью содержать / у меня ипотека / надо лечить много зубов / в Москве дорого снимать квартиру. Поэтому я не могу получать меньше чем Х рублей.
  • Я хочу переквалифицироваться в UX-дизайнера. Долго работал в смежной области и получал 130К. Опыта нет, но к вам перейти очень хочу. В ЗП падать не могу
  • Я хочу чтоб было классно и интересно, потому что сейчас у меня в продуктовой компании Y-банка ничего никуда не доходит, мы рисуем одну страничку по два месяца, а потом её не берут. А хочется динамики и развития. И не падать меньше текущих 200К. По скилам я мидл, но быстро дорасту до лида.
  • Я учился неделю в вышке / британке — на классном дорогом курсе. У меня есть учебный кейс и из опыта больше ничего, но я думаю что я теперь мидл, дайте мне 120К.
  • Мне 20 лет, опыта работы нет совсем, ни в чем не работал, ничего не знаю. Хочу вам предложить, чтобы вы меня несколько месяцев обучали и растили, можно и не платить ЗП.

Все эти доводы довольно странные для профессиональной деловой сферы.

Я чувствую себя мужиком, у которого просит деньги невеста, исходя из своих женских потребностей:
— Мне нужно новое платьишко, потому что у Кристины день рождения, не могу же я в старом пойти?!

Только скилы, опыт, рынок, срочность найма или хотения этого кандидата определяют ЗП.

Очень часто девочки недооценивают себя, а мальчики переоценивают. В среднем на одни и те же скилы девушки называют ЗП на 30% ниже рынка, а парни на 50% выше.

Из 1500 откликов за полгода мы провели 43 собеседования, наняли 5 человек, а 4-ро прошли испытательный.

Вероятно, меня никто не поймёт кроме таких же людей, которые нанимают и развивают команды и процессы.

Кратко про решение

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

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

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

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

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

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

Но что делать с проблемами, которые не укажешь одной только точкой? Например, отсутствие тротуара на протяжении всей улицы, или область с повышенным трафиком пешеходов?

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

Чинить баги по TDD

Один из кейсов, которые я рассмотрю на своём мастер-классе 26 октября (https://tdd.timepad.ru/event/1074439/?utm_source=telegram&utm_medium=messenger&utm_campaign=mypost-bugs) — это исправление багов по TDD.

Вот прилетает к нам задача, скажем «Жму на кнопку — не работает». Обычно мы чиним такие баги весьма тупо — поднимаем фронт и бек, придумываем гипотезу, и начинаем дебажить: вносим исправление и жмём на кнопку. Если заработало — отлично, если нет — просто перебираем дальше гипотезу за гипотезой. Иногда мы перебираем гипотезы настолько беспорядочно, что даже не убираем следы предыдущих попыток.

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

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

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

Люди не идеальны и это нормально ...

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

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

У меня свой багаж тараканов, поэтому я постепенно выработал очень простой подход к их искоренению. Собрал список из вредных привычек и неверных реакций, про которые знаю сам. Затем попросил коллег дополнить (было страшно и интересно). Получившийся список уже три года (!) просматриваю по календарю каждый понедельник. Если осознал проблему — удаляю. Заметил новую придурь — добавляю в список.

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