У клиента было устаревшее мобильное приложение под iOS и Android. С помощью него пользователи управляют системами «умного дома»: освещением, отоплением, оборудованием в сауне и бассейне. Через него можно получать данные датчиков и видеокамер, чтобы отслеживать обстановку.
Клиент просил повысить его производительность и расширить функционал.
Мы провели оценку и поняли, что лучше написать новое приложение. Разработали его с нуля на новой серверной платформе под две операционные системы: iOS и Android.
Панель управления удобная и понятная. Пользователь может устанавливать время работы нагревательных приборов, настраивать температуру, влажность и другие параметры.
Он может задавать сценарий работы — одновременное включение приборов отопления, освещения и пр. Сценарий запускается одним нажатием кнопки.
Разработка длилась 7 месяцев. Сначала составили с заказчиком техническое задание, в котором расписали новую архитектуру, структуру базы данных, необходимый функционал и дизайн. Затем занялись непосредственно разработкой.
Тестировали приложение с помощью тестового стенда. Он изображал несколько разных устройств, которые должны подключиться к приложению. Его установили на свои гаджеты с разными операционными системами.
Сложнее всего было перенести базу клиентов на новое приложение. Требовалось синхронизировать действия с администраторами, чтобы перенести домены. А также объяснить пользователям, как перейти на новое приложение. Нужно было сделать так, чтобы не возникло ситуации, когда старое уже не работает, а новое недоступно.
Отключили авторизацию через «Яндекс», заменили на вход по номеру телефона.
1. Настроили ручное обновление приложений на маркетах.
2. Настроили серверное окружение, чтобы модераторы маркетов смогли проверить функционал приложения.
3. Подождали, пока администратор перенесет домены на новый сервер.
4. Выложили релиз приложений в App Store и Google Play.
5. Сообщили об этом коллегам из Москвы.
6. Они сделали рассылку пользователям о том, что нужно скачать новое приложение или обновить старое.
В итоге пользователи плавно перешли на новое приложение. Проблем не возникло.
«Когда мы вышли на «боевые» нагрузки, то поняли, что сервер скоро сгорит. Были переговоры с заказчиком — он немного его усилил. Стало чуть-чуть лучше, но основную оптимизацию нам пришлось делать на своей стороне: в обработке сообщений от оборудования. Мы нашли и воспроизвели в коде условия, при которых наступает перерасход мощности при одновременном подключении более 30 устройств. Привлекли технического директора, чтобы настроить новую систему мониторинга нагрузок».
Разработали приложение под две платформы и выложили его в App Store и Google Play. Пользователи получили уведомление о том, что появилась новая версия приложения, и успешно в него перешли.