Быстрая доставка в вашем городе

Бесплатно из России

8 800 555-22-69 показать

Москва

8 495 215-22-69 показать

Екатеринбург

8 800 100-20-45 показать

Нижний Новгород

8 831 213-61-12 показать

Пермь

8 902 802-63-37 показать

Казань

8 843 249-12-15 показать

Крым

8 978 200-60-79 показать

Наш блог

Приложение для EctoControl на Android. Как это было.)

Создание мобильного приложения для системы EctoControl на Android

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

Apps для Ectocontrol. Начало.

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

Зачем изобретать? Почему бы не воспользоваться имеющимися сервисами для сбора и отображения данных?

Во-первых, имеющиеся сервисы чем-то нас постоянно не устраивали. То визуальное структурирование информации не подходит, то протоколы обмена данными казались нам слишком малофункциональными, что-то, да не так. Во-вторых, были сомнения относительно живучести сервисов в долгосрочной перспективе: модификации протокола обмена могли привести к несовместимости с нашими системами, да и банальное отключение серверов поставило бы нас в долгий и весьма болезненный тупик. Ну и если уж совсем быть откровенными, хотелось сделать что-то по-настоящему свое, с плитками и всплывающими окнами.

Сервер ЛК был сделан, появились первые зарегистрированные пользователи. Какие же комментарии по работе нашего ЛК они сделали в первую очередь? Ну да, вы догадались:

Когда же будет приложение?

Тысячи клиентов после запуска личного кабинета в постоянном режиме нам звонили с вопросом: «А не вышло ли приложение EctoControl на Андроид?.», «А где скачать приложение для EctoControl на Iphone?», «А когда будет приложение?», «А почему вы его не делаете?».

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

Казалось, все достаточно просто: мы в приложении эмулируем запросы к API ЛК якобы от браузера, разбираем его ответы, полученные данные интерпретируем для пользователя в виде тех же иконок, плиток и графиков. Приложения теперь делают все кому ни лень, нам даже не нужно иметь такого программиста в штате. Кроме программиста, еще потребуется дизайнер, нарисовать внешний вид. Сейчас поставим им задачу и дело пойдет! Но все оказалось несколько сложнее.

Эскиз. Чертеж. Проект.

Самое первое, что пришлось сделать – это объяснить самим себе: что же мы хотим получить на самом деле? Копию ЛК? Отлично, так и скажем знакомым дизайнерам и программистам. Прошло больше месяца, получилось ЭТО. Мягко говоря, не очень.

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

Заранее не пытаемся мыслить в рамках особенностей интерфейсов, просто рисуем, как сможем, отражая основной функционал и взаимосвязь между элементами. Не боимся указать больше деталей, больше информации. Удалить всегда легко. Придумать сложнее.

Вроде все. Теперь любой поймет, что мы хотим. Ах да, прикладываем 45-ти страничное ТЗ на Личный кабинет с описанием структур данных, таблиц, расшифровкой всей терминологии, с образцами вывода информации в том же ЛК. Разберутся. Может быть.

Ну вот и все! Наша часть закончена. В конце концов, мы в большей мере железячники, а из программ у нас лучше всего получаются драйверы и обработчики прерывания. Все эти скрипты, фреймворки и прочие фотошопы доверим знающим людям. Уж они-то не подведут.

Аутсорс. Бессмысленный и беспощадный.

Поиски исполнителей решили вести на фрилансерских сайтах. Что удивительно, но с услугами дизайнеров особых проблем не возникло. Вопрос с желаемым внешним видом интерфейса и цветовой гаммой решился просто: из всех дизайном, любезно предоставленных Яндекс-картинками, были выбраны наиболее интересные и представлены дизайнеру к анализу. Вот некоторые из них:

Переварив скриншоты, дизайнер выдает следующее:

После утверждения получаем уже целый набор макетов:

Приложение практически готово! Осталось быстро сделать код и можно публиковать. Но проблемы возникли там, где их никто не ожидал. После размещения задачи мы стали принимать отклики людей, готовых взяться за работу. Приведем четыре типичных диалога, повторявшихся от соискателей с завидной регулярностью . ES – Эктострой , FL – фрилансер.

Шаблон 1.
ES – Здравствуйте, вы откликались на нашу работу, вот ссылка с описанием. Чем сможете нам помочь?
FL – Ничем.
ES – Тогда зачем вы откликались на проект?
(FL удалил ES из списка контактов)

