Ситуация
Наш клиент – adidas – один из самых известных в мире производителей спортивной одежды и оборудования как для спортсменов-любителей, так и для профессионалов.
Компания активно развивает инновационные направления, такие, например, как производство не имеющих аналогов устройств adidas miCoach, позволяющих отслеживать физическую активность и вести ее учет, а также разработка сопроводительного программного обеспечения.
Семейство продуктов adidas miCoach включает в себя несколько гаджетов: Speed Cell, Pacer Bundle, и Heart Rate Monitor. Данные устройства собирают различную статистику о физической активности пользователя, включая скорость передвижения, количество шагов и потраченных калорий, время тренировки, пройденное расстояние и пульс. Устройства подключаются к PC/Mac, а также к Ipod/iPhone для передачи собранных данных на портал miCoach.com. Бэк-энд веб-решения хранит данные, анализирует результаты и позволяет составлять индивидуальные планы тренировок, способствуя достижению поставленных перед собой целей. Другими словами, пользователи получают в свое распоряжение профессионального виртуального тренера.
Изначально десктопное приложение для управления устройствами miCoach было разработано сторонним поставщиком ПО. Дизайн оставлял желать лучшего, в то время как само приложение было неудобным в использовании и обладало низкой производительностью ввиду определенных технологических ограничений.
adidas нуждался в разработке комплексного решения, которое отвечало бы современным технологическим требованиям и ожиданиям конечных пользователей. Руководство adidas приняло решение доработать существующее десктопное приложение, упростив процесс синхронизации устройств с веб-порталом, что, в конечном счете, должно было повысить объем продаж устройств miCoach. Для этих целей заказчик обратился к Itransition – компании с богатым опытом работы в сфере разработки ПО для смарт-гаджетов.
Трудности
Одним из наиболее проблемных аспектов работы с унаследованным приложением было отсутствие какой-либо сопроводительной документации. Команда Itransition должна была изучить исходный код существующего десктопного приложения, чтобы понять механизмы функционального взаимодействия его составных компонентов. Мы декомпилировали Java-приложение и проанализировали его бизнес-логику, а также алгоритмы низкоуровневой коммуникации.