Как мы создали UX-лабораторию для своих продуктов

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Привет, меня зовут Артем. Всю жизнь я хотел делать звук, но спустя 15 лет работы с ним, поставил жирную точку в этом вопросе и положил на полку саунд-дизайн рядом с дипломом инженера-конструктора. Теперь стою на страже пользовательского опыта игр Wargaming, помогая UX-рисечерам с технической стороны. Эта статья о том, как из веток и палок энтузиазма и умения искать информацию в сети строить целые лаборатории.

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

Зачастую разработка больших продуктов достигает такого масштаба, что внесение малейшего изменения в систему ввода вывода информации влечет за собой создание неочевидных барьеров со стороны пользователя. Если с технической стороны QA подстрахует, то что делать с вопросами восприятия, где и как почитать лог)

В нашем отделе пользовательского опыта мы как раз и занимаемся тем, что залазим в голову нашему потребителю и его глазами видим все те проблемы, с которыми они сталкиваются. Это касается самой популярной игры в Украине и не только. К сожалению, на рынке нет готовых решений, нельзя просто взять и заимпортировать библиотеку введя в консоли pip install uxresearch или зайти в ближайший магазин железа и купить набор для проведения тестов, приходится колхозить проектировать все с нуля. Разумеется, мы не стали покупать набор ардуинщика и изобретать веб-камеру с нуля, но что-то пришлось делать и своими руками, причем из бытовых вещей.

Итак, вот одна из типичных наших задач: протестировать новые элементы интерфейса в раннем прототипе клиента. Дано: билд под iOS, ... собственно всё. Нужно вчера)

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

Решение 1: взглянуть на планшет в руках респондента его глазами

Тут все просто, на рынке много готовых решений: очки со встроенной камерой, экшн камера с креплением на голову, да и просто, можно взять обычную вебку, снять с лицевого щитка из ближайшего магазина хоз. товаров оголовье, gluegun в помощь и готово! Но насколько это будет естественно с точки зрения эргономики? Вы часто пользуетесь планшетом с экшн камерой на голове? Думаю, что нет. На ум пришла купольная PTZ IP камера с оптическим зумом которая используется для охраны периметра зданий. Размещаем камеру на потолке, за спиной респондента и готово. Пользователь сидит, а вы при помощи джойстика увеличиваете и смотрите из-за плеча сколько угодно. Я давно пользуюсь AXIS P5534, уже на смену давно пришли более быстрые этой же серии, но для таких задач она справляется неплохо. Недавно стали переходить на DS-2DE4220 от Hikvision. По своему функционалу они даже лучше AXIS, но по оптике есть вопросы. Кстати, именно IP-камера развязывает вам руки с интерфейсом вывода, т.к. на выходе у вас RTSP поток, очень удобно маршрутизировать, обрабатывать и администрировать. Плюс, могучий ffmpeg решает всё! Нужно пробросить трансляцию коллегам внутри сети — нет проблем, набросал на коленке ffplay rtsp://[name]:[pass]@[ip]/Streaming/Channels/1

Запустил и коллеги уже в контексте.

Кстати, с локальными устройствами я тоже общаюсь через ffmpeg, запустите в консоли ffmpeg -list_devices true -f dshow -i dummy

И вы увидите список устройств, которыми можно поживиться, например, чтобы быстро записать видео фрагмент всегда под рукой: ffmpeg -f dshow -s 1280x720 -r 30 -vcodec mjpeg -i video="Integrated Camera" output.mp4

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

Решение 2: получать информацию о ложных касаниях по экрану

Тут есть несколько вариантов, но в условиях невозможности внесения изменений в билд прототипа и сроков в стиле «вчера» остаётся вариант с активацией на устройстве DEV-режима и активацией подсвечивания касаний на экране. (Кстати, для трекинга на PC за полтора часа пришлось собрать скрип на AUTOIT(!) пишем $UserDll = DllOpen("user32.dll") и погнали. Вот пример github.com/...​blob/master/keylogger.au3, который сильно упрощает задачу). Далее возникает необходимость снимать экран, т.к. камера не покажет, а визуализация нажатий настолько незаметная и находится под пальцами, что её и самому респонденту не видно. Мы решили эту проблему бытовой AverMedia Live Gamer HD — C985 из ближайшего магазина, и переходником на HDMI, но столкнулись с проблемой. При попытке захвата на экране увидели магические буквы HDCP. Несколько часов запросов в GOOGLE навели на идею использовать HDMI-сплитер который не умеет работать с компонентом, отвечающим за протокол аутентификации. Если вы откроете любой интернет-магазин с HDMI сплитерами, то обратите внимание на то, что они все делятся на две ценовые категории, с декодированием и без него. Самый дешевый вариант показал, что HDCP не поддерживается и при помощи всё того же ffmpeg мы стали получать четкую картинку с визуализацией нажатий. Вот схема:

Для Android в ход пошёл Chromecast — вообще не нужно проводов, но возникает проблема с длительностью зарядки самого устройства. Благо, в запасе всегда хватает трёхамперной зарядки).

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

Идея:

Реализация:

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

Решение 3: разместить респондентов так, чтобы собирать наборы данных не искажая опыт взаимодействия

Тут пришлось опять осваивать очередную специальность. Начали с подбора подходящего помещения из расчета 1 чел. на 5 кв.м. Да, это были до COVIDные времена и на тот момент GOOGLE нам посоветовал именно так. Немного поразмыслив над вопросами эргономики, нашли подходящее сочетание и заняли подходящий кабинет в офисе.

