Разработка приложения для Android – прототипирование, разработка, тестирование

Автор: maximus. Posted in Блог

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

Что-то по коментам к прошлой статье я не понял, тема интересная народу или нет? Ранее я уже описал преимущества приложения перед сайтами, напомню:

  • большая вовлеченность пользователя;
  • ниже конкуренция в маркете;
  • отсутствие различных адблоков и прочей подобной фигни;
  • при грамотном подходе доступны несколько ниш – Android, Apple, Windows Phone
  • пользователи всё больше идут в мобильные системы

На наш взгляд все эти причины должны думающих людей заставлять смотреть в сторону приложений. Но если тема не интересная, могу не “засерать” блог и не писать.

Кстати, один из поводов для написания – отсутствие или ограниченность подобных материалов в сети. Делюсь опытом в общем.

Итак, поехали, на чем там остановился? Ага…

Прототипирование

Разраб совершенно логично попросил у нас изобразить на “бумаге” в виде экранов приложения, чего же мы хотим получить в итоге и изложить в виде ТЗ требования к функционалу.

Рисовать в паинте или фотошопе не хотелось, да и не серьёзно это как-то. Должен быть другой подход. Быстрое гугление дало несколько сервисов для прототипирования приложений.

Потыкал их туда-сюда и остановил выбор на одном http://www.ninjamock.com/. Уже не помню чем именно он подошёл, скорее всего бесплатно, удобно, просто в освоении, – то что надо.

Три часа “корпения” над сервисом в результате принесли вот такую “демку”, в которой можно потыкать, перемещаться туда сюда, примерно прикинуть как будет работать функционал.

imageimageimage

Ну и так далее. Синими точками отмечены места, клики по которым приведут на другой экран. Т.е. демка получилась интерактивная.

Потыкать своими ручками можно вот по этой ссылке: http://www.ninjamock.com/s/mmcdrz

Я вот сейчас смотрю на то что получилось в итоге и понимаю что всё совсем не так, но принципы переданы верно.

И было написано вот такое ТЗ (просто как пример, сильно не рекомендую писать ТЗ именно так, нам повезло, но могло и не повезти)

------------

Техническое задание

Мобильное приложение представляет собой справочник HTML форматированными материалами. Материалы разбиты по категориям, категории так же имеют HTML форматированное описание. Приложение служит для удобного чтения и навигации по материалам, для работы с избранными материалами.

