12.03.2015

Урок 7. Этапы жизненного цикла мобильных приложений

Модуль 2. Тема 1. Проектирование, тестирование и поддержка процесса разработки мобильных приложений.

Цель: ознакомиться с современными подходами к процессу разработки мобильных приложений и программным обеспечением для поддержки ЖЦ МП; поставить задачи курсового проекта.
 План
1.     Основные виды мобильных приложений (МП).
2.     Жизненный цикл МП.
3.     Управление проектами разработки МП. Проектная документация: техническое задание, календарный план и др.
4.     Процесс разработки МП. Организация коллективной работы над проектом.
5.     Тестирование МП.
6.     Публикация и продвижение МП.

Методические рекомендации

Прочитайте приведенный здесь краткий обзор материала по теме. Распределите в группе вопросы темы и подготовьте обзор приведенной литературы по каждому вопросу (можно использовать другие источники).  
На следующем занятии проводим семинар по данной теме. Выступления занимают по 5 минут, обсуждение доклада - до 5 минут.  Приветствуется доклад с презентацией.
Те, кто не готовит выступления, готовят по 3 тестовых задания к каждому вопросу и формируют общий тест по теме.  Тестовые задания содержат: вопросы с выбором альтернативных ответов (не менее 3-х), вопросы на сопоставление, вопросы с открытым ответом (вводится 1-2 слова). Рекомендуется Google таблицы и формы для создания теста.

Не участвовавшие в семинаре студенты проходят тестирование по теме.

1 вопрос. Виды мобильных приложений

Сегодня из Android-market и AppStore уже загружено около миллиарда приложений и в связи с удешевлением и доступностью смартфонов количество потребителей будет расти еще долго. Рынок МП – очень динамичный. Эксперты публикуют данные, что максимальную долю мирового рынка занимают iOS приложения, но в России распределение количества пользователей разных ОС другое: 63% - Android,  по 12% - Bada и Simbian, 5% - Windows Phone. Поэтому есть смысл ориентироваться именно на недорогие Android-приложения.
Наряду с большими платформами, такими как Google Android или Apple iOS, существуют многочисленные ответвления, с которыми могут работать разработчики и которые открывают рынок приложений в новом свете – например, речь идет о носимых устройствах, типа часов, Интернете вещей, умных телевизорах. У всех у них есть свои приложения и выбор целевой платформы становится еще одной проблемой для разработчиков.
Эксперты J’son & Partners Consulting разделяют рынок приложений на следующие сегменты: контентные приложения, бизнес-приложения, мобильные игры и социальные сети.

Контентные приложения очень популярны: они предназначены для прослушивания музыки, просмотра фильмов и фотографий,  чтения цифровых книг и журналов. Сюда же можно отнести информационные приложения: погода, расписания, новости, карты, транспорт, рецепты и т.п. Это и справочники, руководства и учебники, прилагаемые к сложному товару (автомобиль, станок, оборудование),  услуге (обучение и доступ к онлайн-обучению) или предприятию (университет, визитная карточка фирмы и специалиста). Также это приложения, созданные специально к какому-то событию (олимпиада, футбольный чемпионат, выставка или конгресс). Наконец, специальные рекламные приложения, позволяющие не только рекламировать товар или бренд, но и получить обратную связь от покупателя.
Еще варианты: поиск нужного сервиса (банкомата, автозаправки, стоянки, магазина, гостиницы, репетитора…), заказ/бронирование товара, запись на прием, просмотр отзывов на товар.
Заказчики подобных приложений – владельцы контента: СМИ, фирмы – производители, сервисные фирмы.
     
      Бизнес-приложения помогают в офисной работе, расчетах, обмене служебными данными, а также предоставляют доступ к интернет-магазинам, платежным системам и банковским счетам. В настоящий момент сегмент бизнес-приложений является предпочтительным для инвесторов, но сложность составляет перевод бизнес-задач на мобильные телефоны.
       Мобильные игры - это наиболее востребованный сектор МП. Увеличивается количество игр, выпускаются новые версии существующих, расширяется аудитория (возраст - от 0 до 100 лет, языковая локализация, культурные особенности).
       Мобильные социальные сети.  Социальные сети с каждым днем набирают все большую популярность, наращивая многочисленную аудиторию по всему миру, чему способствует доступность сетей со смартфонов. То есть МП для всех видов общения – актуальны.

