Привет, Хабр! Представь что ты Usability-специалист, разрабатываешь UX для мобильного приложения с 10 000+ активными пользователями в день в час. Тебе необходимо постоянно тестировать его на большом количестве респондентов. Желательно без встраивания скриптов в исходный код приложения (какая служба безопасности тебе его выдаст?).
К чему это все? Дело в том, что Oprosso вместе с нашей командой Phystech.Genesis с 16 по 18 апреля провели онлайн-хакатон Hack.Genesis_online_, посвященный поиску подходов к решению задачи UX-тестирования мобильных приложений.
Если ты не знал, то Oprosso создает продукты, которые помогают управлять клиентским опытом и проводить сложные исследования в онлайне, чтобы лучше понимать поведение людей в цифровых каналах, изучать их отношение к брендам, продуктам, сервисам. Поэтому задача для них особенно актуальна.
На хакатон мы получили 305 заявок из 13 городов и 4 стран! После долгих обсуждений и подсчетов баллов было отобрано 12 лучших команд (52 человека) для решения задачи. К нам пришли специалисты из разных сфер: мобильные разработчики, аналитики, дизайнеры, проектные менеджеры. И всем было интересно пройти этот челлендж!
В чем состояла задача?
Мы с Oprosso предложили командам создать веб-сервис для удаленного немодерируемого UX-тестирования мобильных приложений. Можно было выбрать одну из платформ: iOS и/или Android.
Где ТЗ?
На хакатоне мы не даем ТЗ, максимум User Flow. В нашем случае он выглядит следующим образом:
«Пользователь (для поставленной задачи — usability-специалист) заходит в онлайн-сервис, указывает идеальный сценарий выполнения задания по своему приложению, сервис формирует ссылку на исследование. Затем пользователь отправляет ссылку респонденту, респондент открывает ссылку с мобильного устройства и видит задание, выполняет его в приложении.
Сервис записывает все действия респондента (видеозапись, тапы, свайпы, переходы, ввод, успешное-неуспешное выполнение задания). Период, в течение которого должна проходить запись должен быть ограничен триггерами, активируемыми через пользовательский интерфейс решения.
Респондент должен явно начать задание и явно закончить его. По окончании данные о проведенном исследовании должны быть сохранены на бекенде сервиса.
Данные должны быть переданы и записаны в таком формате, чтобы из них можно было построить визуализацию переходов пользователя между экранами и отобразить действия на каждом из них».
Какие критерии? Рассказываем:
решение не должно требовать дополнительного оборудования для записи действий пользователя, все должно отслеживаться внутри устройства респондента;
решение использует устройство респондента для сбора данных о выполнении задания;
решение не блокируется политикой безопасности;
решение записывает и сохраняет данные исследования;
сохраненные данные описывают реальные действия пользователя в период исследования (между триггерами начала и завершения/остановки).
Реально ли разработать решение, удовлетворяющее всем этим критериям за 45 часов? Конечно, нет!
Поэтому мы оценивали критерии бинарно, ставили 0 или 1 балл за каждый критерий. В приоритете решения, которые не предполагают внедрение кода в исследуемое приложение.
А зачем вообще был нужен хакатон?
Как нам рассказал Иван Шкварун, директор по развитию бизнеса Oprosso, задача с виду кажется простой, но, как говорится, есть нюансы. Сейчас на рынке нет полноценного сервиса для удаленного немодерируемого UX-тестирования мобильных приложений, и в Oprosso хотят его сделать! После самостоятельных поисков, анализа и генерации идей внутри, решили обратиться к силе коллективного разума участников хакатона, потому что в атмосфере здоровой конкуренции и технологического креатива рождаются порой потрясающие идеи.
Что в итоге получилось?
До финальной презентации дошли 8 команд с 3-мя разными подходами к решению:
использование openCV;
перевод мобильного приложения в веб;
лайфхаки с дебаг режимом приложений и использованием специальных возможностей Android и iOS.
Подробнее пройдемся по решениям победителей.
1-ое место взяла команда «Cache Invalidation»
Они сделали приложение для UX-тестирования, которое отслеживает действия пользователя и определяет текущий View тестируемого приложения.
Это решение работает с помощью встраивания файловой системы Archlinux в андроид. Поверх этой файловой системы запускается ADB, который и дает всю информацию.
Наконечный Максим, технический директор Oprosso, отметил: «У первого места самое интересное и хитрое решение. Прям хакатонское!»
2-е место у ребят из команды «DigitalRats»
Они предложили прототип (концепт) комплекса UX-тестирования на основе данных перехвата событий. События перехватываются с помощью сервиса для людей с ограниченными возможностями извне тестируемого приложения.
Oprosso решение понравилось своей лаконичностью и простотой.
3-е место получила команда «Название потом придумаю»
Они разработали веб-сервис для кастомного UX-тестирования мобильных приложений на модульной структуре, которую легко масштабировать. При этом структура не ограничивает автоматически собираемую аналитику.
Решение работает без установки скрипта в код приложения и не требует знания программирования. А также оно позволяет проводить параллельные тестирования сразу нескольких сценариев в рамках одного приложения, что делает его более мобильным и удобным.
«Это решение, которое заточено под узкий сценарий применения нашего продукта, но очень хорошо туда вписывается» — прокомментировал Наконечный Максим, технический директор Oprosso.
Что дальше
Подведем итоги. На хакатоне получили 3 разных подхода к решению поставленной задачи — создать веб-сервис для автоматизированного UX-тестирования мобильных приложений. Полученные идеи уже взяли в проработку.
Иван Шкварун, директор по развитию бизнеса Oprosso, об оправданности их ожиданий и дальнейших планах:
«Точно оправдались. Видеть горящие глаза ребят — это очень круто! Я лично стал больше верить в хакатоны, особенно если они хорошо и грамотно организованы. Из технологичных решений, которые предложили ребята, уже нашли несколько классных идей. На реализацию идей команд победителей требуется от 6 до 12 месяцев. Думаю мы предложим ребятам следующий этап работы над их проектами перед запуском полноценного продукта. Он будет длиться в районе месяца на нашем финансировании».
А вот что говорят по поводу хакатона и дальнейших планов ребята из команды победителей «Cache Invalidation»:? «Мы ожидали, что задача будет безумно сложной, близкой к невыполнимой. Но мы как раз к такому и привыкли! Еще перед хакатоном обдумывали варианаты, как мы могли бы решить этот кейс. Поэтому заранее отсеяли плохие варианты и смогли сосредоточиться на дикой, но очень хорошо работающей идее.
Наши ожидания оправдались. На пути к решению мы столкнулись с большим количеством проблем. Но многие из этих проблем красиво переплетались с концепциями дискретной математики, которую мы очень любим.
В дальнейших планах у нас посмотреть какие условие нам готовы предложить в Oprosso и, если контракт будет довольно мягким, продолжить работу. Проект все же связан с огромным количеством R&D, поэтому давать серьезные обещания пока рано. В любом случае, хотели бы развивать идею дальше. Есть ощущение, что она может помочь находить уязвимости в Android, а это общественно полезное дело :)».
В общем, все остались довольны. Верим, что у ребят все получится, и их крутые идеи будут реализованы в Oprosso.
Генерите неожиданные подходы к решениям IT-задач и участвуйте в следующих наших хакатонах!