Основные функции

  • Материалы HTML форматированы
  • Материалы могут содержать изображения
  • Присутствует поиск по тексту и заголовкам материалов
  • Описания категорий HTML форматированы
  • Каждый материал может быть помечен произвольным набором тегов (теги как от разработчика, так и от пользователя
  • Каждый материал может быть добавлен пользователем в избранное
  • Предусмотрено место для горизонтального рекламного баннера в верхней или нижней части экрана
  • Приложение и готовые материалы разделены
  • Материалы после установки загружаются отдельно
  • Материалы могут обновляться, соответственно нужна возможность - проверить обновление материалов
  • Хранение материалов необходимо организовать на сайте
  • Предпочтительный вариант хранения материалов и категорий XML файл
  • При обновлении материалов пользовательские теги и отметки избранное не должны пропадать

------------

Все это было предоставлено разработчику, озвучены примерные бюджетные рамки.

Разработка

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

Предложение было такое. Стоимость разработки Х рублей, срок 1 месяц. В разработку входит приложение + серверная часть для наполнения материалами и раздачи обновлений контента приложению. Приложение делает он сам, к серверной части привлекает знакомого программиста и сам с ним разбирается в плане интерфейсов, сроков и оплаты. Ударили по рукам и договорились о выплате аванса 30% после того, как разраб покажет прототип.

Так же сформировали требования к серверной части:

  • авторизованный вход;
  • навигация по разделам;
  • возможность создавать материалы и редактировать их в визуальном редакторе;
  • возможность удалять материалы;
  • наличие раздела “Корзина” который не будет виден пользователям приложения и не будет синхронизироваться.

Такое развитие событий нас полностью устраивало, поскольку изначально мы были готовы просто скармливать html или xml файлы в какой-нибудь доступный онлайн каталог для синхронизации. А тут целая серверная часть с визуальным редактором.

Через несколько дней разраб вышел на связь и представил каркас-прототип:

  

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

Так же разраб представил суровую принципиальную схему серверной части:

Мы перечислили аванс и занялись другими делами.

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

Через неделю разраб сдал на тестирование серверную часть, получил несколько замечаний по функционалу и интерфейсу и оперативно их доделал. После сдачи серверной части мы принялись за наполнение контента и оплатили ещё 20% от стоимости.

Грабли

В процессе всего этого проекта мы наступили на несколько “граблей” по неопытности.

Грабли №1

Первые “грабли”, которые мы ощутили это размещение серверной части. В начале, до начала разработки я общался на эту тему с программистом. Он задал вопрос: у вас есть где сервер разметить? Я ответил что у нас есть хостинг с поддержкой PHP и MySQL, на котором крутится десяток другой сайтов и ещё достаточно ресурсов. Он уточнил есть ли доступ к bash можно ли ставить пакеты, и получив утвердительный ответ успокоился. Сказал что разместит сервер.

Когда же серверная часть была готова, оказалось что она работает на Node.JS, что установка его на хостинг проблематична, что нужен полноценный VPS или выделенный сервер. Это меня огорчило. Разработчик предложил использовать herokuapp.com, сервис для хостинга приложений, с бесплатным тарифным планом до определённой нагрузки. На этом и сошлись. Мы решили, что для проверки концепции нам мощностей хватит, а в дальнейшем будет понятно, готовы ли мы тратиться на VPS или же будем платить этому самому Хироку. Собственно пока размер грабель непонятен, поскольку на текущий момент бесплатный тарифный план тянет наши запросы.

Как можно было избежать грабель? Стоило сразу же уточнить технологию исполнения серверной части. Разработчики молодые, тянутся за модными вещами и инструментами, поэтому в критичных местах стоит узнавать, как будет сделан тот или иной момент.

Грабли №2

Ох, это самые большие грабли, которые мы до сих пор полностью не обошли. По нашему плану, фишка приложения заключается в том, что в нём все шпаргалки, которые могут понадобится студенту, и тебе Физика, и Психология и Детали машин и т.д. Тоесть предполагается большой такой объем материала, практически по все распространённым предметам (сейчас, кстати, в приложении более 70 предметов и более 4000 ответов на вопросы по этим предметам). По нашим планам наполненность приложения должна была дорасти до объема в 10-15 материалов. Мы то мыслим мерками онлайна, ну что такое сайт на 10т страниц, много конечно, но вовсе не запредельно. И этот момент мы совершенно не обсудили, поскольку он не казался значимым.

А разработчик мыслит мерками мобильных приложений и, как потом оказалось, он предполагал что потолок это 2, максимум 3 тысячи материалов. И он не закладывался по технологиям при разработке на такой объем. Выяснилось это уже практически к концу разработки, когда и материалы наполнены и деньги уплачены. В приложении такое расхождение выразилось в очень-очень долгой загрузке материалов. Предполагалось, что пользователь ставит приложение из маркета, затем получает базу материалов и радуется. Но ждать по 40-60 минут пока скачается 3500 материалов, это ни у кого терпения не хватит…

Как можно было избежать грабель? Заранее обговорить не только качественные, но и количественные параметры приложения. Какие ресурсы, каких типов, в каких объемах, сколько будет пользователей, сколько он-лайн одновременно и прочие подобные параметры. Нужно фиксировать их до начала работы.

Как обошли грабли? Да пока не сильно и обошли. Стартовый объем материалов включен в установку, разработчик оптимизировал и переработал загрузку, но для полного решения проблемы надо кое чего переделывать. Откладываем это на потом.

Грабли №3

Традиционные грабли любой разработки – сроки. Где-то мы не рассчитали, где-то разработчик прошляпил, мы планировали основные работы выполнить до 15 Января, включая стартовый объем наполнения, но выпустили приложение в маркет только 27 Февраля, т.е. по сути на 1.5 месяца превысили сроки, от начальных 1 месяца. По большей части сроки сорвали из-за Граблей №2. Но так как для нас привязка по срокам была не критична, то и пофиг. Но если сроки важны, то надо учитывать.

Вроде больше граблей не припомню. Примерно к 20 февраля был готов практически финальный релиз.

Мы разместились в ПлэйМаркете, прошли модерацию и принялись штурмовать новый мир.

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

image image image

image image image

Ссылка на маркет: https://play.google.com/store/apps/details?id=ru.ikv.tips

На настоящий момент количество установок приближается к 1000. Вчера был рекорд = 94 установки.

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

Комментарии   

Roseanna
0 #21 Roseanna 07.06.2017 21:35
I'm really impressed with youг writing skillѕ aas well as with the layout
on your weblog. Is this a paid theme or did
you custߋmize it yourѕelf? Anyway keep up the niice quality writing,
it is rarе to seee a great blog like this onee these ⅾays.
Цитировать | Сообщить модератору
rs gp
0 #22 rs gp 09.06.2017 06:28
I loved aѕ much ass you will гeceivfe carried out right here.
The sketch is tasteful, your authored subject matter stylish.
nonetheless, you command gеt bought an impatience
over that you wiseh be delivering tthe following.
unsell unquestionably come furtһer formerly agaon as eⲭactly the same nearly a lot often inside cwse you shield this increase.
Цитировать | Сообщить модератору

Добавить комментарий


Защитный код
Обновить

Монетизация

Представьтесь