Программное средство сравнительного исследования человеко- машинных интерфейсов мобильных устройств
1 of 22
Download to read offline
More Related Content
Программное средство сравнительного исследования человеко- машинных интерфейсов мобильных устройств
1. МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(национальный исследовательский университет)»
(МАИ)
Дипломная работа на тему:
«Программное средство сравнительного исследования человеко-
машинных интерфейсов мобильных устройств»
Руководитель: Горский К.П.
Дипломник: Малов В.В.
Москва, 2015г.
2. Что такое сравнительное
исследование?
Исследование, в котором контрольная группа
элементов сравнивается с набором тестовых
групп, содержащих изменения, предположительно
увеличивающих количество целевых действий.
(А/Б тест)
3. Что такое целевое действие?
Пользовательское действие, приносящее
прибыль создателю программного обеспечения.
1. Покупка товара с помощью мобильного приложения
2. Оформление заказа с оплатой при получении
3. Заполнение формы обратной связи
4. Покупки внутри игры
Примеры
(Конверсия)
5. • Сервис ориентирован
именно на А/Б-тесты
Taplytics
Плюсы
• Сложный интерфейс
для проведения А/Б-
тестов
Минусы
• Проведение и создание
A/Б тестов из веб-
интерфейса
Mixpanel
• Ручное
программирование
событий
• Простейшие А/Б тесты
6. Что хочет бизнес?
1. Фиксировать нажатие на определенный элемент
интерфейса.
2. Знать, что пользователь находился на экране больше
N секунд.
3. Совершение последовательности нажатий на
определенные элементы интерфейса.
7. Идея продукта
Программное средство, которое позволяет
проводить А/Б-тест, получая максимальное количество
данных от приложения, которые дают ответ на проверяемую
гипотезу без дополнительных настроек и сложного
взаимодействия отдела маркетинга и разработки.
8. Модули
1. Модуль для проведения А/Б-теста
2. Модуль для сбора данных по сессии
3. Модуль для отправки данных сессии в облако
4. Модуль для обработки данных всех сессий
5. Модуль тепловой карты нажатий
10. Проведение теста
• Формулируется гипотеза в устной форме (Вариант Б);
• Формулируется нулевая гипотеза;
• Тестируемый интерфейс программируется заранее;
• Использование оберток фреймворка SkyLab;
• Отправка обновленной версии, включающей тест,
пользователям.
11. Случайный выбор варианта интерфейса
rand48() — семейство функций, генерирующих псевдо-случайные числа,
используя линейный конгруэнтный метод для 48-разрадных чисел.
• r(n+1)
=
(a
*
r(n)
+
c)
mod
m;
• Множитель
a
=
0xfdeece66d
(25214903917);
• Приращение c есть 0xb
(11);
• Модуль m =
2^48.
drand48() — возвращает значение типа double. Все 48 битов числа r(n+1)
помещается в мантиссу возвращаемого значение так, что в экспоненциальной
записи значения лежат в интервале [0.0,1.0).
srand48() — используется для инициализации буфера r(n) для drand48().
Для этого используется 32 разряда аргумента, которые помещаются в
старшие разряды числа r(n), а младшие 16 разрядов заполняются числом
0x330e
(13070).
12. • Используется объект PFObject из Parse SDK
• Собираются данные по Сессиям
• Собираются данные по Нажатиям
• Фиксируется время на каждом экране
• Сбор данных необходим для сравнения вариантов
интерфейса
• Отправка данных происходит при каждом нажатии в
мобильном приложении (Method Swizzling);
Сбор данных
13. Наследование
• viewWillAppear — метод, вызываемый при
открытии экрана, отличного от предыдущего.
• viewWillDisappear — метод, вызываем при
открытие другого экрана, отличного от текущего.
В общем супер-классе, определяем следующие методы:
• Каждый класс наследуется от данного класса
• Методы супер-класса будут вызываться каждый раз,
когда соответсвующие методы будут вызваны в
дочернем классе
В реализации:
14. Наследование
• viewWillAppear
• Засекаем время старта
• Увеличиваем количество переходов
• Определяем имя экрана
• viewWillDisappear
• Записываем данные о времени на текущем экране
• Имя последнего контроллера
• Обработка целевого действия
15. Method Swizzling
(мошенничество с методом)
Мошенничество с методом является процессом изменения
реализации существующего селектора в коде. Данная
техника возможна благодаря тому, что вызов метода может
быть заменен во время выполнения программы.
Заменим метод SendEvent класса UIWindow, который
отвечает за событие нажатия на экран.
В реализации:
16. Method Swizzling
(мошенничество с методом)
• SendEvent
• Координаты нажатия
• Номер нажатия
• Время нажатия
• Экран
• Количество кликов
• Время сессии
• Последнее нажатие
• Последний экран
• Количество переходов между экранами
• Статистика по экранам в сессии
• Наличие сотовой сети
17. Статистическое обоснование
Частота конверсии (среднее значение)
Изменение частоты конверсии между вариантами
Определение значимости результатов
Определение конверсии с доверительным уровнем 90%
Стандартное отклонение для биномиального распределения
19. Обработка данных
• Из Parse Cloud выбираются данные по сессиям,
касающимся контрольного и тестируемого варианта;
• Каждый клик и время взаимодействия связаны с
сессией;
• Данные сохраняются формате CSV
и JSON;
• Результаты представляются в виде тепловой карты;
• Данные могут быть обработаны в Excel.
20. Тепловая карта
• Какие нажатия были 1-ым, 2-ым,3-им,4-ым и т.д.;
• Какое нажатие было первым и последним;
• Куда нажимали на конкретном экране;
• Увидеть разницу в нажатиях между контрольным и
тестовым вариантом.
Визуальное представление всегда более наглядное, чем в
текстовом виде
Позволяет узнать:
22. Результаты
1. Разработана структура программного средства
2. Реализован новых подход к анализу действий
пользователя
3. Разработан и реализован сбор данных в приложении
4. Реализовано хранение данных в Parse Cloud
5. Рассмотрен способ интерпретации данных,
полученных от мобильного приложения данной
системой аналитики