Beeline apple watch: «Мой Билайн» на Apple Watch: работает как часы!

как ломались копья / Хабр

Первой и основной проблемой, с которой мы столкнулись при разработке приложения под Apple Watch, было отсутствие тестовых устройств. Значительная часть заморочек, о которых пойдет речь в этой статье, напрямую связана с этим фактом. Ну а потом мы дорвались до часов и снова плясали с бубнами, чтобы приложение корректно заработало, да и просто попало в стор.

Идея, дизайн и начало разработки


Разбираться с Apple Watch мы начали в ноябре 2014 года, как только появился в доступе WatchKit SDK. Досконально изучили гайдлайны и всю информацию, которая была доступна в сети. На момент непосредственного старта разработки приложения «Мой Билайн» под Apple Watch у нас уже был сложившийся набор идей и четкое понимание того, что мы хотим получить на выходе. На этом проекте не проводилось потребительских исследований, но на помощь пришел собственный пользовательский опыт с wearables — многие сотрудники Redmadrobot давно пользовались Pebble, и мы нарисовали под эти часы не один прототип, экспериментировали и с отрисовкой концептов под Android Wear. Для Apple Watch мы продумали пользовательские сценарии и то, как все это могло бы интегрироваться с основным iOS-приложением. Сценарий смапили на SDK «Билайна» и на SDK Apple Watch, после чего стало понятно, что делать нужно, а что не следует или нельзя реализовать в принципе.


Артур Сахаров ( mc_murphy ), технический директор

«Мы предложили “Билайну” это приложение не как набор элементов, а как цельный продукт для часов. И “Билайн” дал нам возможность его реализовать. То есть не было типичной для разработки обычных приложений процедуры согласования с приемкой каждого отдельного экрана. Это позволило подготовиться к выходу часов заблаговременно. На девелопмент ушло две недели, а от идеи до появления приложения в сторе прошло всего два месяца. Мы сделали все, что хотели и что было возможно: само приложение, нотификации, Glances».


Дмитрий Панкрушев, ОАО «ВымпелКом»

«Мы стремились дать возможность нашим клиентам пользоваться приложением “Мой Билайн” и на этом гиковском девайсе тоже, поэтому первыми среди телеком-компаний реализовали приложение под Apple Watch. В ближайших двух релизах мы намерены завершить разработку Core-функциональности приложения. Основные усилия по развитию будут направлены на улучшение UI/UX и повышение стабильности. Ну и, конечно, будем добавлять новую функциональность — тут мы следим за комментариями пользователей. В целом наше внимание направлено на развитие всей экосистемы приложений “Билайн”».

Функционал приложения

  • Экран с подсказкой для авторизации
  • Баланс и «аккумуляторы» (звонки, смс и интернет-трафик)
  • Обновление данных пользователем по жесту force touch
  • Glance (виджет) с последними данными из приложения
  • Трансляция push из приложения на телефоне на часы

Катя Сотова ( lost_in_purple ), дизайнер

«Изучение гайдлайнов дало понимание, что Apple Watch нельзя рассматривать как независимый девайс — он всегда идет в паре с телефоном и является его дополнением, вторым дисплеем. Мы начали думать, что бы на часах хотел увидеть абонент “Билайна”. Самую актуальную информацию, которая приходит на телефон в виде уведомлений и сообщений. Баланс, остаток SMS, минут разговора и интернет-трафика в соответствии с тарифом. Эту информацию можно получить, набрав длинный код из сочетания символов, либо залезть в обычное приложение со смартфона. То есть это небыстрый процесс, который мы хотели ускорить. В этом смысле Apple Watch оказались крайне подходящим инструментом.

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

Из двух типов навигации мы выбрали постраничную, поскольку не собирались и не собираемся добавлять в приложение слишком много информации. Самым сложным было продумывание взаимодействия пользователя с zero screens, экранами для нештатных ситуаций. Например, если у человека на телефоне не активирован автологин, часы просят его авторизоваться в телефоне; бывает, что отсутствует соединение с сетью; а иногда данные просто долго подгружаются. Надо было как-то дать понять пользователю, что приложение “думает”, а не зависло. Для этого мы применили анимацию — мигает огонек, значит данные подгружаются, все в порядке, ничего не зависло.

