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