Приложение Маяки Эстонии

Коничива, уважаемый!

За время вашего отсутствия мы тут вон чего понаписали:

29 Декабря

С почином, уважаемый!

Вот и сдюжил я своё первое приложение-циферблат для Pebble. Да, какие-никакие циферблаты я делал и ранее, но там процент моего участия был сведён к минимуму. В данном же случае это вполне можно назвать полноценной разработкой. Началось всё с двух статей (первая и вторая), где подробно описывалось создание циферблата. Ещё ценнее было то, что к статьям прилагались исходники рабочего циферблата. Судя по статьям, ничего особо сложного в этом деле нет и я решил попробовать. Предварительно я связался с автором этих статей, человеком под ником tmnhy и предложил соавторство в новом проекте: мои идея и графика, его - код. Автор оказался человеком весьма коммуникабельным и согласился на моё предложение.

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

Всю разработку я вёл в специальном онлайн-сервисе от создателей часов, CloudPebble. Честно скажу, его функциональность не просто поразила меня, а прямо-таки приятно шокировала. Весь код пишется в редакторе с удобной подсветкой и автозаполнением. Вся графика добавляется через специальный менеджер ресурсов. Компилируется всё тоже в CloudPebble, при этом приложение мгновенно загружается в ваши часы - удобнее просто быть не может. Также можно скачать откомпилированный файл на компьютер или сделать скриншот циферблата. Насколько я понял, скриншот снимается реально на моих часах, а не на каком-то эмуляторе на сервере, так как если в последнюю секунду сменить на часах циферблат, то скриншот будет снят уже с него. Ещё одной приятностью CloudPebble является интеграция с GitHub, чем я тоже с радостью воспользовался.

Львиную долю времени у меня заняло рисование графики. Первыми я, конечно же, нарисовал сами часы. Оформление календаря тоже родилось достаточно быстро. По мере отрисовки графики, я сразу же добавлял её в проект и располагал где надо. Достаточно неожиданно для меня, циферблат приобрёл лёгкий налёт стимпанковости. Индикаторы батареи и соединения Bluetooth я уже намеренно делал в этом стиле. Только оформление блока погоды мне никак не давалось. На какое-то время я оставил его и отвлёкся на веб-интерфейс для настройки циферблата. По сути, это обычная веб-страница, адрес которой прописан в настройках циферблата и которая принимает и отдаёт назад в циферблат какие-то переменные. Страничка не отняла много времени, так как никакой адаптивности и мультибраузерности тут не требовалось. В целях оптимизации я минифицировал весь CSS и JS и включил их в код страницы. Таким образом, единственный подключаемый файл на этой странице - это jQuery.

Fight for the bytes!

Закончив с этим, я вернулся к блоку погоды. Дизайн для него вроде как сложился, я дорисовал графику, добавил в проект и... случилось непредвиденное: я превысил лимит памяти на часах. Циферблат без ошибок компилировался и загружался в часы, где мгновенно "падал". Надо было урезать графику. Начал я с "экономии на спичках" и срезал "резьбу" у индикатора батареи. Сейчас вместо этой "резьбы" показан индикатор Bluetooth, у которого буква B вылезла за экран. Визуально разницы с предыдущим вариантом вообще нет. Дальше было самое трудоёмкое - центральный блок с датой и секундами. Я убрал фоновую картинку с кругом и нарисовал его программно. Тут выяснился один нюанс: для рисовки круга задаются координаты центра и радиус, таким образом, его размер в пикселях всегда будет нечётным и расположить его строго по центру невозможно. Пришлось немного попередвигать всё остальное, так как старый круг имел чётный размер. По той же причине индикатор секунд уже не вписывался в круг и его тоже надо было перерисовывать. А это 60 спрайтов, если что... Впрочем, если уж перерисовывать, то нужно выжать из этого по максимуму. В итоге, всё, что реально не меняется в индикаторе секунд я перенёс на фоновую картинку, что позволило заметно уменьшить разрешение спрайта. Умножаем на 60 и получается существенная экономия, которая, в конечном итоге, и позволила мне вписаться в байтовый бюджет.

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

Короче, циферблат готов и опубликован:

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