Мы использовали фирменные цвета и шрифты заказчика, а графику делали, ориентируясь на гайдланы, которые в свое время подготовили для экосистемы приложений “Билайн”. Создание первоначального варианта дизайна заняло меньше недели, после этого вносились только незначительные изменения».


Однако без сложностей все же не обошлось. В предыдущей статье о разработке под Apple Watch мы уже подробно рассказывали о различных системных ограничениях. Особенностях работы с группами вместо слоев; ухищрениях, которые приходилось придумывать на ходу, чтобы реализовать динамическое увеличение количества страниц при использовании PageControl; сложностях с созданием анимации. Но этим дело не ограничилось.

Симулятор и тестирование на часах


В условиях отсутствия тестовых устройств мы использовали симулятор. Но, во-первых, на симуляторе можно было протестировать далеко не все сценарии, во-вторых, порой он откровенно глючил. Например, плохо работала фича с картинками разных размеров под разные модификации часов. А режим handoff в принципе невозможно нормально отработать на симуляторе. В то время как Apple Watch задуманы для использования на ходу, симулятор совершенно не позволяет этого ощутить, а напротив, создает впечатление, что ты смотришь на часы постоянно. Появляется ложное чувство, что часы — это еще один экран телефона.

Илья Горшков, руководитель команды QA

«В отсутствие реальных тестовых устройств для сетапа тестирования потребовалась помощь со стороны разработчиков: они дали нам доступ к исходному коду проекта и установили среду разработки Xcode. Проверить все сценарии на симуляторе было невозможно, но основные мы покрыли. Стало ясно, что приложение работоспособно. Приложение проверялось для разных типов аккаунтов клиентов “Билайна”: предоплатные, постоплатные, бизнес. Было важно, чтобы функционал по конкретному аккаунту в основном приложении точно соответствовал тому, что на часах».

Обновление данных


Два года назад в iOS появилась возможность обновлять данные в приложении, когда само оно не запущено. Мы использовали ее в отчужденных от основного приложения «Мой Билайн» системных виджетах. Тогда достаточно было сделать так, чтобы приложение доставало специфические данные и токены из защищенного хранилища только в тот момент, когда пользователь разблокировал телефон. Часы же должны получать обновленные данные и тогда, когда телефон находится в кармане. Во время тестирования на настоящих часах стало ясно, что данные на них при заблокированном телефоне не обновляются. Очевидные решения проблемы не сработали, но мы выкрутились.

Григорий Матвиевич ( fountainhead ), iOS-разработчик

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

У всей информации, которая хранится в keychain, есть специальные атрибуты хранения. Некоторые атрибуты предполагают, что при заблокированном телефоне информация недоступна. Для доступа к этому keychain мы пользуемся одной библиотекой, которая упрощает этот доступ. Мы начали менять атрибуты хранения на более низкие, чтобы информация была доступна не только на заблокированном телефоне. Но это не помогло.

Необходимо было проверить, с какими атрибутами токен хранится в keychain, и когда он реально доступен. Был взят джейлбрейкнутый телефон, в интернете найдена специальная программка, которая дампит keychain, и использована специальная утилита для доступа к файловой системе. Таким образом мы выясняли, с какими атрибутами сохранен этот токен, меняли атрибуты и проверяли, применились ли изменения. Как оказалось, проблема была с библиотекой, которая оборачивает доступ. Оказалось, что у токена насильно устанавливался атрибут хранения “только на разблокированном девайсе”, и это затрагивает всех пользователей, у которых телефоны защищены Touch ID или паролем. При смене атрибута хранения на “доступен после первой разблокировки” и ремонта внешней библиотеки проблема была решена».