С технической точки зрения можно выделить 4 вида МП:
- приложения переднего плана – выполняются только, когда видимы на экране;
- фоновые приложения – не взаимодействуют с пользователем после настройки,
- смешанные приложения – основной режим – фоновый, но некоторые события могут переводить их в диалоговый режим;
- виджеты – графические объекты для отображения динамической информации.
Сложные приложения могут включать компоненты нескольких видов.

Литература:
1.     Рынок МП в России и мире - www.json.ru/poleznye_materialy/free_market_watches/analytics/rynok_mobilnyh_prilozhenij_v_rossii_i_mire/
2.     Тренды рынка МП - http://www.gazeta.ru/tech/2013/12/19_a_5811609.shtml
3.     Доли рынка, сектора - http://www.apollo-8.ru/mobilnie-prilojeniya.

2 вопрос. Жизненный цикл МП.

Этапы ЖЦ:
1.     Определение цели (портрет пользователя - социально-демографического среза аудитории, маркетинговых задач, разработка концепции и механизма привлечения аудитории)
2.     Анализ требований и разработка концепции продукта (составление требований к программе, ТЗ, тест-кейсов)
3.     Проектирование графического интерфейса и структуры программного кода (составление каркаса дизайна, карты экранов, чернового прототипа, сценариев использования программы, модель классов высшего уровня, требования к серверу)
4.     Окончательный дизайн интерфейса (разработка прототипа высокой детализации и тестирование его пользователями)
5.     Программирование и отладка функционала (клиент, сервер, безопасность, проврка на модульных тестах)
6.     Тестирование (проверка на тест-кейсах на соответствие исходным требованиям)
7.     Публикация в магазинах (подготовка маркетинговых материалов – описаний, скриншотов, видео презентации, выпуск релиза МП) и продвижение
8.     Техническая поддержка: взаимодействие с пользователями, фиксация ошибок
9.     Развитие и обновление (новый релиз) – повторение цикла, начиная с 1.
10.  Отказ от сопровождения (утилизация)

Литература
1.     Пример этапов разработки - http://itech-mobile.ru/stages.html
2.     О задачах каждого этапа - http://habrahabr.ru/company/mailru/blog/179113/
3.     Директор компании об этапах - http://siliconrus.com/2014/06/mobile-app-development/
4.     Блок-схема - http://www.web-classic.ru/services/razrabotka_mobilnykh_prilozhenij/etapy_razrabotki_mobilnyh_prilozheniy/

3 вопрос. Управление проектами МП. Проектная документация

Организация разработки МП – это одна из управленческих задач, получившая общепринятое название «управление проектами» (Project Management), представляет собой искусство руководства и координации людских и материальных ресурсов на протяжении жизненного цикла проекта путем применения современных методов и техники управления для достижения определенных в проекте результатов по составу и объему работ, стоимости, времени, качеству и удовлетворению участников проекта.[1]
Для успеха проекта необходимо составить план проекта, провести его анализ на предмет выполнимости в существующих условиях и контролировать результаты каждого этапа выполнения плана. В плане проекта фиксируют работы, необходимое время, результат на каждом этапе и требуемые ресурсы. Для иллюстрации плана проекта готовят сетевой график (последовательность работ) проекта и ресурсную гистограмму (потребность в различных ресурсах в каждый момент времени).
Управление проектом мобильного приложения имеет некоторые особенности:
- небольшой размер приложения по сравнению с «настольными» и веб-приложениями;
- небольшой бюджет,
- малый срок разработки (жесткие требования к срокам, нельзя опоздать даже на день),
- проект часто не документируется,
- анализ требований, проектирование и кодирование прототипов часто выполняются одновременно, и зачастую раньше, чем появился договор с заказчиком;
- заказчик редко может сформулировать требования или ссылается на приложение-конкурент;
- требования могут изменяться в процессе разработки;
- часто один менеджер управляет 2-4 проектами одновременно;
- в целом проект более рискован.