Шаблон 2.
ES – Здравствуйте, вы откликались на нашу работу, вот ссылка с описанием. Чем сможете нам помочь?
FL – Я готов взяться! Прямо сейчас!
ES – Но мы толком не обсудили ТЗ, все ли вы верно поняли, какие будут сроки, оплата…
FL – Это будет стоить (недорого) рублей! Аванс 50% и я начинаю!
ES – Но мы не можем авансировать работу вот просто так. Нужно обговорить проект целиком, понять, сможем ли мы его сделать вместе.
FL – Вы ничего не понимаете в программировании, вы мне не доверяете, вы такие же, как все.
(FL удалил ES из списка контактов)

Шаблон 3.
ES – Здравствуйте, вы откликались на нашу работу, вот ссылка с описанием. Чем сможете нам помочь?
FL – Здравствуйте. Я ознакомился с ТЗ, работу сделаю за такое-то время, будет использовать фреймворк такой-то, сервер насторим так-то, результаты в процессе посмотрите вот так, я раньше делал подобные проекты, вот тут, тут и тут посмотрите. Стоить будет (адекватно) рублей.
ES – Отлично! Давайте тогда встретимся, обсудим детали и вперед!
FL – Я живу далеко от вас, кто мне оплатит самолет?
ES – Мы сами прилетим. Завтра устроит?
FL – Завтра я не могу, и вообще уезжаю на лето к бабушке, давайте в чате все решим.
ES – Давайте созвонимся в чате сейчас!
FL – Я не разговариваю голосом. Только пишу в чате. Так удобнее. Ну в крайнем случае вы позвоните, а я все равно буду отвечать текстом в чате. И никаких личных встреч. Никогда. Это утомляет.
ES – Чат – это неоперативно, неинформативно. Как единственное средство связи он нам неудобен.
FL – Вы ничего не понимаете в программировании, вы мне не доверяете, вы такие же, как все.
(FL удалил ES из списка контактов).

Шаблон 4.
ES – Здравствуйте, вы откликались на нашу работу, вот ссылка с описанием. Чем сможете нам помочь?
FL – Здравствуйте! Наш технический департамент обработал ваше ТЗ и мы с радостью сообщаем, что после прояснения ряда технических вопросов наш филиал в Лос-Анжелесе с удовольствием сделает это приложение. Стоимость разработки составит от (цена маленького самолета) до (цена большого самолета). Вы готовы?
(ES удалил FL из списка контактов).

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

Когда же все круги ада были пройдены и исполнитель найден, мы сформулировали для себя основные требования к кандидату: только личные встречи (как минимум – периодические телефонные переговоры), только тщательная проработка ТЗ, только согласования плана-графика работ, только каждодневный контроль выполнения. Вне зависимости от заявленной суммы, качество сделанной работы всецело будет завесить от личных качеств кандидата и его команды.

Создание приложения.

Сначала на основе дизайнерских макетов делаем верстку приложения, расставляя все графические элементы интерфейса по своим местам, затем добавляем весь необходимый программный функционал. Начинаем с версии под Android, его легче публиковать. После публикации приложения в Google Play перенесем весь имеющийся функционал в iOS-версию, не забывая о привычных для яблочников элементах интерфейса.


И снова сталкиваемся с очередной проблемой: в процессе доработок сайта ЛК меняется код сайта, формат обмена данными между javascript страниц браузера и сервера. Мы привыкли так легко и непринужденно это делать, что совершенно не подумали над тем, что любое изменения ЛК чревато неработоспособностью приложений, которые пытаются имитировать тот же браузер. И тогда было принято решение о создании API, позволяющего обращаться к серверу ЛК напрямую в узаконенном нами формате. API не только разделил понятия фронтенда и бэкенда для нашего сайта и мобильных приложений, но и позволил нашим пользователям в перспективе писать свои приложения для визуализации данных и управления объектами! Выглядит это так:


Публикация.

Публикация в Google Play прошла без особых заминок. Нужно всего лишь было заполнить формы, поставить чекбокс тут, тут, и вот тут, где галочка, оплатить 25$ в счет развития Андроида и все, через 3 часа скачивайте и пользуйтесь.


Установить из Google Play

С App Store все было сложнее. Куча вопросов с публикацией, который мы очень долго решали и решили). Ну это уже совсем другая история!

Заключение.

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

Подпишись
на рассылку

Подпишитесь на обновления блога, чтобы не пропускать полезные статьи

Поиск по тегам:

Оставить комментарий

* поля обязательны для заполнения
Капча
0 комментариев