Работа с данными и интеграция с основным приложением


Возможности модификации сервера на стороне клиента у нас не было, поэтому уйти от зависимости от сервера “Билайна” и скорости интернета было нельзя. Процесс соединения данных — не то чтобы сложный, но долгий, и, конечно, он дополнительно усложнялся отладкой на симуляторе. Это было связано с тем, что основное приложение на iPhone и WatchKit Extension — два разных независимых процесса со своей «песочницей».


Михаил Московченко, iOS-teamlead

«Интеграция подразумевала взаимодействие со стандартным flow, который идет в основном приложении: авторизация, получение финансовой информации требовали правильной реализации для часов. Главной трудностью было “научить” часы общаться с основным приложением даже когда оно не запущено. В основном приложении все происходит в форграунде — то, что запускается, видно на экране, все процессы происходят в тот момент, когда пользователь с ними взаимодействует. И все было настроено таким образом, чтобы экраны друг друга меняли поочередно.

Для часов был выделен отдельный процесс. Изначально мы использовали сценарий, сделанный специально для “Моего Билайна”, но он давал побочный эффект. Приложение оказывалось запущенным в бэкграунде, и когда в этот момент человек запускал его на телефоне, оно уже было активно. При этом мог, например, отображаться некорректный экран. Главный экран не появлялся, потому что процесс авторизации не был завершен. Чтобы этого избежать, мы решили разделить запуск приложения и обновление на часах и сделали отдельный набор методов для авторизации. Проверка оферты, тип абонента, заблокирован ли аккаунт, получение самого токена. То есть мы выделили отдельно все, что входит в авторизацию».

Выкладка в стор и review


Когда мы отправляли приложение в стор, Apple еще не задокументировала множество нюансов относительно выкладки аппов под часы. Тем не менее, вышла новая версия среды разработки Xcode, которая требовала проверки всех сертификатов, в том числе и для часов.

Михаил Московченко, iOS-teamlead

«Так как часы являются расширением основного приложения, для них был создан один сертификат, который должен был работать совершенно обычно, как и с любым виджетом. Но оказалось, что это совершенно не так, и iTunes Connect при попытке залить приложение туда выдавал непонятные рандомные ошибки. Пришлось генерировать дополнительные сертификаты на developer.apple.com, получать дополнительные пермишены от Apple — дополнительный сертификат непосредственно для часов. Только после этого приложение было приняты в стор на review. Естественно, все эти нюансы нигде не описывались. Теперь все виджеты, Watchkit Extension и основное приложение должны иметь одну и ту же версию. Это также ключевой момент, без которого обновления не принимаются на review. Нельзя использовать изображение часов, слово Apple или словосочетание Apple Watch. В первый раз мы получили reject, потому что в превью картинок, которые появлялись при запуске, было изображение часов».

Итог


Многих трудностей, конечно, можно было избежать, если бы мы не спешили с выкладкой приложения в стор и дождались массовой продажи часов. Но мы спешили 🙂 И выпустили первое российское телеком-приложение под Apple Watch.

В первой версии умных часов Apple позволила сторонним разработчикам создавать аппы, которые являются расширением основного iOS-приложения. Разработку исключительно под Apple Watch обещают сделать в будущем.

Тогда могут появиться новые оригинальные сценарии взаимодействия с часами, а пока нам остается развивать приложения в рамках тех ограниченных возможностей, которые есть у разработчиков — и у пользователей. Ближайший план — возможность оплаты мобильного интернета прямо с часов в следующем обновлении.

Beeline Velo 2 — Первые впечатления

Beeline — небольшая компания, базирующаяся в Великобритании, которая создала устройства, облегчающие навигацию во время езды на велосипеде или мотоцикле. Коллега мой приобрел Билайн Мото и хорошо о нем отзывался, еще предложили Вело для велопрогулок. На прошлой неделе (7 июня 2022 года) в продажу поступила вторая версия их устройства Velo.

