Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть
Мы в Purrweb умеем делать приложения, которые общаются с «железками» и закрывают бизнес-задачи. Ни один проект для Интернета вещей не обходится без приключений или нетипичных сценариев. Делимся несколькими прикольными кейсами в IoT из нашего опыта!
Дисклеймер: В тексте упоминается продукция, связанная с потреблением никотина. Мы не призываем вас курить и напоминаем, что курение любой никотиносодержащей продукции вредит вашему здоровью.
🔋 Зарядные станции EnerGO — проект 3 в 1 и трудности перевода
Что делали: дизайн и разработка трех приложений
EnerGO — это сервис по аренде пауэрбанков. Увидеть станции EnerGO можно по всей России, но больше всего их в Московском метрополитене. Сейчас только в Москве установлено больше 4 тыс. зарядных станций.
Изначально заказчик пришел в Purrweb за приложением, в котором пользователи могли бы бронировать пауэрбанки. Но, как это часто бывает с IoT, в процессе все переигралось.
В итоге мы работали над дизайном и разработкой целых трех приложений — для клиентов, техников и самих станций.
Пришлось выйти на китайцев. На этапе разработки приложения нужно было создать модуль работы со станцией. Станции закупили у сторонних производителей. В Китае. Соответственно, вся документация была на китайском, и нам предстояла дешифровка информации.
Конечно, мы воспользовались машинным переводом, но его качество было далеко от идеала — в тексте было много неточностей, которые отняли бы у нас десятки часов.
Так что решили зайти с другой стороны — связались с предыдущим подрядчиком, который когда-то работал над десктопной версией первого приложения. Разбираться с чужим кодом оказалось проще, чем полагаться только на корявый перевод документации. Так мы узнали много важного. Например, что станции подключаются к фиксированному IP и изменить его, по словам производителя, невозможно. Спойлер: это ограничение мы обошли, достучавшись до производителей :)
Учли расположение станций. Большинство станций стоит в метро, где действуют строгие правила безопасности: никаких открытых отсеков или деталей, которые можно легко вскрыть. Все должно быть закрыто наглухо. Поэтому для таких точек заказчик закупил станции с автоматической заслонкой, которая открывается только через приложение.
Мы прописали отдельное флоу для возврата устройств. Так в базе хранится история всех открытий и закрытий — невозможно засорить ячейку или оставить в ней взрывное устройство.
Отправили тимлида «в поля». Тестирование на реальном IoT устройстве — обязательный этап. В наш омский офис отправили мини-станцию для тестирования. Большую станцию для метро привезти не удалось — она слишком громоздкая. Решили иначе: ехать к станции самим. Так наш тимлид отправился проводить тестирование в Москву. Чего не сделаешь ради проекта :)
👉 Итог. Завершили разработку в срок, несмотря на существенное расширение скоупа и трудности перевода. Сейчас у приложения 9k+ отзывов в магазинах приложений и второе место по покрытию зарядными станциями.
Переходите в подробный кейс EnerGO, чтобы посмотреть больше скринов и деталей по дизайну и разработке.
🚭 Приложение Plonq для POD-систем — в обход сторов
Что делали: разработка
Plonq — производитель POD-систем, которые помогают держать курение под контролем. Устройство собирает данные о количестве и длительности затяжек, а затем передает их в приложение через Bluetooth.
Дизайн экранов уже был готов. Команда разработчиков у заказчика тоже была, но ей не хватало экспертизы в создании PWA-приложений. В Purrweb есть опыт работы с инхаус-командами и разработки PWA. Так что мы идеально подошли для этого проекта.
Пошли по пути PWA. Для ниши электронных сигарет обычное мобильное приложение не подойдет — его просто не пропустят в App Store и Google Play. Поэтому заказчик решил обойти ограничения и создать PWA. Это веб-приложение, которое выглядит и работает как нативное: его можно вынести на главный экран и запускать как обычно. Никаких касаний со сторами.
На Android все просто — можно настроить Web Bluetooth API и подключить POD-устройство к PWA. Однако с iOS возникли проблемы. Safari и другие браузеры на iOS не поддерживают этот протокол.
Исключать пользователей Apple было нельзя. Нужно было искать обходное решение. И мы его нашли 👉
Создали кастомный браузер для iOS. Как и все браузеры на iOS, он работает на WebKit, но имеет дополнительные функции для работы с протоколом BLE (Bluetooth Low Energy).
Мы реализовывали подобную идею впервые. Более того, разработка кастомного браузера с привязкой Bluetooth — не то, о чем пишут на каждой странице в GitHub. Дополнительной информации не было совсем, так что пришлось действовать методом проб и ошибок.
У нас все получилось — мы связали браузер и POD-систему, и даже нашли способы замаскировать проблемы, которые не решить из-за ограниченного бюджета. Как мы это выяснили? Конечно, при тестировании — нам прислали целый ящик одноразок :)
👉 Итог. Выпустили PWA через два месяца — больше времени, чем планировали изначально, так как приложение «нужно было вчера». Однако для проектов такой сложности это стандартная длительность.
Читайте полный текст кейса Plonq на нашем сайте.
🔫 Приложение для электрошокеров — когда от паяльника зависит успех проекта
Что делали: дизайн и разработка
К нам обратился производитель электрошокеров. Его устройства выпускаются под несколькими брендами. Задача — разработать несколько версий одного приложения. Каждому требовался свой UI, но пользовательский опыт должен был оставаться единым.
Приложение предназначено для экстренных случаев. Если к сотрудникам полиции или ЧОПа возникнут вопросы о превышении полномочий, в нем можно посмотреть историю использования шокера.
Неожиданно вспомнили, как паять. Для тестирования приложения нам нужен был шокер, но его нам не дали :) Вместо этого мы получили микросхему от устройства — ее оказалось достаточно 🙂
Микросхема — вещь хрупкая, особенно в условиях постоянного тестирования. Провода на микросхеме то и дело отсоединялись при подключении к компьютеру. Поэтому успех нашей разработки держался на… паяльнике. Проджект менеджер неустанно припаивал отсоединяющиеся провода, чтобы команда могла провести тесты. Школьные уроки труда пригодились :)
👉 Итог. Выпустили проект в срок. Смотрите на детальный кейс, где мы подробно рассказываем о UI/UX дизайне и разработке приложения для электрошокеров.
🗄 Vendify — умный холодильник с защитой от дурака
Что делали: дизайн и фронтенд разработка
Vendify — приложение для умных холодильников. Пользователи выбирают еду в приложении, холодильник разблокируется, и они забирают купленный товар. В отличие от обычных вендинговых машин, у покупателей есть возможность посмотреть на срок годности и внешний вид блюда вблизи, а не за стеклом.
Как и в Plonq, над Vendify работали в связке с инхаус-командой. Команда Vendify отвечала за бэкенд, а нам нужно было сделать дизайн и фронтенд.
Мы подстраховались. Для бесконтактной покупки важно продумать защиту от людей, которые могут случайно оставить холодильник открытым или попытаться что-то украсть. Да, та самая защита от «дурака».
Так, подсчет товаров в Vendify осуществляется при каждом закрытии холодильника — система сравнивает остаток до открытия двери и после закрытия. Если чего-то не хватает, у пользователя списываются деньги за покупки.
Мы также предусмотрели сценарий, если дверь холодильника сломается или ее подопрут. Для этого мы внедрили покупку по таймеру. Когда дверь разблокируется, начинается отсчёт — у пользователя есть 5 минут, чтобы выбрать товары. Если время выходит, а покупку пользователь не завершил, процесс обнуляется: холодильник завершает сделку аварийно, даже с открытой дверью, и фиксирует недостающие товары.
👉 Итог. Справились с дизайном и разработкой фронтенда за 6 недель.
Полный текст кейса Vendify читайте на нашем сайте
Разработка для IoT не обходится без приключений. За 550+ проектов у нас уже накопилась целая база знаний, чтобы преодолевать бутылочные горлышки. Но даже если готового решения из предыдущих проектов нет — стремимся нащупать выход в рамках срока и бюджета. Смотрите наше портфолио по IoT и другим нишам — там подробно рассказываем о наших кейсах и походе к работе.