Разработка приложений для носимых устройств: крэш-курс по решению 4 неизбежных проблем

Приём, на связи Эд Хорьков из КОД9. Мы разрабатываем приложения для носимых устройств с 2013 года. За это время вместе с одним клиентом прошли путь от первой версии продукта до предпродажной подготовки стартапа к сделке на $34 миллиона. В статье расскажем про неизбежные трудности в разработке wearable-приложений и объясним, как сами их решали.

Разработка приложений для носимых устройств: крэш-курс по решению 4 неизбежных проблем

В качестве примера используем наш опыт с PowerDot

Самый модный аксессуар в новом сезоне
Самый модный аксессуар в новом сезоне

PowerDot — это компания, которая производит портативный мышечный электростимулятор. Его закрепляют на теле и управляют им с помощью смартфона или планшета.

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

Девайс в действии. Фото с <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.powerdot.com%2F&postId=715325" rel="nofollow noreferrer noopener" target="_blank">сайта PowerDot</a>
Девайс в действии. Фото с сайта PowerDot

Мы сделали всю программную часть для PowerDot, в том числе приложения на iOS и Android, бэкенд и частично — софт внутри самого девайса. В 2021-м стартап купила компания Theragun, и мы помогали с предпродажной подготовкой.

Интерфейс нашего iOS-приложения для PowerDot
Интерфейс нашего iOS-приложения для PowerDot

Проблема 1. Нестабильное Bluetooth-подключение к смартфонам на Android

В Apple тщательно прорабатывают вопрос стыковки железа и софта. На iOS есть API, которое создано специально под Bluetooth-чип в айфонах, и позволяет приложению взаимодействовать с ним. Это отлаженная система, и результат в ней предсказуем, поэтому у айфонов редко бывают проблемы с Bluetooth.

На телефонах с Android такой стабильности нет. Эта система стоит на огромном количестве устройств, и невозможно предсказать, как в каждом конкретном случае будет работать Bluetooth.

Например, в Samsung не занимаются отладкой работы Bluetooth-чипа и софта так же тщательно, как в Apple. Если они выпускают новый телефон, то прогоняют несколько тысяч базовых тестов, а всё остальное — уже заботы разработчиков.

Как мы решали проблему. Когда мы делали приложения для PowerDot, быстро столкнулись с тем, что некоторые Android-смартфоны плохо подключались к девайсу. Чаще всего на соединение жаловались владельцы Samsung и Huawei.

Похожие трудности были и на некоторых поколениях айфонов, но их удалось быстро решить. С Android пришлось работать более системно. Мы зашли с двух сторон:

📱 Тестировали приложение на разных устройствах с Android, чтобы как можно раньше замечать проблемы. Мы посмотрели, на какие смартфоны приложение ставят чаще всего, и начали тщательно тестировать на них все версии перед выпуском.

📱 Переписали прошивку PowerDot для связи по Bluetooth, чтобы соединение было стабильным. Изначально клиент нанял нас, чтобы заниматься только мобильной разработкой. Но когда мы поняли, что проблемы с Bluetooth надо решать не в приложении, а на устройстве, то наняли embedded-разработчика.

О каждом из пунктов подробнее расскажем ниже.

💡 Совет

По нашему опыту полностью решить проблему с Bluetooth-соединением на Android не получится. Придётся потратить много времени и средств, но при этом всё равно постоянно идти на компромиссы.

Если у вас мало ресурсов, и вы начинаете разработку приложения для носимых устройств, советуем делать только версию для iOS. Если продукт окажется востребованным, вы сможете сделать версию для Android в будущем.

Проблема 2. Попытка исправить несовершенства на устройстве с помощью приложения

Доработка электроники — медленный и дорогой процесс. По нашему опыту с PowerDot производственный цикл новой версии девайса может занимать минимум 1–2 года.

Софт устройства тоже трудно обновлять. Если электроника не подключается к интернету, обновиться можно только по Bluetooth. А это большой кусок функциональности, который нужно поддерживать и тестировать.

Доработать приложение гораздо проще. Из-за этого возникает риск потратить слишком много ресурсов на мобильную разработку вместо того, чтобы усовершенствовать хард или софт самого носимого устройства. К тому же есть проблемы, которые либо вовсе не решаются на уровне приложения, либо решаются, но неэффективно.

Как мы решали проблему. Когда мы работали над качеством Bluetooth-соединения у PowerDot, то долго занимались только приложением. Тратили большое количество ресурсов, но при этом получали символический результат — количество жалоб пользователей на соединение уменьшалось с каждым релизом, но примерно на 10–15%.

Со временем мы поняли, что гораздо эффективнее будет решать проблему не на уровне приложения, а на уровне девайса. Обсудили это с клиентом, подключили к команде embedded-разработчика и переделали Bluetooth-прошивку в новой версии устройства. Таким образом все пользователи PowerDot 3-го поколения по умолчанию получили более стабильное качество соединения с Bluetooth на Android-смартфонах.

💡 Совет

В идеале команды мобильной и embedded-разработки должны работать вместе. Особенно если речь идёт о комплексных проблемах, например о Bluetooth-соединении. Тогда получится вовремя замечать, не тратится ли время мобильной команды на задачу, которой должны заниматься embedded-разработчики.

Проблема 3. Организация тестирования

Связь между носимым девайсом и телефоном нельзя эмулировать, поэтому для тестов нужны реальные смартфоны и девайсы разных поколений.