На момент написания (18 июня 2022 г.) устройство можно было приобрести только непосредственно у Билайн по цене 79 фунтов стерлингов.0,99, включая доставку. Я заказал один в день релиза и получил его сегодня — я сегодня прошел короткий цикл и хотел поделиться своими первыми впечатлениями.

Возможно, я напишу более подробный отзыв, когда совершу больше поездок, но хотел бы указать, почему я купил это устройство. На протяжении многих лет у меня были различные устройства Garmin, однако сегодня я наслаждаюсь простотой использования только своих Apple Watch. Часы делают все, что мне нужно, и делают это очень хорошо, единственная область, в которой им не хватает, — это навигация — они могут выполнять навигацию, но я не хочу проверять свое запястье при каждом повороте. Я думаю, что Beeline удовлетворит мои потребности в навигации, и я продолжу использовать свои часы для отслеживания активности.

Устройство поставляется в довольно небольшой коробке, как видите, в коробке есть;

  • Билайн Вело 2
  • Универсальное крепление на руль
  • Зарядный кабель USB-C
  • Руководство пользователя

Мне потребовалось несколько минут, чтобы включить Velo 2, загрузить приложение Билайн из App Store и установить соединение. Все прошло гладко, без проблем, я использую Beeline с Apple iPhone 13 Pro.

В мобильном приложении я выбрал пункт назначения с несколькими маршрутами, которые я хорошо знаю, и мне потребовалось всего несколько секунд, чтобы рассчитать три маршрута, которые вы видите на скриншоте — быстрый, сбалансированный и тихий. Быстрый маршрут оказался таким, как и ожидалось, и я сразу же заметил оранжевые линии, обозначающие дороги с отрицательным рейтингом. Тихий маршрут был тем, который я бы использовал сам с одним отличием, я смог компенсировать это отличие, добавив в план дополнительную остановку/местоположение, которое идеально скорректировало его, но предложенный маршрут был более чем подходящим.

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

В дополнение к использованию приложения Beeline для планирования маршрутов, о котором я расскажу подробнее, вы также можете импортировать файл GPX. Если вы не знаете, файл GPX — это файл, в котором хранятся путевые точки и координаты GPS, которые можно использовать для планирования маршрута. Я лично создаю маршруты в Strava, которые экспортируются в виде GPX (многие другие также любят RideWithGPS и Garmin, и это лишь некоторые из них). Я скачал файл GPX со Strava и импортировал его в приложение Beeline. Я проверил маршрут, который приложение Билайн проложило на основе файла GPX, и он был идеальным. Я с нетерпением жду возможности прокатиться по одному из этих маршрутов и посмотреть, как он работает.

Примечание. При импорте маршрутов и использовании Velo 2 у вас есть возможность использовать «Режим компаса», который мне еще предстоит изучить, лично мне это не кажется привлекательным.

Что касается Strava, то Velo 2 совместим со Strava и может автоматически вытягивать маршруты, что значительно упрощает описанный ранее процесс, а также выгружает данные из вашего цикла и создает активность. Я решил не использовать это, так как использую Apple Watch для этой цели и не возражаю против обработки файла GPX.

На корпусе устройства нет кнопок, дисплей сам перемещается в том разделе, на который вы нажимаете. Во время езды вы можете нажать красную или зеленую кнопку, чтобы указать хорошую или плохую дорогу на маршруте. Кнопки вверх и вниз изменяют экран, на котором вы находитесь, а на некоторых экранах красные или зеленые кнопки настраивают или выбирают значения. На фотографиях ниже я показал стандартный экран навигации, который мне и многим другим понравится больше всего. Двигаясь вверх/вниз, вы можете просматривать такие данные, как текущая скорость, пройденное расстояние, расстояние, которое осталось пройти с расчетным временем прибытия, а также иметь возможность просматривать емкость аккумулятора Velo 2 и подключенного телефона. Яркость экрана тоже можно регулировать.

В целом мои первые впечатления очень положительные, мне понравился короткий цикл сегодня утром, и я с нетерпением жду продолжения.