Особенности самих приложений:
- устройство имеет массу сенсоров, события от которых могут неожиданно влиять на работу программы;
- имеется масса моделей устройств и версий ОС, необходимо тестирование на многих моделях или в договоре перечислять, какие именно поддерживаются;

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

Гибкие модели процесса разработки ПО


Гибкая методология разработки программного обеспечения ориентирована на использование итеративного подхода, при которомпрограммный продукт создается постепенно, небольшими шагами, включающими реализацию определенного набора требований. При этом предполагается, что требования могут изменяться. Команды, использующие гибкие методологии, формируются из универсальных разработчиков, которые выполняют различные задачи в процессе создания программного продукта.
При использовании гибких методологий минимизация рисков осуществляется путём сведения разработки к серии коротких циклов, называемых итерациями, продолжительностью 2 -3 недели. Итерация представляет собой набор задач, запланированных на выполнение в определенный период времени. В каждой итерации создается работоспособный вариант программной системы, в которой реализуются наиболее приоритетные (для данной итерации) требования заказчика. На каждой итерации выполняются все задачи, необходимые для создания работоспособного программного обеспечения: планирование, анализ требований, проектирование,кодирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что текущий программный продукт готов к выпуску в конце каждой итерации. По окончании каждой итерации команда выполняет переоценку приоритетов требований к программному продукту, возможно, вносит коррективы в разработку системы.

На этих принципах основано целое семейство методологий:
§  Extreme programming
§  Scrum
§  Lean Software Development
§  Test Driven Development
§  Feature Driven Development и др.

Данные методологии наиболее популярны на сегодняшний день. Основное кредо Agile можно сформулировать как "Гибкость, коммуникация и результат, результат, результат". Данная методология придерживается следующих принципов:
·       Люди и взаимодействие важнее процессов и инструментов
·       Работающая программа важнее исчерпывающей документации
·       Сотрудничество с заказчиком важнее формальных договоренностей контракта
·       Готовность к изменениям важнее следования первоначальному плану
В литературе можно найти  более подробную детализацию этих принципов

Ограничения методологии Agile:
·       Fixed Price проекты. Невозможно адекватно оценить проект, если декларируется поздний сбор требований.
·       Проекты разработки ПО, выполняющие критические работы. Для таких проектов важны стандартизированные шаблоны и процессы, поскольку они позволяют создавать ПО заранее оговоренного качества.
·       Проекты в совершенно новой области. Абсолютно не зная специфики предметной области, необходимо начинать проект с глубокого анализа, сбора требований, прототипирования, фиксирования архитектуры и т. д. Это противоречит принципам методологии Agile.
·       Проекты большого размера и сложности, имеющие длительный срок разработки и внедрения.
·       Низкий уровень квалификации команды.
Agile так распространён потому, что большинство проектов удовлетворяют этим ограничениям. 
Например, на рисунке https://i-msdn.sec.s-msft.com/dynimg/IC367945.gif показана модель жизненного цикла программного решения от Microsoft (MSF)


Распределение обязанностей в команде типичного проекта из 4 человек:
1.     Менеджер проекта:
o   Требования:
§  Высшее образование (не обязательно, но будет являться хорошей «базой»);
§  Опыт в области разработки игрового или иного ПО - от 2 лет;
§  Опыт управления проектной командой  (так же интересен опыт управления удаленными или распределенными командами);
§  Владение современными методиками управления проектами и персоналом;
§  Знания в области планирования и бюджетирования;
§  Представление об архитектуре мобильных приложений, понимание тенденций развития мобильного рынка;
§  Аналитические навыки в области выявления и оценки производственных рисков, управление ими.
                              Обязанности:
-      Участие в разработке ТЗ по проекту (цели, критерии, сроки, бюджет), оценка возможностей реализации проекта в требуемые сроки, разработка календарно-сетевых планов по проекту, выработка критериев и процедур приемки выполненных работ;
-      Организация процесса разработки, управление командой, постоянный мониторинг соответствия темпов разработки существующим планам;
-      Выявление проектных рисков и выработка решений по их минимизации;
-      Управление изменениями в требованиях, возникающими в процессе разработки;
-      Менеджмент в области организации работы специалистов компании (рабочее место, оборудование, программный инструментарий, прочее);
-      Мониторинг моральной и рабочей атмосферы внутри проектной группы, принятие мер по их оздоровлению;
-      Разрешение конфликтных ситуаций – как в коллективе, так и с заказчиками;
-      Ведение проектной документации и полной отчетности по проекту.