К тому же чистый Android — это редкость. Он стоит на смартфонах Google Pixel, на некоторых моделях Nokia, Asus, Xiaomi, Motorola, Sony и HTC. Но большинство производителей добавляют в систему что-то своё, например, Samsung — оболочку One UI или Xiaomi — оболочку MIUI. В итоге для тестов на Android нужен минимум десяток телефонов.

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

📱 У тестировщиков были все модели девайса с разными версиями прошивки. А ещё — парк телефонов на iOS и Android с разными версиями операционных систем.

Рабочее место тестировщика PowerDot
Рабочее место тестировщика PowerDot

β Мы всегда проверяли работу PowerDot с бета-версиями новых Android и iOS, чтобы как можно раньше заметить потенциальные проблемы.

👥 Мы организовали открытое бета-тестирование приложения. Люди могли скачать новую версию раньше остальных и рассказать о проблемах. Отзывы с бета-тестов попадали не в сторы, а в службу поддержки.

📱 Тестировщики и разработчики научились работать с программатором — устройством, которое позволяет перепрошивать PowerDot. Так они могли быстро вносить изменения в софт самого девайса и тестировать его работу.

Проблема 4. Сбор обратной связи от пользователей

Из-за того, что на Android обязательно возникнут проблемы с Bluetooth, негативные отзывы на wearable-приложения будут всегда. Плохая обратная связь есть даже на тех, кто давно на рынке — например, на приложение для фитнес-трекера FitBit.

Плохой отзыв на приложение FitBit. Пользователь жалуется на синхронизацию: «До последнего апдейта всё было нормально, а теперь устройство даже не подключается к телефону»
Плохой отзыв на приложение FitBit. Пользователь жалуется на синхронизацию: «До последнего апдейта всё было нормально, а теперь устройство даже не подключается к телефону»

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

Как мы решали проблему. Мы получали обратную связь по приложению для PowerDot из трёх каналов:

🗣 Негативные отзывы в сторах. Там редко описывали проблемы детально, поэтому в ответ на отзывы мы чаще всего оставляли почту службы поддержки. Предлагали связаться с ними, чтобы подробно всё обсудить.

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

🗣 Служба поддержки PowerDot. Для обработки обратной связи в компании использовали платформу Gorgias. Специалисты поддержки выясняли модель смартфона и версию ОС у автора жалобы, а потом отправляли список шагов, которые могли помочь устранить неисправности.

Если рекомендации не помогали, мы просили пользователя отправить больше информации о проблеме — например, скриншоты, запись экрана или видео работы стимулятора. Если информации хватало, чтобы понять причину, мы откладывали другие задачи и первым приоритетом исправляли проблему. А потом тестировали и релизили новую версию приложения.

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

А если ничего не помогало?

Тогда мы определяли место в приложении, где происходит проблема, добавляли туда логирование ошибок, собирали бета-версию и загружали её в Google Play Developer Console или App Store Testflight. Запускали закрытый бета-тест на одного пользователя: он устанавливал билд, повторял проблему и отправлял нам полученные логи. Как правило, этого хватало, чтобы докопаться до причины.

🗣 Пользовательский форум. Мы сделали веб-форум, куда можно зайти, не покидая приложения. Там пользователи делятся опытом и могут сообщать о проблемах с устройствами или приложением. Форум тоже служил важным источником обратной связи.

Кратко: как мы решали 4 главные проблемы в разработке wearable-приложений — на примере PowerDot

Нестабильное Bluetooth-подключение к смартфонам на Android. Мы дорабатывали приложение, тестировали его на популярных среди пользователей Android-смартфонах, а ещё переписали прошивку самого PowerDot для связи по Bluetooth.

Большинство проблем с подключением удалось решить. Но по нашему опыту избавиться от них на сто процентов невозможно: с Android всегда будут сложности, с этим надо мириться и искать компромиссы.

Попытка исправить несовершенства устройства через работу с приложением. Когда мы занимались Bluetooth, первое время уделяли внимание только мобильной разработке. Со временем поняли, что это не так эффективно, как решать проблему на самом устройстве. Обсудили это с клиентом, взяли в команду embedded-разработчика и взялись за прошивку девайса.

Важно, чтобы мобильные и embedded-разработчики работали вместе. Тогда вы быстро заметите, если первые тратят слишком много ресурсов на проблему, которую могут решить другие.

Организация тестирования. Связь между девайсом и телефоном нельзя эмулировать, поэтому для тестов нужны все устройства. Большинство производителей Android-смартфонов добавляют в систему что-то своё, поэтому придётся обзавестись телефонами разных брендов.

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

Сбор обратной связи. Плохие отзывы на wearable-приложения будут всегда — в том числе из-за проблем с Bluetooth-соединением на Android. Надо успевать за ними следить, оперативно отвечать и гасить недовольство пользователя всеми способами.

Мы получали обратную связь из трёх каналов: отзывы в сторах, служба поддержки PowerDot и пользовательский форум. Иногда, чтобы докопаться до причины проблемы, запускали закрытый бета-тест на одного пользователя: собирали для него билд с логированием ошибок и загружали в Google Play Developer Console или App Store Testflight.

Если интересно узнать больше о мобильной разработке и о том, как мы строим самую системную и клиентоориентированную студию (по нашему скромному мнению), буду рад видеть вас у себя в телеграме ↓

Делимся другими кейсами:

3434
6 комментариев

прикольная штука жаль все равно не заменяет полноценные тренировки

2

Всегда восхищался людьми, которые берутся за приложения по здоровью.

1

Девайс с токами ещё и приложение. А как же мы без электрофореза в районной поликлинике?

1

Комментарий недоступен

FitBit тоже дерьмовый вариант выбрал?

Выглядит немного странно