У меня есть один минус, не связанный с этим устройством, однако, как было сказано в начале, Билайн предлагает Вело и Мото. Мое личное мнение заключается в том, что для обоих целей должно быть одно устройство — мне бы хотелось, чтобы устройство покрывало и мой велосипед, и мотоцикл. Я собираюсь попробовать Velo 2 для езды на мотоцикле (в приложении Билайн вы можете указать использование велосипеда или мотоцикла) и посмотреть, работает ли он. Если это не сработает, я бы серьезно подумал о Beeline Moto, если и когда стиль навигации будет похож на Velo 2.

Поклонники Apple устремляются к крупнейшему в истории запуску iPhone 7. iPhone 7 и Apple Watch Series 2 ничем не отличались в пятницу.

Автор IANS

Лонг-Айленд

Энтузиасты Apple, как известно, толпятся в фирменных магазинах и выстраиваются в длинные очереди за несколько часов до любого крупного запуска и сцены в розничной торговле. магазины по всей территории США с наличием потрясающих iPhone 7 и Apple Watch Series 2 не стали исключением в пятницу.

Ровно в 8 утра, среди аплодисментов сотрудников Apple и приветствий поклонников iPhone 7 солнечным утром, страстное желание схватиться за телефон было видно с самого начала.

Чтобы получить iPhone 7, нужно было сначала зарегистрироваться, а затем стать частью растущей очереди.

Читайте также

Сцена в Apple Store на Рузвельт-Филд, Гарден-Сити на Лонг-Айленде была похожа на флагманские магазины на Пятой авеню возле Таймс-сквер, Apple Grand Central и Apple SoHo, которые были забиты длинными очередями.

«Я здесь, чтобы купить вариант iPhone 7 128 ГБ для моей жены. А что может быть лучше цвета розового золота, чтобы подарить своей жене», — сказал IANS американец индийского происхождения Суриндер Сингх, терпеливо ожидая своей очереди в Apple Store в Гарден-Сити.

«Несмотря на то, что я любитель Samsung, моя жена — ярая поклонница Apple, поэтому имеет смысл купить для нее iPhone 7 в первый же день его запуска», — добавил Сингх.

В пятницу iPhone 7 был запущен в 28 странах — это самый крупный запуск устройства Apple.

«Мы очень взволнованы. Атмосфера потрясающая, отклик огромный», — сказал Эндрюс, работающий в Apple Store в Гарден-Сити.

Он поступит в продажу в Индии с 7 октября. iPhone 7 и iPhone 7 Plus будут доступны в серебристом, золотом, розовом золоте и новом черном цвете (угольно-черный) с объемом памяти 32, 128 и 256 ГБ. в размере 60 000 рупий.

iPhone 7 отличается революционной новой системой камер, самым продолжительным временем автономной работы среди iPhone, а также водо- и пыленепроницаемостью.

«Apple Watch Series 2», идеальное устройство для здорового образа жизни, предлагает водонепроницаемость на глубине до 50 метров, GPS, вдвое более яркий дисплей, двухъядерный процессор и watchOS 3. Часы Series 2’ будут водонепроницаемы до 50 метров, а динамик будет буквально отталкивать воду, как поршень.

Устройство будет оснащено двухъядерным процессором с графическим процессором, который работает до двух раз быстрее.

По мнению отраслевых аналитиков, поскольку Наваратри — благоприятное время для покупок — начинается 1 октября, а Дивали приходится на 30 октября, это стратегическое время для Apple, чтобы зарегистрировать продажи супер iPhone 7 в Индии.

«У Apple будет три-четыре недели яркого праздничного настроения. В прошлом году Apple выпустила модели iPhone 16 октября. В этом году у компании будет больше времени, чтобы зафиксировать более высокие показатели продаж», — заявил ранее IANS Тарун Патхак, старший аналитик по мобильным устройствам и экосистемам в Counterpoint Research из Нью-Дели. .

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

scroll to top