2. Дизайнер:
o   Обязанности:
-      Разработка интерфейсов для мобильных приложений: от создания прототипов до полной реализации;
-      Подготовка и нарезка дизайна для разработчиков.
o   Требования к кандидатам:
-      Знание Guidelines и UX для мобильной платформы iOS;
-      Знание стандартных графических элементов операционной системы iOS;
-      Нацеленность на создание красивых и удобных мобильных приложений;
-      Отличное владение Photoshop и знание правил хорошего тона.

 3. Разработчик:
o   Требования:
-      Высшее или незаконченное высшее техническое образование;
-      Опыт программирования и проектирования ПО от 5 лет;
-      Опыт разработки под iOS (Objective C) или Android от 2 лет;
-      Понимание принципов ООП и знание шаблонов проектирования и алгоритмов;
-      Опыт работы с многопоточными приложениями, понимание механизмов управления памятью и журналированием на мобильном устройстве;
-      Отличное знание сетевых протоколов TCP/IP, UDP, HTTP;
-      Уверенный английский язык на уровне технической литературы.
-      Опыт работы в SCRUM
o   Обязанности:
§  Работа в команде c product/project managers, тестировщиками, дизайнерами - нацеленность на качественный финальный продукт;
§  Создавать bugs-free решения (без очевидных багов и утечек памяти);
§  Постоянно изучать новые технологии, что касается последних тенденций в области мобильной разработки.
4. Тестировшик:
o   Основные требования:
§  Опыт работы в QA в игровой индустрии.
§  Знакомство с системами баг-трекинга.
§  Большой игровой опыт.
§  Общая техническая грамотность.
§  Увлечение играми и опыт работы с платформами iOS/Android.
§  Ответственность, скрупулезность, аккуратность, усидчивость.
§  Знание ПК на уровне очень опытного пользователя.
§  Хорошее знание английского языка.
§  Хорошее знание письменного и устного русского языка.
§  Легкая обучаемость.
o   Основные обязанности:
§  Тестирование игр на мобильных устройствах.
§  Занесение отчетов в баг-трекинговую систему.
§  Составление тест планов по гейм-дизайн документам.

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


Рис 3.6. Диаграмма Ганта и Базовый план проекта 
Используемый  подход не подразумевает чёткую поэтапность выполнения проекта, и как правило отсутствует большое количество документации. В соответствии с этим, после возникновения необходимости вводить изменения в разработку, при реализации не требуется заново собирать требования и создавать новый прототип по новому ТЗ. Достаточно дизайнеру адаптировать проект под возникшие ограничения, а разработчику на основе нового дизайна и правил изменить существующий код. Измененная диаграмма Ганта по проекту - на рис. 3.7


Рис 3.7. Диаграмма Ганта с отслеживанием

Литература

1. Project Management Institute. PMI PMBOK (4th Edition). Руководство к Своду знаний по управлению проектами (четвёртое издание), Project Management Institute, Inc., 2009.
2. Грей К.Ф., Ларсон Э.У. Управление проектами: Практическое руководство/Пер. с англ.-М.: Издательство «Дело и Сервис», 2003.
3. Agile-манифест разработки программного обеспечения
4.     Ошибки разработки - http://habrahabr.ru/post/247763/
5.     Программы управления проектами - http://www.teamer.ru/, https://planfix.ru/, https://app.asana.com/
6.     Диаграммы Гантта и управление проектами онлайн - http://www.gantter.com/
7.     Сервис управления проектами и планирования (3 чел. Бесплатно) - http://www.comindwork.com/pricing-and-signup
8.     Пишем ТЗ -  http://protext.su/pro/?p=3219, http://protext.su/pro/?p=3223, http://protext.su/pro/?p=3066
9.     Программа для составления ТЗ - http://www.mastertz.ru/
10.     В. Куперштейн. Microsoft Project 2010 в управлении проектами, Изд-во: БХВ-Петербург, 2011 - 416 с.
11 . Аскар Рахимбердиев. Современные процессы разработки программного обеспечения. RSDN Magazine #4-2006.
 http://agilemanifesto.org/iso/ru/ - Agile-манифест разработки программного обеспечения.