Также у меня есть некоторые планы на будущее. Например, сейчас не очень удобно реализована настройка погоды: надо в интернете посмотреть ID своего города openweathermap.org и ввести его в поле в настройках. Не очень удобно. Есть официальный список, но там 74 тысячи городов. Засовывать их все в выпадающее меню - не вариант. Короче, надо думать... Ещё хотелось бы сделать возможность отображения календаря вместо погоды. Словом - громадьё моё.

Размышлял: Lentyay
1 Октября

... теперь ещё и фитнес-трекер!

Всего 2 недели прошло с момента выхода предыдущей прошивки Pebble, как подоспела новая. На этот раз часы получили функционал фитнес-трекера, для чего выпущены 3 специальных приложения, связанных с сервисами Jawbone, Misfit, Swim.com. Не сомневаюсь, что позднее список расширится. Также появилась удобная функция быстрого запуска приложений (по долгому нажатию).

Кроме того, производители часов снизили цену на Pebble. Скорее всего, это было сделано ради повышения конкурентоспособности с Motorola 360 и Apple Watch. Хотя последние, на мой взгляд, совершенно тут не конкуренты: в этих дорогущих часах нет ничего интересного и инновационного. Тем не менее, новое ценообразование Pebble поставило меня в тупик: $99 или €129 или £99 за пластиковую версию и $199 или €229 или £179 за Pebble Steel. С каких таких, цены в евро и фунтах почти вдвое дороже???

И последнее: в прошлый раз я шутил, каких ещё датчиков напихано в этих часах. Ответ нашёл тогда сразу же: только 3-осевой акселерометр и компас. То есть все датчики уже "разблокированы" для программистов и ничего нового не будет. Что же, чем богаты, тем и рады.

Размышлял: Lentyay
19 Сентября

... теперь ещё и компас!

Приятно началось пятничное утро: увидел в Фейсбуке, что вышла новая прошивка для моих часов Pebble. Главными её фишками являются шрифт смайликов "эмодзи" (его уже давно можно было добавить кастомными прошивками) и компас. Второе реально порадовало. Опять же, лишний раз снимаю шляпу перед создателями часов, которые нашпиговали их всем, чем можно, а теперь неспеша достают козыри из рукава. Напомню, что прошивка версии 2.0 "открыла" в часах шагомер. Такими темпами к версии 3.0 до WiFi мы, конечно, не доберёмся, но до гироскопа запросто.

Размышлял: Lentyay
10 Июля

Небольшой пост про Pebble и GoPro

Нашёл 2 занятные программки для этих часов. Первая называется просто и незамысловато - Pebble Music (платная - 1.09 евро). Это замена стандартному пеббловскому плееру, который имеет более богатый функционал, а главное - показывает обложку альбома на экране часов. Не знаю почему, но для меня это важно и я, например, всегда прописываю и добавляю обложку в тэги скачанных mp3. Выглядит это так:

Кроме того, я нашёл программку, которая позволяет управлять камерой GoPro с часов. На самом деле, процесс схож с одеванием брюк через голову: камера поддерживает только WiFi, часы - только bluetooth, следовательно телефон, как посредник неизбежен. На телефоне надо запустить официальное приложение для камеры, законнектить его с самой камерой и после этого запустить приложение на часах. Если пропадает соединение с камерой на телефоне, исчезает оно и на часах. Для обычной съёмки использовать пульт от камеры значительно удобнее. А вот копаться в настройках, особенно для неофита, через часы удобнее. Непосредственно по приложению: их два и можно запутаться. Одно называется Pebble for GoPro и у меня оно так и не смогло связаться с камерой, но я не очень-то и старался. Второе от создателей самих часов и зовётся GoPro by Pebble. Есть некоторое подозрение, что в итоге это одно и то же приложение, которое изначально разрабатывалось частным лицом, а затем перешло под крыло Pebble Technology Corp.

И, кстати, о камере GoPro HERO 3+. Использовать я её буду в основном на квадрокоптере, мне очень поможет её возможность одновременно снимать видео и интервальные фото. Как оно включается сам я не нашёл, но помогла очень хорошая статья, описывающая функционал и настройку камеры. Сам режим разочаровал: снятые фотографии плохонькие, так как по сути являются кадрами из видео.

И ещё немного статей о Pebble или GoPro:

Размышлял: Lentyay
14 Апреля

Стальная галька

Ещё в четверг получил долгожданные часы Pebble Steel. Уже успел побаловаться, так что спешу поделиться впечатлениями.

Так получилось, что Pebble уже давно переросли из гиковского гаджета в вещь культовую и массовую. Неоспоримым доказательством этому служит 400000 проданных экземпляров. К сожалению, что хорошо для гиков, не всегда хорошо остальным. Главным нареканием был "дешёвый" вид: простоватые по форме пластиковые часы с силиконовым ремешком не внушали уважения своим видом. Производители часов, уже не раз демонстрировавшие гибкость мышления и общую адекватность, в начале января анонсировали "представительскую" версию часов из нержавеющей стали. Цена была высоковата ($250 против $150 у пластиковой версии), но меня это не остановило.

Ожидание часов затянулось на 2 месяца, что несколько больше обещанных изначально 6-8 недель. Немного озадачил процесс оплаты. Как и в случае с первыми часами, платить можно было только с кредитки (никаких PayPal`ов). При оформлении предзаказа со счёта была снята необходимая сумма, через пару дней она была возвращена и потом уже через 2 месяца, перед отправкой часов, снята снова. Понятное дело, что проверка, но не понятно чего именно: если наличия счёта, то зачем снимать всю сумму, если наличия нужного количества денег, то зачем их возвращать, ведь за время ожидания часов баланс счёта может измениться неоднократно. Непонятно.

Как бы то ни было, часы я получил. С быстрой курьерской доставкой и таможенной пошлиной они обошлись мне немногим более 220 евро. Уже при распаковке стало ясно, что "представительность" поставлена во главу угла. Вместо хипстерской картонной коробки из вторсырья, Pebble Steel поставляются в чёрной шкатулке (тоже, правда, картонной), выполненной "под кожу" снаружи и "под бархат" изнутри. Уже неплохо. Внутри сами часы с кожаным ремешком на подушечке, провод для зарядки и дополнительный металлический ремешок. Я хотел сразу его поставить, так как кожаные не люблю. У меня никогда не было часов с кожаным ремешком, а те, что я смотрел у знакомых были жёсткими и совсем не привлекали. Тем не менее кожаный ремешок Pebble Steel поразил (да именно поразил, а не удивил) своей мягкостью и приятством. В итоге сейчас я хожу с ним и менять пока не планирую.

Внешний вид обсуждать бессмысленно, у всех вкусы разные. Мне, например, часы очень нравятся. Приятно и то, что они немного меньше пластикового родственника. Экран остался таким же, а вот рамка вокруг него уменьшилась. Единственным аппаратным отличием новой версии является светодиод, разными цветами информирующий об уведомлениях разного типа. Пока он показался мне совершенно ненужным: все уведомления и так сразу показываются на экране, а ситуация, когда я не прочитал одно из них, а уже пришло другое видится мне маловероятной. Правда тут надо учесть один важный момент: я не получаю на телефон (а соответственно и на часы) уведомлений от электронной почты и Фэйсбука (и так весь день за компьютером, так что незачем). Возможно, если подключить всё это, светодиод будет мигать, как новогодняя ёлка.

Провод для зарядки изменился незначительно: стал чуть длиннее, а на разъёме появилась выступающая кромка, которая не позволит присоединить его неправильно. Опять же интересный нюанс: коннектор зарядки магнитный, а нержавеющая сталь из которой выполнен корпус не магнитится (либо магнитится слабо, зависит от марки стали). Поэтому в корпусе часов вокруг разъёма вмонтирован магнитящийся ободок. Его практически не видно, надо приглядываться. Предположу, что он сделан из "нержавейки" с большим содержанием железа.

Одновременно с выходом Pebble Steel, была выпущена прошивка версии 2. Вкратце я писал о ней. Приложение для телефона тоже изменилось самым радикальным образом. Оно стало удобнее, а так же там появился внутренний маркет циферблатов и приложений.

В общем и целом, часами крайне доволен. Радует, что их производители не стоят на месте и продвигают как программную, так и аппаратную части. Предположу, что следующая версия часов может иметь спортивную направленность (пульсометр и т.д.).

Размышлял: Lentyay
Цитировать
в комментарии