Возникла следующая проблема: как модерировать и как контролировать. На помощь приходит сервис alchemer.com благодаря которому можно провести не только анкетирование, но и ставить задачи для респондентов, а также контролировать процесс выполнения заданий. Для контроля поставили дополнительные web-камеры, вместо ffmpeg стали использовать OBS. Он собирает и комбинирует потоки с разных интерфейсов и делает нам один RTMP поток с одного тестированного места.

Следующая, уже не проблема, а глобальная задача — маршрутизация этих потоков (с учетом IP-камер). Тут на помощь приходит wowza media server, которая имеет API и легко разворачивается на виртуалке.

Теперь мы можем ставить задачи, видеть и записывать, но пока смотрим всё теми же ссылками через ffmpeg.

Решение 4: Собственный стриминговый сервис

Тут все просто, архитектурное решение практически из коробки, т.к. все потоки в рамках одного вилана и дальше интранета не доступны, то тут рассказывать особенно нечего. В SQL-базе храним все необходимые id устройств, id пользователей, ключи стримов и другую сопутствующую информацию необходимую для формирования запросов в Wowza API на бекенде. Развернули хост для каждого инстанса (да-да, у нас их несколько) и, собственно, всё... ну ещё локальный клиент для управления OBS пришлось писать. Если нужно быстро — опять AUTOIT вам в руки и PSEXEC как грязный хак для удаленного управления :)

С таким сетапом можно тестировать практически всё, от web-сайтов до игр, на любых платформах (ну просто вместо планшета подключаем PlayStation, например)... ну если бы не COVID-19. Хотя и эту проблему мы решили и использованием технологии parsec.

P.S. Наверняка вы слышали о таких технологиях как биометрика, ну так вот, этого зверя мы тоже приручили, но это уже другая история 😉

👍НравитсяПонравилось1
В избранноеВ избранном1
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

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

А теперь то, что вы никогда не примените: поведенческая психология. И это хорошо. Потому что игромания это болезнь, столь же тяжёлая как алокоголизм. И уж точно не я буду вам рассказывать, как формировать устойчивые формы зависимости.
_______________
Я в своё время сознательно бросил участие в разработке игр, после того как провёл исследования влияния эффективных игровых схем на игроков в реальной жизни. И сделал две «проверки боем» применения тех же схем в проектах игр реального времени и реальной жизни. Увы, я не имел морального права это делать, без осознания что случится в случае выигрыша. Но без сомнения сделаю снова, пусть и более осознанно подходя к рискам, но риски остаются, и они дорогие. Однако точно никогда не полезу в игровую сферу — там риск проигрыша IRL практически 100%, и КПД по деньгам около 0.1%. Грубо говоря, на 1$ грязного дохода убивается рабочего времени на $1000 даже для бедных стран (этот показатель я на России тестил без учёта Москвы). И это на самых эффективных схемах микротранзакций, и не принимая в учёт гемблинг ни в какой форме. В менее эффективных вплоть до ровно 0%.

Иначе говоря, если бы игра была платной, но не доильной, её КПД вырос бы в 1000 раз. Что явно оправдывает расходы на рекламу. Однако текущий рынок имеет перекос в сторону бесплатных игр. Что есть чистая психология — прежде всего психология самого рынка, классическая ошибка «миллион леммингов не могут ошибаться».

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

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

Собственно говоря, ниши рынка прикрыты даже не воротами и не порогами входа. А лёгкой ширмой, с одним единственным вопросом: А что же такое есть игра — что/кого она имеет право отнять у реального мира? Правильного ответа здесь нет, любой ответ открывает нишу. Каждый раз разную. На одном полюсе этого расклада лежит война — настоящая игра реального мира, и есть люди которые в это в реале играют. На деньги и власть, на всё что имеют. На втором — психотропные вещества, позволяющие мозгу играть самому с собой, в том числе в достаточно безопасные варианты при надёжном контроле. IT лежит где-то между ними, но вот РАСХОДЫ времени (читай лучших лет жизни) — самые высокие.

Можно ли это изменить? Формально да. Как и мир во всём мире можно построить. Но правда в том, что люди всегда будут играть, запретить это невозможно. И что ещё хуже, люди будут играть в опасные игры. Если их избыточное время не будет сжигаться. Так что игры, и компьютерные в частности, сами по себе ни добром ни злом не являются. Злом является политика низкого образования — не позволяющая играть в игры IRL, и потому делающая время львиной доли населения планеты избыточным, которое нужно уничтожать. Даже ценой бедности.

А корень добра и зла здесь прост: КОНФЛИКТ. В играх конфликт разрешён. И всегда был. А вот в реальном мире конфликт запрещён по дефолту. И львиная доля институциональных структур конфликт попросту запрещает — через формирование невозможных для исполнения правил. А в играх правила есть для всех, и простые, и сложные, и чрезвычайно сложные, и невыполнимые. Но нет ПОРОГА ВХОДА. Я бы даже сказал, что порог отрицательный, игры существенно проще реального мира.
_______________________
Настоящие драйверы игр, как и реального поведения — лежат за пределами показателя зоны комфорта. Так какой же смысл в UX-лаборатории, если вы не готовы зарезать священных коров:
— убийство времени как способ монетизации;
— убийство способности к обучению как способ уйти в зону комфорта;
— убийство способности решать долговременные проблемы как способ создания игровой зависимости;
— [главную корову я вам не покажу, надеюсь вы её и дальше будете недооценивать, убивая раз за разом].

Подписаться на комментарии