12.  http://managementzone.ru/archives/438 - Agile менеджмент
13  http://www.slideshare.net/touchin/ss-10377923 - Лекции Дениса Цыплакова - «Управление разработкой мобильных проектов»
14.   Аналитика компании Json&Partners
15.Технологии командной разработки программного обеспечения информационных систем - / Акаделми Microsoft. - НОУ ИНТУИТ  - www.intuit.ru/studies/courses/4806/1054/lecture/16121


4 вопрос. Проектирование, дизайн, кодирование и отладка МП. Организация коллективной работы над проектом


Прежде всего, необходимо определить, что и для кого мы пишем. Ответы на эти вопросы оформляются в User Story. Примеры кратких описаний проектов студентов SMU (Сингапур) - см. на сайте https://wiki.smu.edu.sg/is480/2014-2015_Term_2#FLIP


На картинке показан пример описания задачи: как существующий пользователь может войти в приложение, и какие проблемы он может встретить. На этом этапе важно проработать все возможные сценарии, чтобы не было неприятных сюрпризов на более поздних этапах разработки.  Рекомендуется обобщить информацию о функциях проекта на диаграмме вариантов использования.  Примеры диаграммы:
(использован пример с сайта http://www.codeproject.com/Articles/585883/Classic-ASP-and-MVC)

(пример проекта https://wiki.smu.edu.sg/is480/Team_IMATEAM_Mobile_Use_Case)

За каждым пунктом здесь скрывается огромный айсберг функционала. Старайтесь фрагментировать и конкретизировать задачи. Крупные задачи лучше всего разделить на несколько этапов (релизов).

Проектирование и разработка дизайна – это 2-я задача. Используются прототипы, эскизы экранов, на общей доске стрелочками показывают навигацию между экранами. Подбирают звуки. Результат – макеты интерфейса, нарезка графики (для разных разрешений экрана: обычное и высокое), звуковые файлы и гайдлайны (описание принципа интерфейса пользователя, размеры полей, кнопок, описание эффектов).

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

Пример последовательности работ над проектом:


 Организация коллективной работы над проектом - см. [14-16].

Литература
1.     Основы разработки интерфейсов МП -http://www.intuit.ru/studies/courses/12643/1191/lecture/21986
2.     Презентация по дизайну UI мобильной коммерции - http://www.slideshare.net/wud/ss-1500408
3.     10 принципов проектирования интерфейса - http://www.cmsmagazine.ru/library/items/graphical_design/10-principles-mobile-interface-design/
4.     Средства прототипирования UI - https://xakep.ru/2014/09/09/prototype-tools/
5.     Программа MAQETTA – макет интерфейса html5 - http://www.ibm.com/developerworks/ru/library/mo-maqetta-1/
6.     Шрифты - http://habrahabr.ru/post/247785/  (просто красиво и бесплатно –один из множества)
7.     Пример описания проекта мобильного приложения (общие сведения, интерфейс, архитектура) - https://code.google.com/p/android-geocaching/wiki/ApplicationArchitecture
8.     Серверы: http://habrahabr.ru/post/158157/
9.     Oracle DB как сервер для мобильных клиентов -  http://www.oracle.com/technetwork/database/database-technologies/database-mobile-server/overview/index.html
10.  О сервере для игр (англ.) - http://gafferongames.com/networking-for-game-programmers/what-every-programmer-needs-to-know-about-game-networking/
11.  Автоматизация процесса разработки - https://academy.yandex.ru/events/autoschool/spb-2014/(видеолекции)
12.  Отладка – см. книга Голощапова А.Л. БХВ-Петербург, 2012 (https://books.google.ru/books?id=hx36iz5za54C&dq=%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0+%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE+%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F+android&hl=ru&source=gbs_navlinks_s)
13. http://www.google.com/design/spec/material-design/introduction.html# - проектирование интерфейсов 
14. IBM упрощает разработку программного обеспечения в облаке с помощью платформы Bluemix - http://habrahabr.ru/company/ibm/blog/225441/
15. Инструменты, которые мы используем для командной разработки - http://habrahabr.ru/post/178827/
16. https://ru.wikipedia.org/wiki/GitHub

 5 вопрос. Тестирование МП

Тестирование делают как на реальных устройствах (их должно быть много), так и на эмуляторах. Следует составить список устройств и версий Андроид, на которых проводить проверку программы. Пример списка устройств для тестирования на Android:
  • Samsung Galaxy S2 / Android 4.1
  • Samsung Galaxy S3 / Android 4.3
  • Samsung Galaxy S4 / Android 4.4
  • Sony Xperia Z1 / Android 4.4
  • LG Nexus 5 / Android 4.4
  • HTC One X / Android 4.2
Необходимо определить критерии оценки, например: соответствие прототипу, соответствие ТЗ.  Составить план проведения тестирования (распределение работ, ответственные, сроки) и подготовить программы для тестов (тест-кейсы).  Описать форму представления отчета об ошибках и организовать его коллективное составление. Планирование тестирования можно вести параллельно с кодированием, так чтобы к моменту создания программы тесты уже были готовы.
Для тестирования законченных релизов могут привлекаться сторонние тестировщики, в том числе энтузиасты; обязательно применяются средства автоматизации (составление тестов, отчетов по тестам, скриншоты всего пути теста).
Важно сделать приложение  удобным, быстрым, безопасным, понятным и стабильно работающим. Особенно это касается приложений, взаимодействующих с интернетом. Где могут возникнуть проблемы, которые обнаружит тестирование?
  •         Обновления. Нужно сделать его автоматическим, простым.
  •       Языковая поддержка, установка даты-времени.
  •       Юзабилити – привлекательнгость приложения, легкая навигация, разумное энергопотребление.
  •       производительность приложения – загрузка памяти и системы.
  •       Так называемый стресс-тест – проверка реакции приложения на непредсказуемые действия: хаотичное нажатие кнопок, резкое отсоединение от сети или выключение.
  •       Поддержка всех устройств и платформ – приложение должно адекватно работать на всех видах устройств, для которых оно создано, учитывая разный размер экрана, разные оперативные системы и пр.
  •       Последние типы исследований – лабораторное и аттестационное, имитация действий в приложении в реальности и подтверждение готовности приложения.

Литература
1.     Тестирование - http://habrahabr.ru/company/touchinstinct/blog/197060/
2.     Статьи по тестированию http://mobile-testing.ru/how_to_test_mobileapp/
3.     Эмуляторы, симуляторы - http://habrahabr.ru/post/237499/
  

6 вопрос. Публикация,  продвижение и поддержка

Мобильные приложения приносят значительный доход. Существует ряд бизнес-моделей, благодаря которым происходит монетизация рынка мобильных приложений. Некоторые из них:
  • -      Premium - платные приложения: которые продаются в платформе по установленной цене)
  • -      Freemium / In-App Purchases - изначально бесплатные приложения, но которые подразумевают покупки внутри приложения, в том числе расширение до полной версии, какие либо бонусы
  • -      Ad - реклама внутри приложения
  • -      Мобильная коммерция – банкинг, сравнение цен, бронирование мест, купоны.


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

Литература
  1.           Советы по продвижению - http://habrahabr.ru/company/nevosoft/blog/138341/
  2.           Оптимизация и продвижение МП (презентация) - http://www.slideshare.net/sharifulin/mo-co-2014-0603?related=1
  3.          Продвижение в Google Play - http://www.slideshare.net/morenkova/ss-29170193?related=2
  4.          Предпринимательство в области МП - http://www.intuit.ru/studies/courses/3468/710/lecture/22015 
  5.         Продвижение - http://www.intuit.ru/studies/courses/3468/710/lecture/22018
  6.        Аналитика для МП - http://siliconrus.com/2013/10/analitika-dlya-mobilnyih-startapov/
  7.     Магазин приложений Google - ru.wikipedia.org/wiki/Google_Play                                   
  8. Яндекс,Store - https://tech.yandex.ru/store/doc/index-docpage/
  9.  Места распространения Android приложений - http://habrahabr.ru/post/164413
  10. 10 альтернатив магазину приложений Google Play - http://geektimes.ru/post/232273/