Техническое задание на разработку приложения для трансляции видеоинформации на мобильных устройствах «Смотри и бери». Предназначение программы: Создание на мобильном телефоне пользователя интерфейса, позволяющего получать и демонстрировать видеоролики, отобранные с учётом личных интересов и предпочтений пользователя. При этом пользователь получает обязательные бонусы при просмотре рекламных видеороликов – номерной купон на скидку и/или деньги за просмотр рекламы. Ролики загружаются в базу данных через web-интерфейс, после чего по запросу клиентской программы формируется список файлов для закачки, созданный с учётом фильтра личных предпочтений и подписок конкретного пользователя. Ролики выкачиваются в фоновом режиме. По закачке новых роликов программа должна уведомлять пользователя изменением пиктограммы. Развлекательные видеоролики демонстрируются обычным образом. Рекламные ролики после первой демонстрации должны вызывать интерфейс генерации купона на скидку. Ролики, просматриваемые за деньги должны показываться в первый раз с использованием технологии концентрации человеческого внимания. Серверная часть программы Серверная часть программы представляет собой базу данных, хранящую следующую информацию: 1. 2. 3.
Информация о владельцах информационных каналов Информация о пользователях Мультимедийный контент
База данных должна содержать информационными каналами.
online-интерфейс,
позволяющий
пользователям
управлять
своими
Основная информация, содержащаяся в базе данных должна включать в себя: 1. Информация о пользователе (владелец мобильного телефона): id Имя – текстовая строка Фамилия – текстовая строка Дата рождения – дата Пол- список с выбором из двух значений мужской/женский Местонахождение – список строковых переменных с выбором из таблицы-справочника Вероисповедание – список строковых переменных с выбором из таблицы-справочника, обязательно нулевое значение – «Не указано» 1.8 Уровень заработка – список строковых переменных с выбором из таблицы-справочника, обязательно нулевое значение – «Не указано» 1.9 Социальное положений - список с выбором из таблицы-справочника 1.10 Семейное положение – список с выбором из двух значений (женат(замужем)/не женат(не замужем) 1.11 Наличие детей – список с цифровыми значениями (значение 0 – нет детей) 1.12 Подписки на каналы – список ссылок 1.13 Запрещённые к загрузке каналы – список ссылок 1.14 Интересы и предпочтения – список ссылок на выбранные интересы 1.15 Вся необходимая платёжная информация по карте 1.16 Купоны пользователя – список ссылок 1.1 1.2 1.3 1.4 1.5 1.6 1.7
2.1 2.2 2.3 2.4
2. Информация о владельце канала Название – строковая переменная Тип владельца – список с выбором из двух значений (юрлицо/физическое лицо) Логотип – изображение Описание – текстовый блок
2.5 Ссылка на Интернет-ресурс – текстовый блок 2.6 Для физического лица: 2.6.1 Id - число 2.6.2 Логин – строковая переменная 2.6.3 Пароль – строковая переменная 2.6.4 Фамилия - строковая переменная 2.6.5 Имя - строковая переменная 2.6.6 Отчество - строковая переменная 2.6.7 Паспорт серия - строковая переменная 2.6.8 Паспорт номер - строковая переменная 2.6.9 Контактный телефон – форматированная строка 2.6.10 Адрес регистрации - строковая переменная 2.6.11 Номер договора - строковая переменная 2.6.12 Состояние виртуального счёта - цифра 2.7 Для юридического лица 2.7.1 Id - число 2.7.2 Логин - строковая переменная 2.7.3 Пароль - строковая переменная 2.7.4 Форма собственности - строковая переменная 2.7.5 Полное название - строковая переменная 2.7.6 Юридический адрес - строковая переменная 2.7.7 Адрес офиса - строковая переменная 2.7.8 Контактный телефон – форматированная строка 2.7.9 ИНН - число 2.7.10 ОГРН - число 2.7.11 Номер расчётного счёта - число 2.7.12 Наименование банка - строковая переменная 2.7.13 Номер корреспондентского счёта - число 2.7.14 Номер договора - строковая переменная 2.7.15 Состояние виртуального счёта - цифра 3. Информация о канале 3.1 Id - число 3.2 Владелец – ссылка 3.3 Название – строковая переменная 3.4 Тэги – набор ссылок на таблицу предпочтений с отметками относится/не относится 3.5 Дата создания – дата 3.6 Количество роликов – цифра 3.7 Логотип канала – изображение 3.8 Краткое описание – текстовый блок 3.9 Ссылка на ресурс в Интернет – строка 3.10 Тип канала – бесплатный, платный, рекламный – список с выбором одного значения 3.11 Жанры канала – список ссылок на выбранные тэги 4. Информация о ролике Id ролика - число id канала - число id пользователя - число Название - строковая переменная Логотип - изображение Ссылка на файл - строковая переменная Длина - время Тип ролика – бесплатный, платный, рекламный неоплачиваемый, рекламный оплачиваемый – список с выбором одного значения 4.9 Стоимость оплачиваемого ролика (если просмотр платный) - число 4.10 Стоимость вознаграждения за просмотр (если ролик рекламный оплачиваемый) – число 4.11 Название купона (для рекламного ролика) - строковая переменная 4.12 Условия скидки по купону – текстовый блок 4.13 Дата начала действия купона – дата 4.14 Дата завершения действия купона – дата 4.15 Возрастное ограничение - число 4.16 Жанры ролика – список ссылок на выбранные тэги 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
Алгоритм доставки роликов на устройство клиента, используемый базой данных при формировании запроса клиента на скачивание обновлений:
Загрузка ролика на сервер владельцем канала Ролик не актуален
Ежедневная проверка Актуальности даты ролика
Перемещение записи в архив
Ролик актуален
Ожидание запроса обновлений с устройства клиента Поступил запрос на обновления
Ролик попадает хотя бы одним тэгом в список предпочтений клиента?
Нет
Да
Ролик попадает с список запрещённых к закачке каналов?
Канал попадает в обязательную подписку клиента? Нет
Да
Вычёркивание из списка закачки
Нет
Ролик попадает под возрастные ограничения относительно даты рождения клиента? Нет
Добавление в список отправки на устройство клиента
Отправка в порядке очерёдности
Да
Вычёркивание из списка закачки
Да
Клиентская часть программы Клиентская часть программы представляет собой пользовательский интерфейс, предназначенный для мобильного телефона, работающего под управлением операционных систем Android, iOS, позволяющий пользователю совершать следующие действия: 1. 2. 3. 4. 5. 6. 7.
Регистрироваться, создавать личный кабинет, заполнять и хранить информацию о социальном портрете пользователя (пол, социальный статус, уровень доходов, потребительские предпочтения). Оформлять или отменять подписку на информационные каналы, осуществлять анонсирование информационных каналов, соответствующих введённому социологическому портрету пользователя Фоновую загрузку новых мультимедийных файлов, появляющихся в подписанных информационных каналах с уведомлением пользователя о появлении новых загруженных файлов Показывать пользователю видеоролики как с использованием технологии концентрации человеческого внимания, так и в режиме свободного просмотра. Осуществлять начисление баллов за просмотренные ролики на личный виртуальный счёт пользователя Передавать команду на списание баллов с последующим выводом денежных средств, эквивалентных списываемым баллам, на кредитную карточку пользователя или иную платёжную систему. Осуществлять генерацию и запись в базу данных номеров бонусных купонов для получения предъявителем скидки на тот или иной товар.
8. Пользовательский интерфейс программы: Цветовое оформление: - основной цвет контрольных элементов – оранжевый - цвет недоступных контрольных элементов – серый - цвет фона – белый - вторичные цвета – только ярких пастельных тонов Пользовательский интерфейс должен состоять из следующих разделов: 1. 2. 3. 4. 5. 6. 7.
Стартовый (главный) экран. Раздел настроек персональных данных Раздел настроек персональных вкусов и предпочтений. Раздел настроек подписок на каналы Раздел просмотра списков новых роликов Раздел просмотра списков роликов по подписанным каналам Экран просмотра видеороликов с функциями КЧВ для рекламных роликов и функциями контроля воспроизведением для свободно просматриваемых роликов. 8. Раздел справочной информации 9. Экран генерации уникального номера купона 10. Раздел управления сгенерированными купонами 11. Раздел управления личным счётом – просмотр и вывод средств 12. Раздел настроек платёжных данных 1.
Главный экран
Главный экран должен содержать кнопки-ссылки на следующие разделы: 1.1 Просмотр новых поступивших роликов 1.2 Доступ в личный кабинет пользователя 1.3 Доступ к настройке подписок 1.4 Доступ к списку оформленных купонов 1.5 Доступ к управлению личным счётом 1.6 Доступ к справочному разделу
Примерный эскиз оформления главного экрана:
2.
Раздел настроек персональных данных
Раздел настроек персональных данных должен содержать поля ввода и другие элементы, позволяющие вводить и редактировать следующие данные: 2.1 Имя пользователя – строка ввода 2.2 Фамилия пользователя – строка ввода 2.3 Дата рождения – форматированная строка ввода и вызываемое всплывающее окно с календарём для подставки даты 2.4 Пол – контрольный элемент с возможностью выбора из двух значений 2.5 Образование – выпадающий список с выбором из нескольких элементов 2.6 Уровень дохода – выпадающий список с выбором из нескольких элементов 2.7 Вероисповедание – выпадающий список с выбором из нескольких элементов 2.8 Семейное положение выпадающий список с выбором из нескольких элементов 2.9 Наличие детей – контрольный элемент с возможностью выбора из двух значений 2.10 Кнопка доступа к окну вкусов и предпочтений Примерный эскиз оформления экрана персональных данных:
. 3. Раздел вкусовых предпочтений Раздел вкусовых предпочтений должен содержать следующие элементы интерфейса: 3.1 Список интересов, сгруппированный по категориям, с возможностью отметки интересующих пользователя тематик 3.2 Кнопку, выделяющую все элементы списка 3.3 Кнопку снимающую выделение всех элементов списка 3.4 Кнопку, запоминающую выбор пользователя 3.5 Кнопку отменяющую изменение выбора пользователя
Примерный эскиз оформления экрана выбора вкусовых предпочтений
4.
Раздел настроек подписок на каналы
Раздел настройки подписок на каналы должен содержать следующие элементы интерфейса: 4.1 Список доступных рубрик с указанием напротив каждой рубрики общего количества и количества подписанных каналов
4.2 Список доступных каналов, формируемый из информации, содержащейся в базе данных. Каналы, на которые оформлена подписка должны быть подсвечены контрольным элементом. Каналы группируются по тематикам. 4.3 Кнопка «Выбрать все каналы», активирующая подписку на все элементы списка 4.4 Кнопка «Отменить все каналы», отменяющая подписку на все элементы списка 4.5 Кнопка сохранения результатов выбора 4.6 Кнопка отмены результатов выбора
Примерный эскиз экрана выбора каналов:
5.
Раздел просмотра списков новых роликов:
Раздел просмотра новых роликов должен содержать следующие элементы интерфейса: 5.1 Список новых роликов. Для каждого элемента списка должны выводиться: пиктограмма ролика, название ролика, название канала, параметры просмотра (оплачиваемый или нет). 5.2 Кнопку перехода к экрану просмотра роликов по подписанным каналам 5.3 Кнопку перехода к экрану личного кабинета 5.4 Панель со статусом счёта и действующих купонов
6.
Раздел просмотра списка роликов по подписанным каналам
Раздел просмотра списка роликов по подписанным каналам должен содержать следующие элементы интерфейса: 6.1 Список подписанных каналов с возможностью выбора одного из них 6.2 Список доступных к просмотру роликов в выбранном канале с возможностью выбора и просмотра. Каждый элемент списка должен иметь поясняющие подписи или пиктограммы, информирующие о новизне ролика, типе просмотра 7.
Экран просмотра видеороликов
Экран просмотра видеороликов должен обладать следующими элементам интерфейса: 7.1 Для развлекательных видеороликов: 7.1.1 Кнопка паузы 7.1.2 Кнопка остановки воспроизведения 7.1.3 Бегунок или контрольные кнопки, позволяющие осуществлять ускоренную прокрутку временной шкалы для просмотра ролика с другой позиции 7.2 При воспроизведении рекламных роликов должны отсутствовать элементы контроля воспроизведения, за исключением кнопки выхода из режима просмотра. 7.3 Для оплачиваемых рекламных роликов перед воспроизведением и во время должна осуществляться технология концентрации человеческого внимания. 8.
Раздел справочной информации
Раздел справочной информации должен содержать текстовую информацию в формате PDF или HTML, либо любом другом аналогичном формате, дающем возможность использования гиперссылок. 9.
Экран генерации уникального номера купона.
Экран генерации уникального номера купона дожжен содержать следующие элементы интерфейса: 9.1 Кнопку запуска генерации 9.2 Поле с сгенерированным уникальным идентификационным ключом 9.3 Кнопку сохранения результатов
10. Раздел управления сгенерированными купонами. Раздел управления сгенерированными купонами должен содержать следующие элементы интерфейса: 10.1 Закладки для списков активных, использованных и просроченных купонов. 10.2 Список активных купонов 10.3 Список использованных купонов 10.4 Список просроченных купонов
11. Раздел управления личным счётом Раздел управления личным счётом должен содержать следующие элементы интерфейса: 11.1 Информационное поле с текущим состоянием счёта 11.2 Кнопку вывода средств на кредитную карту 11.3 Кнопку вызова диалога настройки платёжных реквизитов 12. Раздел настроек платёжных данных Раздел настроек платёжных данных должен содержать следующие элементы интерфейса: 12.1 Поля для ввода всей информации, необходимой для осуществления транзакций с кредитной картой. 12.2 Кнопку сохранения введённых данных 12.3 Кнопку отмены Алгоритм генерации уникального номера купона Уникальный номер купона должен быть построен по следующей структуре: Id владельца канала – id рекламного ролика – id клиента – уникальный номер, полученный генератором случайных чисел, длиной 8 знаков.
Технология концентрации человеческого внимания на видеоролике: 1. 2. 3. 4. 5. 6. 7. 8.
Перед просмотром ролика на экране (в его середине) возникает логическое задание, правильный ответ на который может дать только человек. Для указания ответа на задание пользователь должен воспользоваться указателем графического манипулятора, либо (для сенсорного экрана) собственным пальцем. Варианты ответа размещаются по углам экрана. Правильный ответ определяется нажатием на угол с правильным вариантом (либо перетаскиванием вопроса из середины экрана на правильный ответы). При нажатии начинается воспроизведение ролика, которое продолжается, пока пользователь держит кнопку манипулятора, либо палец на сенсорном экране. Если пользователь перестаёт удерживать кнопку или палец – воспроизведение ролика останавливается, таймер воспроизведения устанавливается на отметку 0. После сброса показа для начала нового воспроизведения, пользователь должен решить новую логическую задачу. Если пользователь не отпускает кнопку манипулятора или палец на сенсорном экране до конца воспроизведения, ролик считается просмотренным пользователем с высокой степенью вероятности.
Примеры экранов с логической задачей:
4
5
2+2 10
3